CQTAI
MiniMax · Video

Flexible Multi-referenceNEW

📌 What is thisFlexible multi-reference workflow with up to 4 reference images; no reference video/audio.
💡 When to useUse for lightweight reference with up to 4 images; 4-10s, 480P/768P (default 768P).
🔗 Response formatThe query response follows the OpenAI video-task format: a flat top-level structure (no {code,msg,data} wrapper), lowercase status queued / running / success / failed, success returns video_url, failure returns {"error":{"code","message"}}; video_url is our CDN direct link, ready to download/play.

Endpoints

UsageMethodPath
Submit taskPOST/v1/videos
Query ResultGET/v1/videos/{taskId}
Recommended polling intervalPoll GET /v1/videos/{taskId} every 5s until status = success / failed.

Request Parameters

ParamTypeRequiredDescription
modelstringFixed minimax-h3
workflow_idstringWorkflow; this page uses lh-multi-reference (omit to infer from inputs: first_image->fl2v, image_urls->multi-reference, none->text-to-video; CF super-res / 4-image / flexible-multi-ref / MJ cannot be inferred and must be set explicitly)
promptstringRequiredRequired. Text description (the new engine always requires prompt — including image-to-video and first/last-frame, e.g. "gentle camera push-in, soft light")
image_urlsstring[]RequiredReference image URLs, up to 4 (alias: images)
ratiostringAspect ratio, 1 of 8: 16:9 / 9:16 / 1:1 / 4:3 / 3:4 / 3:2 / 2:3 / 21:9, default 16:9 (ratio x resolution tier determine the output size; see the size table)
resolutionstringResolution tier (case-insensitive): 480P / 768P, default 768P; unit price varies by tier (480P=5, 768P=12, 1080P=18 credits/sec), see billing
durationintegerDuration (sec) integer 4~10, default 4 (alias: seconds)
prompt_enhancebooleanPrompt enhancement (optional, boolean); defaults to on if omitted

Request Example

curl -X POST https://api.cqtai.com/v1/videos \
  -H 'Authorization: Bearer <API_KEY>' \
  -H 'Content-Type: application/json' \
  -d '{
    "model": "minimax-h3",
    "workflow_id": "lh-multi-reference",
    "prompt": "flexible reference composition",
    "image_urls": ["https://cdn.novapi.ai/a.png", "https://cdn.novapi.ai/b.png"],
    "ratio": "9:16",
    "resolution": "768P",
    "duration": 6
  }'
# -> 创建响应: { "id":"<task_id>", "task_id":"<task_id>", "object":"video", "model":"minimax-h3", "status":"PROCESSING", "progress":0 }

Response Example

{
  "id": "b976d0f8c1ed4c1c8ef006ea22161bcc",
  "task_id": "b976d0f8c1ed4c1c8ef006ea22161bcc",
  "object": "video",
  "model": "minimax-h3",
  "status": "success",
  "progress": 100,
  "video_url": "https://cdn.novapi.ai/minimax/1786516943631_d6ddaeaa68a4464f9e16938f16b9534b.mp4"
}

Response Fields

FieldTypeDescription
idstringTask ID (opaque), same as task_id; used to poll GET /v1/videos/{task_id}
task_idstringTask ID (opaque); returned on submit, used for polling
objectstringObject type, always "video"
modelstringModel name, always "minimax-h3"
statusstringTask status (lowercase): queued / running / success / failed
progressnumberProgress 0-100
video_urlstringResult video URL (our CDN direct link); returned when status = success
errorobjectError info {"code","message"}; returned when status = failed

Billing & Credits

Billed per second = credits/sec x duration (sec). Credits/sec: 480P=5, 768P=12 (no 1080P tier in this workflow). Example: 768P 8s = 12 x 8 = 96. Auto-refunded on failure.