Skip to content
Videos

Refresh video upload targets

POST/api/v1alpha1/videos/{video_id}/upload/targets

Returns fresh direct-to-storage targets. The server validates every requested multipart part number against its calculated total.

AuthorizationBearer <token>

In: header

Path Parameters

video_id*string

Identifier of a video, as returned in id by the upload intent.

Header Parameters

Idempotency-Key?string

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.

Lengthlength <= 255

Request 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

curl -X POST "https://example.com/api/v1alpha1/videos/vid_0190b5d4-7e1f-7a2b-9c3d-1234567890ab/upload/targets" \  -H "Authorization: Bearer $DEEPFRAME_API_KEY" \  -H "Content-Type: application/json" \  -d '{    "part_numbers": [      1,      2,      3    ]  }'
{  "chunk_size": 10485760,  "completed_parts": 2,  "expires_at": "2026-08-08T10:15:00.000Z",  "file_size": 157286400,  "received_parts": [    1,    3  ],  "reported_bytes": 20971520,  "state": "open",  "strategy": "direct",  "target": {    "expires_at": "2026-08-08T10:15:00.000Z",    "headers": {},    "method": "put",    "part_number": 2,    "url": "https://s3.example.test/upload"  },  "targets": [    {      "expires_at": "2026-08-08T10:15:00.000Z",      "headers": {},      "method": "put",      "part_number": 2,      "url": "https://s3.example.test/upload"    }  ],  "total_chunks": 16,  "uploaded_bytes": 10485760,  "verified_bytes": 0,  "video_id": "vid_0190b5d4-7e1f-7a2b-9c3d-1234567890ab"}