Complete a video upload
/api/v1alpha1/videos/{video_id}/upload/completeVerifies the direct object or persisted multipart receipt manifest, checks exact stored bytes, and starts processing once. Poll GET /api/v1alpha1/videos/{video_id} for processing status.
Authorization
apiKey In: header
Path Parameters
Identifier of a video, as returned in id by the upload intent.
Header Parameters
Optional key for safe retry of this POST. The key is retained for 24 hours and compared with the request payload and concrete path parameters.
length <= 255Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/problem+json
application/problem+json
application/problem+json
application/problem+json
application/problem+json
application/problem+json
application/problem+json
application/problem+json
application/problem+json
application/problem+json
curl -X POST "https://example.com/api/v1alpha1/videos/vid_0190b5d4-7e1f-7a2b-9c3d-1234567890ab/upload/complete" \ -H "Authorization: Bearer $DEEPFRAME_API_KEY" \ -H "Content-Type: application/json" \ -d '{}'{ "created_at": "2026-08-08T10:00:00.000Z", "duration": 183.75, "error": { "code": "budget_exhausted", "detail": "", "next_action": "", "title": "" }, "error_message": "The video could not be processed.", "filename": "warehouse-inspection-2026-08-08.mp4", "frame_count": 4410, "id": "vid_0190b5d4-7e1f-7a2b-9c3d-1234567890ab", "progress": 100, "source": "user", "status": "completed", "thumbnail_url": "https://cdn.example.test/media/vid_0190b5d4/thumbnail.jpg", "updated_at": "2026-08-08T10:06:12.000Z"}Abort a video upload DELETE
Aborts the direct or multipart storage session and marks the upload session aborted.
Record uploaded multipart parts PUT
Records the ETags returned by direct storage. The same part and ETag can be sent again safely. The persisted receipts, not ListParts alone, are the completion manifest.