CQTAI
PixVerse · Video

Text to VideoNEW

📌 What is this:Generate a video from a text description.
💡 When to use:Use to turn a text idea straight into a clip; sending no image / video material means text-to-video.

Endpoints

UsageMethodPath
Submit taskPOST/api/cqt/generator/pixverse
Query ResultGET/api/cqt/info/pixverse?id={taskId}
⏱ Recommended polling interval:Generation takes ~1-3 min; poll every 10-15s until status = succeeded / failed.

Sub-models

Sub-models that support this mode. The tiers column is credits/sec (generateAudio → = audio tier, videoUrls → = with-reference-video tier). Resolutions / durations not listed are rejected at submit (no charge).

modelUsageMaterialsDuration (sec)Tier price (credits/sec)
pixverse-v5.6v5.6 (no audio)None (text only)5 / 8 / 10540P=24.5 / 720P=31.5 / 1080P=52.5 / 2K=73.5 / 4K=102.9
pixverse-v6v6; audio supportedNone (text only)5 / 8 / 10540P=20.5 / 720P=26.4 / 1080P=52.8 / 2K=63.4 / 4K=76 ; generateAudio → 540P=26.4 / 720P=35.2 / 1080P=67.5 / 2K=81 / 4K=97.1
pixverse-c1C1; audio supportedNone (text only)5 / 8 / 10540P=23.5 / 720P=29.3 / 1080P=55.7 / 2K=66.9 / 4K=80.3 ; generateAudio → 540P=29.3 / 720P=38.1 / 1080P=70.4 / 2K=84.5 / 4K=101.4

Request Parameters

ParamTypeRequiredDescription
modelstringRequiredSub-model: pixverse-v5.6 / pixverse-v6 / pixverse-c1 (see the sub-model table below)
promptstringRequiredVideo description (required for text-to-video)
negativePromptstring—Negative prompt (optional)
durationinteger—Duration (sec), range depends on the sub-model (see table), default 5
resolutionstring—540P / 720P / 1080P / 2K / 4K (available tiers depend on the sub-model), default 720P (or the lowest tier if 720P is unavailable); 2K / 4K are upscaled
aspectRatiostring—Aspect ratio, e.g. 16:9 / 9:16 / 1:1
generateAudioboolean—Whether to generate audio, default false (only pixverse-v6 / pixverse-c1; billed at the audio tier)
enhancePromptboolean—Whether to auto-enhance the prompt (optional)
seedinteger—Random seed (optional)
returnFirstFrame / returnLastFrame / returnFrameAtSecondboolean / boolean / number—Also return the first / last / given-second frame image of the result video (optional), 1 credit per frame

Request Example

curl -X POST https://api.cqtai.com/api/cqt/generator/pixverse \
  -H 'Authorization: Bearer <API_KEY>' \
  -H 'Content-Type: application/json' \
  -d '{
    "model": "pixverse-v5.6",
    "prompt": "a young woman in a red raincoat walking through a rainy neon-lit city street at night, cinematic tracking shot",
    "duration": 5,
    "resolution": "540P",
    "aspectRatio": "16:9"
  }'
# -> { "code":200, "data":"<taskId>" }

Response Example

{
  "code": 200,
  "msg": "success",
  "data": {
    "id": "55ff441a93484e47a3c47d5f4cde038d",
    "resultUrl": "https://cdn.novapi.ai/pixverse/1791950049600_975768e699064ea0b0e7a3069e44b9b4.mp4",
    "status": "succeeded",
    "errorMsg": null,
    "createTime": "2026-10-14 11:53:20",
    "completeTime": "2026-10-14 11:54:10"
  }
}

Response Fields

FieldTypeDescription
codenumberStatus code; 200 means success
msgstringStatus message; "success" on success
data.idstringTask ID (taskId); use it to poll GET /api/cqt/info
data.statusstringTask status: succeeded / failed / otherwise still processing
data.resultUrlstringURL of the generated video; returned when status = succeeded, null otherwise
data.errorMsgstring | nullFailure reason; null on success
data.createTimestringTask creation time
data.completeTimestring | nullTask completion time; null until finished