Skip to main content
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

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/stats during 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.