Developer API
Uploads & assets
Upload files and use your own media in API video requests.
Uploads are a separate step from creating a video, so retrying generation does not resend a large file.
- Register the file with
POST /uploads. Supply the filename, content type, and byte length required by the schema. - For a live upload, send the raw file bytes with an HTTP
PUTto the returnedupload_url, using your declared content type. Test mode returns no upload URL; skip this transfer step. Never send your Kinema API key to a storage URL. - Call
POST /uploads/{id}/complete. Wait for successful validation before using the upload. - Create a video with a validated audio or talking-head video
upload_idinstead ofscript. Use exactly one input.
File type and size are checked by the backend. A filename extension alone does not establish a valid media file. Test-mode uploads are only integration fixtures; use live mode when testing real file processing.
GET /uploads lists your API uploads. GET /catalog provides supported choices. The /voices, /avatars, and /brand-profiles endpoints list your available resources. Resources and IDs belong to their workspace and mode.