POST /upload accepts one or more files and an optional list of transformations. When transformations are provided, Openinary generates and caches each variant immediately, so the first user request is served from cache instead of triggering on-demand processing.
For the full endpoint reference, all parameters, form fields, and response schema, see the Upload Files API reference.
Upload video with queued transformations
Video transformations run in a background queue, they don’t block the upload response.Even without a
transformations field, Openinary automatically queues a
default thumbnail for every video upload.TypeScript examples
- Image upload
- Video upload
- Multiple fields
Limits
- Max 20 transformations per upload request.
- Max file size defaults to 50 MB. Configurable via
MAX_FILE_SIZE_MB, useful for large video uploads in self-hosted setups.
Tips
- Prewarm only the variants you actually serve, don’t prewarm speculatively.
- Use consistent transformation strings across your frontend and backend to maximize cache hits.
- For video, monitor the queue via
GET /queue/statsduring high-volume ingestion.
Next steps
Upload API reference
Full endpoint reference: all fields, validation, and response schema.
Image Transformations
Full parameter reference for resizing, cropping, and format conversion.
Video Transformations
Resize, trim, and extract thumbnails from video files.
File Uploader Component
Drop a ready-to-use React uploader into your app with a single shadcn/ui
command.