Assets
Upload source images and videos before creating video or split jobs. Assets receive a public asset_* id — internal storage keys are never exposed.
Upload flow
POST /assets/upload-url— returns presignedupload_urlandasset_idPUTfile bytes toupload_urlwith the requiredContent-TypeheaderPOST /assets/confirm-upload— marks the asset ready
curl -s -X POST "https://api.flikly.ai/api/v1/developer/assets/upload-url" \
-H "Authorization: Bearer $FLIKLY_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"filename": "hero.mp4",
"content_type": "video/mp4",
"size_bytes": 5242880,
"purpose": "split_source"
}'Purposes
split_source— video MIME types only (for split jobs)video_source— video MIME typesimage_source— image MIME types (for image-to-video)general— any allowed MIME type
Supported content types
image/jpeg, image/png, image/webp, video/mp4, video/quicktime, video/webm
Size limits
Upload size must not exceed max_asset_upload_size_bytes from GET /me or usage (Team default: 2 GB). Oversized uploads return ASSET_UPLOAD_TOO_LARGE.
Read and download
GET /assets/{id}— metadata and status (pending,uploaded,failed)GET /assets/{id}/download-url— short-lived presigned download URL
Scopes: assets:create, assets:read.