GET /v1/queue/{model}/requests/{requestID}/content/{index}
GET
/v1/queue/{model}/requests/{requestID}/content/{index}Downloads a generated video as a binary stream. The url values are returned in the Queue Result response.
Request
Path parameters
| Parameter | Type | Description |
|---|---|---|
model | string | Video model ID (e.g. veo-3). |
requestID | string | Content-specific ID from the result data[].url. |
index | integer | Zero-based index of the video. |
Headers
| Header | Value |
|---|---|
Authorization | Bearer {api_key} |
The requestID in this endpoint is different from the one used in status/result endpoints. It's a content-specific ID embedded in the data[].url returned by the result endpoint. Simply use the url value as-is.
Response
Headers:
Content-Type: video/mp4
Content-Disposition: inline; filename="video-0.mp4"
Body: Raw binary video data (MP4).
Status codes
| Status | Description |
|---|---|
200 | Success — binary video stream |
400 | Invalid request ID or content index |
401 | Unauthorized |
502 | Failed to download from upstream provider |
Examples
# Use the url from the result response directly
curl -o video.mp4 \
"https://api.modelmax.io/v1/queue/veo-3/requests/{content_id}/content/0" \
-H "Authorization: Bearer $MODELMAX_API_KEY"
import requests
BASE = "https://api.modelmax.io"
headers = {"Authorization": "Bearer your-key"}
# result["data"][0]["url"] contains the full relative path
video_resp = requests.get(
f"{BASE}{result['data'][0]['url']}",
headers=headers,
)
with open("video.mp4", "wb") as f:
f.write(video_resp.content)
print(f"Saved video.mp4 ({len(video_resp.content)} bytes)")
import { writeFile } from "fs/promises";
const videoResp = await fetch(`${BASE_URL}${result.data[0].url}`, {
headers: { Authorization: `Bearer ${API_KEY}` },
});
const buffer = Buffer.from(await videoResp.arrayBuffer());
await writeFile("video.mp4", buffer);
console.log(`Saved video.mp4 (${buffer.length} bytes)`);
