-
Notifications
You must be signed in to change notification settings - Fork 1
feature: changes the output delivery mechanism from base64-encoded data to file storage with signed URLs #63
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
This is a major architectural refactoring that changes the output delivery mechanism from base64-encoded data to file storage with signed URLs. The system now stores generated assets to a persistent storage directory and provides time-limited signed URLs for client access, improving scalability and reducing memory overhead.
Key changes:
- Replaces base64 data in API responses with signed URLs for file downloads
- Introduces centralized configuration using pydantic-settings
- Adds file storage infrastructure with signed URL generation
- Updates all workers to save outputs to storage instead of returning base64
Reviewed changes
Copilot reviewed 98 out of 98 changed files in this pull request and generated 11 comments.
Show a summary per file
| File | Description |
|---|---|
| workers/common/config.py | New centralized settings with storage directory configuration |
| api/common/storage.py | New signed URL generation and verification system |
| api/files/router.py | New file serving endpoint with signature validation |
| workers/workflows/context.py | Refactored to save files to storage with task-based naming |
| workers/videos/context.py | Updated video saving to use storage directory |
| workers/images/context.py | Updated image saving to use storage directory |
| api/*/schemas.py | Changed response schemas from base64_data to URL lists |
| docker-compose*.yml | Added storage volume configuration |
| clients/*/utils.py | Changed from base64 decoding to URL downloads |
| tests//test_.py | Updated to check for output URLs instead of base64 |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
No description provided.