All notable changes to the Cleanvoice Python SDK will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Error messages now keep backend
messageandcodevalues when the API sends nested error objects. - Result parsing now handles more real backend payloads, including failure dicts and empty summary fallback values.
- Async upload and download errors now raise SDK exceptions the same way sync calls do.
- Downloads now use a temp file and only replace the final file on success.
- Video auto-detection now works for
pathlib.Pathand otheros.PathLikeinputs. - Upload filenames are URL-encoded before the SDK asks for a signed upload URL.
- Remote URLs are limited to
httpandhttps, and local upload validation now matches the API.
check_auth()now documents and types the current/v1/accountresponse shape (creditandmeta).ProcessingConfig.export_formatnow acceptsaacandopus.
social_content: types allowSocialContentor[](ProcessResult,EditResult).
- Bumped package metadata, the exported SDK version, and the HTTP user agent to
2.0.3.
- Accepted additional backend worker phase statuses such as
PREPROCESSING,CLASSIFICATION,EDITING, andEXPORTwhen pollingGET /edits/{id}. - Prevented
RetrieveEditResponsevalidation failures duringprocess(),get_edit(), andprocess_and_download()when the API returns intermediate worker states.
- Added regression coverage for polling through backend phase statuses before
SUCCESS. - Verified the hotfix against the live API with local test media, including cases that surfaced
CLASSIFICATIONandEDITING.
AsyncCleanvoiceandAsyncApiClientfor async processing and polling.Cleanvoice.from_env()andAsyncCleanvoice.from_env()convenience constructors.- Result helpers such as
result.audio.download(...)andawait result.audio.download_async(...).
process()andcreate_edit()now accept direct keyword options likenormalize=Trueandstudio_sound=True.process()can save the finished audio as part of the task viaoutput_path=....studio_soundis now the canonical public config field.sound_studioremains accepted as a legacy alias.- SDK result models now mirror the v2 API and
worker_newoutput shape more closely, including summary/social/waveform metadata. - Transport retries and polling are more resilient to brief backend restarts and transient failures.
- Local media support is now part of the base
cleanvoice-sdkinstall. - Package metadata, public version exports, and HTTP user agent now report
2.0.1. - README and release packaging were refreshed before publishing the
2.0.1artifacts.
-
File Upload Support: Upload local audio/video files for processing
upload_file(file_path, filename=None)method for explicit file uploadsprocess()method now accepts local file paths with automatic upload- Support for custom filenames during upload
- Comprehensive error handling for file upload operations
-
File Download Support: Download processed audio files locally
download_file(url, output_path=None)method for downloading processed files- Automatic filename extraction from URLs when no output path specified
- Support for custom output paths and filenames
-
Complete Workflow Method: One-step processing and downloading
process_and_download()method for streamlined workflow- Combines upload, processing, and download in a single call
- Perfect for batch processing scenarios
-
Low-level API Methods: Direct access to upload functionality
get_signed_upload_url(filename)for getting signed upload URLsupload_file(file_path, signed_url)for direct file uploads- Full compatibility with Cleanvoice API v2 upload endpoints
- File Input Flexibility:
process()method now supports both URLs and local files - Error Handling: Improved error messages and validation for file operations
- Type Safety: Full type hints for all new methods and parameters
- Documentation: Comprehensive examples and usage patterns
examples/file_upload_example.py- Detailed file upload demonstrationsexamples/complete_workflow.py- End-to-end workflow examples- Updated
examples/basic_usage.pywith file upload/download patterns
- 22 new test cases covering all file upload and download functionality
- Comprehensive error handling tests
- Integration tests for complete workflows
- Mocked tests to avoid external dependencies during testing
- Updated README.md with file upload and download sections
- Added usage examples for all new methods
- Documented complete workflow patterns
- Enhanced API reference documentation
- Initial release of Cleanvoice Python SDK
- Audio processing with AI enhancement
- Video file support without ffmpeg dependency
- Speech-to-text transcription
- AI-powered summarization
- Type-safe API with Pydantic models
- Comprehensive configuration options
- Progress callback support
- Error handling and validation
- Remove fillers, stutters, and background noise
- Normalize audio levels and enhance quality
- Generate transcripts and summaries
- Support for multiple audio/video formats
- Async/await patterns for modern Python development