CQTAI
Vidu Image · Image

Reference to ImageNEW

📌 What is this:Generate new images based on the subjects / style of reference images (image-to-image / multi-reference).
💡 When to use:Use to keep a given character, product or style while changing the scene / composition; sending imageUrls means reference mode.

Endpoints

UsageMethodPath
Submit taskPOST/api/cqt/generator/vidu
Query ResultGET/api/cqt/info/vidu?id={taskId}
⏱ Recommended polling interval:Poll every 5-10s until status = succeeded / failed.

Sub-models

The tier price column is credits/image (credits/call for per-call models); (default output) = default output only, resolution not accepted; ≥N refs → = multi-reference tier.

modelUsageMaterialsImagesTier price (credits)
vidu-image-q2Q2 image≤7 reference images (≥4 = multi-reference tier)11K=25 / 2K=37.5 / 4K=50 ; ≥4 refs → 1K=31.3 / 2K=62.5 / 4K=93.8
⚠ vidu-image-q2: 1 image per call

Request Parameters

ParamTypeRequiredDescription
modelstringRequiredSub-model: vidu-image-q2
promptstring—Image description (optional)
imageUrlsarrayRequiredReference image URL array (publicly reachable); limit per the table
resolutionstring—1K / 2K / 4K, only tiers priced in the table, default = lowest tier; accepted only by vidu-image-q2 (others use the default output and reject it)
aspectRatiostring—Aspect ratio, e.g. 1:1 / 16:9 / 9:16
negativePrompt / seed / enhancePromptstring / integer / boolean—Negative prompt / random seed / auto-enhance prompt (optional)

Request Example

curl -X POST https://api.cqtai.com/api/cqt/generator/vidu \
  -H 'Authorization: Bearer <API_KEY>' \
  -H 'Content-Type: application/json' \
  -d '{
    "model": "vidu-image-q2",
    "prompt": "the same character standing on a beach at sunset",
    "imageUrls": [
      "https://example.com/ref.jpg"
    ],
    "resolution": "1K",
    "aspectRatio": "1:1"
  }'
# -> { "code":200, "data":"<taskId>" }

Response Example

{
  "code": 200,
  "msg": "success",
  "data": {
    "id": "<taskId>",
    "status": "succeeded",
    "resultUrl": "https://cdn.cqtai.com/.../1.png,https://cdn.cqtai.com/.../2.png",
    "errorMsg": null,
    "createTime": "2026-10-13 10:00:00",
    "completeTime": "2026-10-13 10:01:00"
  }
}

Response Fields

FieldTypeDescription
codenumber200 means success
data.idstringTask ID (taskId)
data.statusstringqueued / running / succeeded / failed
data.resultUrlstringResult URL(s) on our CDN (long-lived); multiple results are comma-separated; null until done or on failure
data.errorMsgstring | nullFailure reason; null on success