Common Conventions
- All interfaces require request headers
Authorization: Bearer <apiKey>andTopview-Uid: <userId>- Successful response unified structure:
{ "code": "200", "message": "Success", "result": { ... } }- After task submission, returns
taskId. Frontend polls the query interface to get resultsDeprecation Notice: The model display name
"Topview Omni"is deprecated and no longer accepted. Please use"Gemini Omni Flash"instead (Image-to-Video, Text-to-Video, and Omni Reference). Requests with the old name will be rejected with:Topview Omni is expired, please use Gemini Omni Flash model.
I. Image-to-Video V2
1.1 Submit Task
POST /v2/common_task/image2video/task/submit
Request Headers
| Parameter | Type | Required | Description |
|---|---|---|---|
Topview-Uid | string | Yes | User ID |
Request Body (JSON)
| Parameter | Type | Required | Description |
|---|---|---|---|
model | string | No | Model display name, e.g., "Seedance 1.5 pro", see supported models table below |
firstFrameFileId | string | No | File ID of the first frame image |
endFrameFileId | string | No | File ID of the last frame image |
referenceImageFileIds | string[] | No | List of reference image IDs in multi-image mode (see model-specific min/max limits) |
prompt | string | No | Prompt text |
aspectRatio | string | No | Aspect ratio, e.g., "16:9", "9:16" |
resolution | integer | No | Resolution, 720 or 1080 |
duration | integer | No | Video duration in seconds |
sound | string | No | Whether to include sound effects, "on" or "off", default "off" |
generatingCount | integer | No | Number of videos to generate, default 1 |
boardId | string | No | Board ID. When provided, a task record will be created in the Board |
noticeUrl | string | No | Callback URL to receive a notification when the task reaches a final state. When provided, the submit response includes noticeUuid |
Supported Models and Parameter Constraints
Note: The
modelparameter should use the model display name (e.g.,"Seedance 1.5 pro"), not the code.
| Model Name | Image Input Mode | Aspect Ratio Options (aspectRatio) | Resolution (resolution) | Duration (duration) | Native Audio | Remarks |
|---|---|---|---|---|---|---|
| Standard(SD 2.0) | First & Last Frame | Determined by image | 480, 720, 1080, 2160(4K) | 4–15 seconds | ✅ | First and last frames must have same aspect ratio; supports internet search |
| Fast(SD 2.0 Fast) | First & Last Frame | Determined by image | 480, 720 | 4–15 seconds | ✅ | First and last frames must have same aspect ratio; supports internet search |
| Seedance 2.0 Mini | First & Last Frame | Determined by image | 480, 720 | 4–15 seconds | ✅ | First and last frames must have same aspect ratio; supports internet search |
| Seedance 1.5 pro | First & Last Frame | Determined by image | 720, 1080 | 4–12 seconds | ✅ | |
| Seedance 1.0 Pro Fast | Single Image | Determined by image | 720, 1080 | 5, 10, 12 seconds | ❌ | |
| Seedance 1.0 Pro | First & Last Frame | Determined by image | 720, 1080 | 5, 10, 12 seconds | ❌ | |
| Kling V3 | First & Last Frame | Determined by image | 720, 1080 | 3–15 seconds | ✅ | Supports multi-shot (up to 6 shots, total ≤15s); image short side ≥300px |
| Kling 3.0 Turbo | Single Image | Determined by image | 720, 1080 | 3–15 seconds | ✅ | Supports multi-shot (up to 6 shots, total ≤15s) |
| Kling O3 | First & Last Frame | Determined by image | 720, 1080 | 3–15 seconds | ✅ | Supports multi-shot (up to 6 shots, total ≤15s); image short side ≥300px |
| Kling O3 Reference-to-Video | Multi-Image (Reference, max 7) | 9:16, 1:1, 16:9 | 720, 1080 | 3–15 seconds | ✅ | Supports @mention reference images; supports multi-shot |
| Kling 2.6 | Single Image | Determined by image | N/A | 5, 10 seconds | ✅ | |
| Kling O1 Reference-to-Video | Optional Multi-Image (0–7) | 9:16, 1:1, 16:9 | 1080 | 3–10 seconds | ❌ | Supports @mention reference images; referenceImageFileIds can be empty |
| Kling 2.5 Turbo Pro | First & Last Frame | Determined by image | 1080 | 5, 10 seconds | ❌ | |
| Kling 2.5 Turbo Std | Single Image | Determined by image | 1080 | 5, 10 seconds | ❌ | |
| Veo 3.1 | First & Last Frame | 9:16, 16:9 | 720, 1080, 2160(4K) | 4, 6, 8 seconds (2160(4K)p only 8s) | ✅ | |
| Veo 3.1 Reference to video | Multi-Image (Reference, max 3) | 9:16, 16:9 | 720, 1080, 2160(4K) | 8 seconds | ✅ | |
| Veo 3.1 Fast | First & Last Frame | 9:16, 16:9 | 720, 1080, 2160(4K) | 4, 6, 8 seconds (2160(4K)p only 8s) | ✅ | |
| Veo 3.1 Fast Reference to video | Multi-Image (Reference, max 3) | 9:16, 16:9 | 720, 1080, 2160(4K) | 8 seconds | ✅ | |
| Gemini Omni Flash | Optional Multi-Image (0~3) | 9:16, 16:9 | 720, 1080, 2160(4K) | 4, 6, 8, 10 seconds | ❌ | referenceImageFileIds can be empty; max 3 images |
| MiniMax-Hailuo-02 | First & Last Frame | Determined by image | 768, 1080 | 6, 10 seconds (1080p only 6s) | ❌ | |
| MiniMax-Hailuo-2.3 | Single Image | Determined by image | 768, 1080 | 6, 10 seconds (1080p only 6s) | ❌ | |
| MiniMax-Hailuo-2.3-Fast | Single Image | Determined by image | 768, 1080 | 6, 10 seconds (1080p only 6s) | ❌ | |
| Vidu Q3 Pro | First & Last Frame | 9:16, 3:4, 1:1, 4:3, 16:9 | 540, 720, 1080 | 1–16 seconds | ✅ | Last frame optional |
| Vidu Q2 Reference to Video | Multi-Image (Reference, max 7) | 9:16, 3:4, 1:1, 4:3, 16:9 | 1080 | 2–10 seconds | ❌ | |
| Wan 2.6 | Single Image | Determined by image | 720, 1080 | 5, 10, 15 seconds | ✅ | |
| Grok Video | Single Image | 9:16, 3:4, 2:3, 1:1, 4:3, 3:2, 16:9 | 480, 720 | 1–15 seconds | ❌ | |
| Grok Video 1.5 | Single Image | 9:16, 3:4, 2:3, 1:1, 4:3, 3:2, 16:9 | 480, 720 | 1–15 seconds | ❌ | |
| Grok Video 1.5 Preview | Single Image | 9:16, 3:4, 2:3, 1:1, 4:3, 3:2, 16:9 | 480, 720 | 1–15 seconds | ❌ | |
| Grok Reference to Video | Multi-Image (Reference, 2~7) | 9:16, 3:4, 2:3, 1:1, 4:3, 3:2, 16:9 | 480, 720 | 1–10 seconds | ❌ | Supports 2~7 reference images |
| Happy Horse 1.0 | Single Image | Determined by image | 720, 1080 | 3–15 seconds | ❌ | |
| Happy Horse 1.1 | Single Image | Determined by image | 720, 1080 | 3–15 seconds | ✅ | |
| Happy Horse 1.0 Reference to Video | Multi-Image (Reference, 2~9) | 9:16, 3:4, 1:1, 4:3, 16:9 | 720, 1080 | 3–15 seconds | ❌ | Supports 2~9 reference images |
| Happy Horse 1.1 Reference to Video | Multi-Image (Reference, 2~9) | 9:16, 3:4, 1:1, 4:3, 16:9 | 720, 1080 | 3–15 seconds | ✅ | Supports 2~9 reference images |
| Wan 2.7 | First & Last Frame | Determined by image | 720, 1080 | 2–15 seconds | ❌ | Audio upload not supported in API v1 |
| Wan 2.7 Reference to Video | Multi-Image (Reference, 2~5) | 9:16, 3:4, 1:1, 4:3, 16:9 | 720, 1080 | 2–15 seconds | ❌ | Audio upload not supported in API v1 |
| Topview Pro | Single Image | 9:16, 3:4, 1:1, 4:3, 16:9 | N/A | 5, 10 seconds | ❌ | |
| Topview Plus | Single Image | 9:16, 1:1, 16:9 | N/A | 5, 10 seconds | ❌ | |
| Topview Best | Single Image | 9:16, 1:1, 16:9 | N/A | 5, 10 seconds | ❌ |
- Image input mode description:
- Single Image: Only
firstFrameFileIdtakes effect - First & Last Frame:
firstFrameFileId(first frame) is required;endFrameFileId(last frame) is optional - Multi-Image (Reference): Pass reference image list via
referenceImageFileIds - Optional Multi-Image:
referenceImageFileIdscan be omitted, or pass model-supported image count
- Single Image: Only
sound:"on"or"off", default"off"; models supporting Native Audio can generate native audio when enabledgeneratingCount: 1–4, default 1
Request Example
POST /v2/common_task/image2video/task/submit
Topview-Uid: user_123
{
"model": "Seedance 1.5 pro",
"firstFrameFileId": "file_abc123",
"prompt": "A product slowly rotating on a clean white background, cinematic lighting",
"aspectRatio": "16:9",
"resolution": 1080,
"duration": 5,
"sound": "off",
"generatingCount": 2
}Response Example
{
"code": "200",
"message": "Success",
"result": {
"taskId": "task_i2v_v2_20250529001",
"status": "init",
"boardTaskIds": null,
"boardId": null,
"noticeUuid": "uuid_abc"
}
}GET /v2/common_task/image2video/task/query
Request Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
taskId | string | Yes | Task ID returned from submission |
needCloudFrontUrl | boolean | No | Whether to return CloudFront URL, default false |
Request Example
GET /v2/common_task/image2video/task/query?taskId=task_i2v_v2_20250529001
Topview-Uid: user_123
Response Example (In Progress)
{
"code": "200",
"message": "Success",
"result": {
"taskId": "task_i2v_v2_20250529001",
"status": "running",
"errorMsg": null,
"costCredit": "0.00",
"videos": []
}
}Response Example (Success)
{
"code": "200",
"message": "Success",
"result": {
"taskId": "task_i2v_v2_20250529001",
"status": "success",
"errorMsg": null,
"costCredit": "5.00",
"videos": [
{
"status": "success",
"errorMsg": null,
"fileId": "file_video_001",
"filePath": "https://cdn.example.com/videos/output_001.mp4",
"width": 1920,
"height": 1080,
"duration": 5000,
"coverPath": "https://cdn.example.com/covers/cover_001.jpg",
"boardTaskId": null
},
{
"status": "success",
"errorMsg": null,
"fileId": "file_video_002",
"filePath": "https://cdn.example.com/videos/output_002.mp4",
"width": 1920,
"height": 1080,
"duration": 5000,
"coverPath": "https://cdn.example.com/covers/cover_002.jpg",
"boardTaskId": null
}
]
}
}II. Text-to-Video
2.1 Submit Task
POST /v1/common_task/text2video/task/submit
Request Headers
| Parameter | Type | Required | Description |
|---|---|---|---|
Topview-Uid | string | Yes | User ID |
Request Body (JSON)
| Parameter | Type | Required | Description |
|---|---|---|---|
model | string | Yes | Model name, e.g., "Seedance 1.5 pro", "Kling V3", "Gemini Omni Flash", "Wan 2.7" |
prompt | string | Yes | Positive prompt text |
aspectRatio | string | No | Aspect ratio, e.g., "16:9", "9:16", "1:1" |
resolution | integer | No | Resolution, 720 or 1080 |
duration | integer | No | Video duration in seconds |
sound | string | No | Whether to include sound effects, "on" or "off" |
generatingCount | integer | No | Number of generations, 1~4 |
boardId | string | No | Board ID. When provided, a task record will be created in the Board |
noticeUrl | string | No | Callback URL to receive a notification when the task reaches a final state. When provided, the submit response includes noticeUuid |
Supported Models and Parameter Constraints
Note: The
modelparameter should use the model display name (e.g.,"Seedance 1.5 pro"), not the code.
| Model Name | Aspect Ratio Options (aspectRatio) | Resolution (resolution) | Duration (duration) | Native Audio | Remarks | |
|---|---|---|---|---|---|---|
| Standard(SD 2.0) | First & Last Frame | Determined by image | 480, 720, 1080, 2160(4K) | 4–15 seconds | ✅ | First and last frames must have same aspect ratio; supports internet search |
| Fast(SD 2.0 Fast) | First & Last Frame | Determined by image | 480, 720 | 4–15 seconds | ✅ | First and last frames must have same aspect ratio; supports internet search |
| Seedance 2.0 Mini | 9:16, 3:4, 1:1, 4:3, 16:9, 21:9 | 480, 720 | 4–15 seconds | ✅ | ||
| Seedance 1.5 pro | 9:16, 3:4, 1:1, 4:3, 16:9 | 720, 1080 | 4–12 seconds | ✅ | ||
| Seedance 1.0 Pro Fast | 9:16, 3:4, 1:1, 4:3, 16:9 | 720, 1080 | 5, 10, 12 seconds | ❌ | ||
| Seedance 1.0 Pro | 9:16, 3:4, 1:1, 4:3, 16:9 | 720, 1080 | 5, 10, 12 seconds | ❌ | ||
| Kling O3 | 9:16, 1:1, 16:9 | 720, 1080 | 3–15 seconds | ✅ | Supports multi-shot (up to 6 shots, total ≤15s) | |
| Kling V3 | 9:16, 1:1, 16:9 | 720, 1080 | 3–15 seconds | ✅ | Supports multi-shot (up to 6 shots, total ≤15s) | |
| Kling 3.0 Turbo | 9:16, 1:1, 16:9 | 720, 1080 | 3–15 seconds | ✅ | Supports multi-shot (up to 6 shots, total ≤15s) | |
| Kling 2.6 | 9:16, 1:1, 16:9 | N/A | 5, 10 seconds | ✅ | ||
| Kling 2.5 Turbo Pro | 9:16, 1:1, 16:9 | 1080 | 5, 10 seconds | ❌ | ||
| Kling 2.5 Turbo Std | 9:16, 1:1, 16:9 | 1080 | 5, 10 seconds | ❌ | ||
| Veo 3.1 | 9:16, 16:9 | 720, 1080, 2160(4K) | 4, 6, 8 seconds (2160(4K)p only 8s) | ✅ | ||
| Veo 3.1 Fast | 9:16, 16:9 | 720, 1080, 2160(4K) | 4, 6, 8 seconds (2160(4K)p only 8s) | ✅ | ||
| Gemini Omni Flash | 9:16, 16:9 | 720, 1080, 2160(4K) | 4, 6, 8, 10 seconds | ❌ | ||
| MiniMax-Hailuo-02 | Determined by model | 768, 1080 | 6, 10 seconds (1080p only 6s) | ❌ | ||
| MiniMax-Hailuo-2.3 | Determined by model | 768, 1080 | 6, 10 seconds (1080p only 6s) | ❌ | ||
| Vidu Q3 Pro | 9:16, 3:4, 1:1, 4:3, 16:9 | 540, 720, 1080 | 1–16 seconds | ✅ | ||
| Vidu Q2 | 9:16, 3:4, 1:1, 4:3, 16:9 | 1080 | 2–10 seconds | ❌ | ||
| Wan 2.6 | 9:16, 3:4, 1:1, 4:3, 16:9 | 720, 1080 | 5, 10, 15 seconds | ✅ | ||
| Grok Video | 9:16, 3:4, 2:3, 1:1, 4:3, 3:2, 16:9 | 480, 720 | 1–15 seconds | ❌ | ||
| Happy Horse 1.0 | 9:16, 3:4, 1:1, 4:3, 16:9 | 720, 1080 | 3–15 seconds | ❌ | ||
| Happy Horse 1.1 | 9:16, 3:4, 1:1, 4:3, 16:9 | 720, 1080 | 3–15 seconds | ✅ | ||
| Wan 2.7 | 9:16, 3:4, 1:1, 4:3, 16:9 | 720, 1080 | 2–15 seconds | ❌ | Audio upload not supported in API v1 | |
| Topview Pro | 9:16, 3:4, 1:1, 4:3, 16:9 | N/A | 5, 10 seconds | ❌ | ||
| Topview Plus | 9:16, 1:1, 16:9 | N/A | 5, 10 seconds | ❌ | ||
| Topview Best | 9:16, 1:1, 16:9 | N/A | 5, 10 seconds | ❌ |
sound:"on"or"off", default"off"; models supporting Native Audio can generate native audio when enabledgeneratingCount: 1–4 (required)
Request Example
POST /v1/common_task/text2video/task/submit
Topview-Uid: user_123
{
"model": "Seedance 1.5 pro",
"prompt": "A futuristic city at night with neon lights reflecting on wet streets, cinematic 4K",
"aspectRatio": "16:9",
"resolution": 1080,
"duration": 5,
"sound": "on",
"generatingCount": 1
}Response Example
{
"code": "200",
"message": "Success",
"result": {
"taskId": "task_t2v_20251128001",
"status": "init",
"noticeUuid": "uuid_xyz"
}
}GET /v1/common_task/text2video/task/query
Request Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
taskId | string | Yes | Task ID returned from submission |
needCloudFrontUrl | boolean | No | Whether to return CloudFront URL, default false |
Request Example
GET /v1/common_task/text2video/task/query?taskId=task_t2v_20251128001
Topview-Uid: user_123
Response Example (Success)
{
"code": "200",
"message": "Success",
"result": {
"taskId": "task_t2v_20251128001",
"status": "success",
"errorMsg": null,
"costCredit": "10.00",
"videos": [
{
"status": "success",
"errorMsg": null,
"fileId": "file_video_t2v_001",
"filePath": "https://cdn.example.com/videos/t2v_output_001.mp4",
"width": 1920,
"height": 1080,
"duration": 5000,
"coverPath": "https://cdn.example.com/covers/t2v_cover_001.jpg"
}
]
}
}Response Example (Failure)
{
"code": "200",
"message": "Success",
"result": {
"taskId": "task_t2v_20251128001",
"status": "fail",
"errorMsg": "Model service unavailable",
"costCredit": "0.00",
"videos": []
}
}III. Omni Reference
Omni Reference supports generating new videos through reference images/videos/audios + prompt. The prompt can reference uploaded materials using the <IMAGEN> / <VIDEON> / <AUDION> syntax.
3.1 Submit Task
POST /v1/common_task/omni_reference/task/submit
Request Headers
| Parameter | Type | Required | Description |
|---|---|---|---|
Topview-Uid | string | Yes | User ID |
Request Body (JSON)
| Parameter | Type | Required | Description |
|---|---|---|---|
model | string | Yes | Model name, e.g., "Standard", "Fast", "Kling O3 Video-Edit", "Kling O1 Video-Edit" |
prompt | string | Yes | Prompt text, supports <IMAGE1>, <VIDEO1>, <AUDIO1> and other reference syntax |
inputImages | object[] | No | List of reference images, see table below |
inputVideos | object[] | No | List of reference videos, see table below |
inputAudios | object[] | No | List of reference audios, supported by specific models (see limits below) |
aspectRatio | string | No | Aspect ratio, e.g., "16:9" |
resolution | integer | No | Resolution, 480, 720 or 1080 |
duration | integer | No | Video duration in seconds |
generatingCount | integer | No | Number of generations, 1~4 |
internetSearch | boolean | No | Whether to enable internet search, default false |
boardId | string | No | Board ID. When provided, a task record will be created in the Board |
noticeUrl | string | No | Callback URL to receive a notification when the task reaches a final state. When provided, the submit response includes noticeUuid |
inputImages Object Fields
| Parameter | Type | Required | Description |
|---|---|---|---|
fileId | string | No | File ID returned from upload interface |
inputImageS3Path | string | No | Image S3 path (choose one with fileId) |
name | string | Yes | Reference name, e.g., "Image1", corresponds to <IMAGE1> in prompt |
inputVideos Object Fields
| Parameter | Type | Required | Description |
|---|---|---|---|
fileId | string | No | File ID returned from upload interface |
inputVideoS3Path | string | No | Video S3 path (choose one with fileId) |
name | string | Yes | Reference name, e.g., "Video1", corresponds to <VIDEO1> in prompt |
inputAudios Object Fields
| Parameter | Type | Required | Description |
|---|---|---|---|
fileId | string | No | File ID returned from upload interface |
inputAudioS3Path | string | No | Audio S3 path (choose one with fileId) |
name | string | Yes | Reference name, e.g., "Audio1", corresponds to <AUDIO1> in prompt |
Supported Models and Parameter Constraints
Note: The
modelparameter should use the model display name (e.g.,"Standard","Kling O3 Video-Edit"), not the code.
(Video Edit Mode)
| Model Name | Aspect Ratio Options (aspectRatio) | Resolution (resolution) | Duration (duration) | Native Audio | Internet Search |
|---|---|---|---|---|---|
| Standard (SD 2.0) | 9:16, 3:4, 1:1, 4:3, 16:9, 21:9 | 480, 720, 1080, 2160(4K) | 4–15 seconds | ✅ | ✅ |
| Fast(SD 2.0 Fast) | 9:16, 3:4, 1:1, 4:3, 16:9, 21:9 | 480, 720 | 4–15 seconds | ✅ | ✅ |
| Seedance 2.0 Mini | 9:16, 3:4, 1:1, 4:3, 16:9, 21:9 | 480, 720 | 4–15 seconds | ✅ | ✅ |
| Gemini Omni Flash | Not supported (determined by video) | 720, 1080, 2160(4K) | Not supported (determined by video) | ❌ | ❌ |
| Veo 3.1 Extend | Not supported (determined by video) | 720 | 7 seconds only | ✅ | ❌ |
| Veo 3.1 Fast Extend | Not supported (determined by video) | 720 | 7 seconds only | ✅ | ❌ |
| Happy Horse 1.0 Video Edit | Not supported (determined by video) | 720, 1080 | Not supported (determined by video) | ❌ | ❌ |
| Wan 2.7 Video Edit | Not supported (determined by video) | 720, 1080 | Not supported (determined by video) | ❌ | ❌ |
| Wan 2.7 Video Extend | 9:16, 3:4, 1:1, 4:3, 16:9 | 720, 1080 | 2–15 seconds | ❌ | ❌ |
| Wan 2.7 Reference to Video | 9:16, 3:4, 1:1, 4:3, 16:9 | 720, 1080 | 2–10 seconds | ❌ | ❌ |
| Grok Video Edit | Not supported (determined by video) | Not supported (determined by video) | Not supported (determined by video) | ❌ | ❌ |
| Grok Video Extend | Not supported (determined by video) | Not supported (determined by video) | 2–10 seconds | ❌ | ❌ |
Seedance 2.0 mixed upload limits:
- Maximum 9 images
- Maximum 3 videos (single video duration: 2–15.2s, total video duration ≤15.2s)
- Maximum 3 audios (single audio duration: 2–15.2s, total audio duration ≤15.2s)
- Images + videos + audios combined cannot exceed 15 items
Kling (Video Edit Mode)
| Model Name | Edit Mode (videoEditMode) | Reference Images | Resolution (resolution) | Keep Original Audio | Remarks |
|---|---|---|---|---|---|
| Kling O3 Video-Edit | base, feature | Maximum 4 (optional) | 720, 1080 | ✅ | Supports @mention reference images/videos |
| Kling O1 Video-Edit | base, feature | Maximum 4 (optional) | 1080 | ✅ | Supports @mention reference images/videos; billed per second |
Kling input video requirements (inputVideos, inputVideoMode: singleVideo):
- Width/Height: 720–2160(4K)px
- Video duration: 3–10 seconds
Grok Video (Video Edit Mode)
| Model Name | Input Videos | aspectRatio / resolution / duration | Remarks |
|---|---|---|---|
| Grok Video Edit | Exactly 1 | Do not pass (determined by input) | <VIDEONAME> reference prompt; no images |
| Grok Video Extend | Exactly 1 | Pass duration only (2~10) | <VIDEONAME> reference prompt; no images |
Grok input video requirements (inputVideos, inputVideoMode: singleVideo):
- Width/Height: 300–2160(4K)px
- Video duration: 1–15 seconds (Edit) / 2–15 seconds (Extend)
- Do not pass
inputImagesorinternetSearch
Gemini Omni Flash / Happy Horse / Wan 2.7 (Video Edit Mode)
| Model Name | Input Videos | Input Images | Required Parameters | Remarks |
|---|---|---|---|---|
| Gemini Omni Flash | Exactly 1 | Optional 0~1 | resolution (720/1080/2160(4K)) | Input video duration 3~10s |
| Veo 3.1 Extend | Exactly 1 | Not supported | resolution (720), duration (7) | Input video duration 1 |
| Veo 3.1 Fast Extend | Exactly 1 | Not supported | resolution (720), duration (7) | Input video duration 1 |
| Happy Horse 1.0 Video Edit | Exactly 1 | Optional 0~5 | resolution (720/1080) | Input video duration 3~15s |
| Wan 2.7 Video Edit | Exactly 1 | Optional 0~4 | resolution (720/1080) | Input video duration 2~10s; audio upload not supported in API v1 |
| Wan 2.7 Video Extend | Exactly 1 | Not supported | aspectRatio, duration (2~15), resolution | Audio upload not supported in API v1 |
| Wan 2.7 Reference to Video | 1~5 | 1~5 | aspectRatio, duration (2~10), resolution | Supports up to 1 input audio (2–30s, total ≤30s) |
Request Example (Grok Video Edit)
POST /v1/common_task/omni_reference/task/submit
Topview-Uid: user_123
{
"model": "Grok Video Edit",
"prompt": "Apply cinematic color grading to <VIDEO1>",
"inputVideos": [
{
"fileId": "file_video_001",
"name": "Video1"
}
],
"generatingCount": 1
}Common parameters description:
generatingCount: 1–4 (required)
Request Example (Image Reference)
POST /v1/common_task/omni_reference/task/submit
Topview-Uid: user_123
{
"model": "Kling O3 Video-Edit",
"prompt": "Transform <IMAGE1> into a watercolor painting style animation with gentle movement",
"inputImages": [
{
"fileId": "file_img_abc001",
"name": "Image1"
}
],
"aspectRatio": "16:9",
"resolution": 720,
"duration": 5,
"generatingCount": 1,
"internetSearch": false
}Request Example (Image + Video + Audio Mixed Reference)
POST /v1/common_task/omni_reference/task/submit
Topview-Uid: user_123
{
"model": "Standard",
"prompt": "Apply the style from <IMAGE1> to the motion in <VIDEO1> and sync pacing to <AUDIO1>",
"inputImages": [
{
"fileId": "file_img_style001",
"name": "Image1"
}
],
"inputVideos": [
{
"fileId": "file_video_motion001",
"name": "Video1"
}
],
"inputAudios": [
{
"fileId": "file_audio_rhythm001",
"name": "Audio1"
}
],
"aspectRatio": "9:16",
"resolution": 1080,
"duration": 5,
"generatingCount": 2
}Response Example
{
"code": "200",
"message": "Success",
"result": {
"taskId": "task_omni_20260302001",
"status": "init",
"noticeUuid": "uuid_omni_abc"
}
}GET /v1/common_task/omni_reference/task/query
Request Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
taskId | string | Yes | Task ID returned from submission |
needCloudFrontUrl | boolean | No | Whether to return CloudFront URL, default false |
Request Example
GET /v1/common_task/omni_reference/task/query?taskId=task_omni_20260302001
Topview-Uid: user_123
Response Example (Success)
{
"code": "200",
"message": "Success",
"result": {
"taskId": "task_omni_20260302001",
"status": "success",
"errorMsg": null,
"costCredit": "8.00",
"videos": [
{
"status": "success",
"errorMsg": null,
"fileId": "file_video_omni_001",
"filePath": "https://cdn.example.com/videos/omni_output_001.mp4",
"width": 1920,
"height": 1080,
"duration": 5000,
"coverPath": "https://cdn.example.com/covers/omni_cover_001.jpg",
"boardTaskId": null
}
]
}
}IV. Common Specifications
Task Status Enumeration
| Status Value | Meaning |
|---|---|
init | Task submitted, waiting for processing |
running | Task is being processed |
success | Task completed successfully |
fail | Task failed, see errorMsg field for error reason |
Polling Recommendations
Recommended polling interval: 3–5 seconds, timeout should be set to 5 minutes.
Sub-tasks in videos
videosWhen generatingCount > 1, the videos list contains multiple sub-task results. Each sub-task has an independent status. When the parent task status=success, all sub-tasks are completed (some sub-tasks may be fail, check the sub-task's status and errorMsg).
Omni Reference Prompt Reference Syntax
Reference input materials in prompt using <IMAGEN>, <VIDEON> or <AUDION>:
"prompt": "Apply the color style from <IMAGE1> to the scene, follow the motion from <VIDEO1>, and align to <AUDIO1> rhythm"
Image1 corresponds to name="Image1" in inputImages, Video1 corresponds to name="Video1" in inputVideos, and Audio1 corresponds to name="Audio1" in inputAudios.
V. Credit Billing Explanation
totalCost = unitCost × generatingCount
unitCost Calculation Rules:
- General Models: Query pricing table using
resolution,duration,soundparameters- Models with resolution parameter: key =
{resolution}_{duration}[_sound], e.g.,1080_10_sound - Models without resolution parameter: key =
{duration}[_sound], e.g.,10_sound
- Models with resolution parameter: key =
- Kling O1 Video-Edit (special):
unitCost = 0.8 × ceil(input video seconds) - Grok Video-Edit (special):
unitCost = 0.8 × ceil(input video seconds) - Grok Video (I2V / T2V):
unitCost = 0.8 × duration(480p and 720p same rate)
5.1 Model Pricing Tables (Unit: Credits/Generation, generatingCount=1)
Standard / Fast
Billing parameters: resolution, duration
Enabling sound does not add cost. Credit value = per-second rate × duration (seconds).
Image-to-Video / Text-to-Video / Video-Edit (without video input)
| Model | Resolution | Credits per second |
|---|---|---|
| Standard | 1080p | 2.5 |
| Standard | 720p | 1 |
| Standard | 480p | 0.5 |
| Fast | 720p | 0.8 |
| Fast | 480p | 0.4 |
Video-Edit (with video input)
| Model | Resolution | Credits per second |
|---|---|---|
| Standard | 1080p | 3 |
| Standard | 720p | 1.2 |
| Standard | 480p | 0.6 |
| Fast | 720p | 0.96 |
| Fast | 480p | 0.48 |
Seedance 1.5 pro
Billing parameters: resolution, duration, sound Enabling sound approximately ×2.1
| Resolution | 4s | 5s | 6s | 7s | 8s | 9s | 10s | 11s | 12s |
|---|---|---|---|---|---|---|---|---|---|
| 720p | 0.48 | 0.60 | 0.72 | 0.84 | 0.96 | 1.08 | 1.20 | 1.32 | 1.44 |
| 720p + sound | 1.00 | 1.25 | 1.50 | 1.75 | 2.00 | 2.25 | 2.50 | 2.75 | 3.00 |
| 1080p | 1.12 | 1.40 | 1.68 | 1.96 | 2.24 | 2.52 | 2.80 | 3.08 | 3.36 |
| 1080p + sound | 2.20 | 2.75 | 3.30 | 3.85 | 4.40 | 4.95 | 5.50 | 6.05 | 6.60 |
Seedance 1.0 Pro Fast / Seedance 1.0 Pro
Billing parameters: resolution, duration (does not support sound)
| Model | Resolution | 5s | 10s | 12s |
|---|---|---|---|---|
| 1.0 Pro Fast | 720p | 0.35 | 0.70 | 0.84 |
| 1.0 Pro Fast | 1080p | 0.75 | 1.50 | 1.80 |
| 1.0 Pro | 720p | 1.00 | 2.00 | 2.40 |
| 1.0 Pro | 1080p | 2.25 | 4.50 | 5.40 |
Kling V3
Billing parameters: resolution, duration, sound Enabling sound: 720p approximately +60%, 1080p approximately +25%
| Resolution | 3s | 5s | 8s | 10s | 12s | 15s |
|---|---|---|---|---|---|---|
| 720p | 1.5 | 2.5 | 4.0 | 5.0 | 6.0 | 7.5 |
| 720p + sound | 2.4 | 4.0 | 6.4 | 8.0 | 9.6 | 12.0 |
| 1080p | 2.4 | 4.0 | 6.4 | 8.0 | 9.6 | 12.0 |
| 1080p + sound | 3.0 | 5.0 | 8.0 | 10.0 | 12.0 | 15.0 |
Kling O3 / Kling O3 Reference-to-Video
Billing parameters: resolution, duration, sound Enabling sound approximately +12.5%
| Resolution | 3s | 5s | 8s | 10s | 12s | 15s |
|---|---|---|---|---|---|---|
| 720p | 1.5 | 2.5 | 4.0 | 5.0 | 6.0 | 7.5 |
| 720p + sound | 1.8 | 3.0 | 4.8 | 6.0 | 7.2 | 9.0 |
| 1080p | 2.4 | 4.0 | 6.4 | 8.0 | 9.6 | 12.0 |
| 1080p + sound | 2.7 | 4.5 | 7.2 | 9.0 | 10.8 | 13.5 |
Kling 2.6
Billing parameters: duration, sound (no resolution dimension) Enabling sound approximately ×2.1
| Duration | No Sound | With Sound |
|---|---|---|
| 5s | 1.55 | 3.25 |
| 10s | 3.10 | 6.50 |
Kling O1 Reference-to-Video
Billing parameters: duration (1080p only, does not support sound) Approximately 0.5 credits/second
| 3s | 4s | 5s | 6s | 7s | 8s | 9s | 10s |
|---|---|---|---|---|---|---|---|
| 1.5 | 2.0 | 2.5 | 3.0 | 3.5 | 4.0 | 4.5 | 5.0 |
Kling 2.5 Turbo Pro / Kling 2.5 Turbo Std
Billing parameters: duration (1080p only, does not support sound)
| Model | 5s | 10s |
|---|---|---|
| Kling 2.5 Turbo Pro | 1.55 | 3.10 |
| Kling 2.5 Turbo Std | 1.00 | 2.00 |
Veo 3.1 / Veo 3.1 Reference to video
Billing parameters: resolution, duration, sound 720p and 1080p same price; enabling sound ×2; 2160(4K)p only supports 8s
| Resolution | 4s | 4s+sound | 6s | 6s+sound | 8s | 8s+sound |
|---|---|---|---|---|---|---|
| 720p / 1080p | 4.4 | 8.8 | 6.6 | 13.2 | 8.8 | 17.6 |
| 2160(4K)p | — | — | — | — | 17.6 | 26.4 |
Veo 3.1 Fast / Veo 3.1 Fast Reference to video
Billing parameters: resolution, duration, sound 720p and 1080p same price; enabling sound approximately +50%; 2160(4K)p only supports 8s
| Resolution | 4s | 4s+sound | 6s | 6s+sound | 8s | 8s+sound |
|---|---|---|---|---|---|---|
| 720p / 1080p | 2.4 | 3.6 | 3.6 | 5.4 | 4.8 | 7.2 |
| 2160(4K)p | — | — | — | — | 13.6 | 16.0 |
MiniMax-Hailuo-02 / MiniMax-Hailuo-2.3
Billing parameters: resolution, duration (does not support sound) 1080p only supports 6s
| Resolution | 6s | 10s |
|---|---|---|
| 768p | 1.6 | 3.2 |
| 1080p | 2.8 | — |
MiniMax-Hailuo-2.3-Fast
Billing parameters: resolution, duration (does not support sound) 1080p only supports 6s
| Resolution | 6s | 10s |
|---|---|---|
| 768p | 1.1 | 1.8 |
| 1080p | 1.8 | — |
Vidu Q3 Pro
Billing parameters: resolution, duration, sound Enabling sound does not add cost; supports 1–16s any duration, linear billing
| Resolution | Unit Price (Credits/sec) | 5s | 10s | 16s |
|---|---|---|---|---|
| 540p | 0.40 | 2.0 | 4.0 | 6.4 |
| 720p | 0.90 | 4.5 | 9.0 | 14.4 |
| 1080p | 1.00 | 5.0 | 10.0 | 16.0 |
Vidu Q2 (T2V) / Vidu Q2 Reference to Video (I2V)
Billing parameters: duration (1080p only, does not support sound) I2V Reference mode includes approximately 2.1 credits base cost, same duration approximately ×2 of T2V
| Model | 2s | 4s | 6s | 8s | 10s |
|---|---|---|---|---|---|
| Vidu Q2 (T2V) | 0.84 | 1.40 | 1.96 | 2.52 | 3.08 |
| Vidu Q2 Reference to Video (I2V) | 2.38 | 2.94 | 3.50 | 4.06 | 4.62 |
Wan 2.6 (I2V and T2V same price)
Billing parameters: resolution, duration, sound Enabling sound does not add cost
| Resolution | 5s | 10s | 15s |
|---|---|---|---|
| 720p | 2.3 | 4.6 | 6.9 |
| 1080p | 3.85 | 7.7 | 11.55 |
Gemini Omni Flash (I2V / T2V / Video Edit)
Billing parameters: resolution, duration (does not support sound)
| Resolution | Unit Price (Credits/sec) | 4s | 6s | 8s | 10s |
|---|---|---|---|---|---|
| 720p | 0.5 | 2.0 | 3.0 | 4.0 | 5.0 |
| 1080p | 0.75 | 3.0 | 4.5 | 6.0 | 7.5 |
| 2160(4K)p | 1.0 | 4.0 | 6.0 | 8.0 | 10.0 |
Happy Horse 1.0 (I2V / T2V / R2V / Video Edit)
Billing parameters: resolution, duration (does not support sound)
| Resolution | Unit Price (Credits/sec) | 3s | 5s | 10s | 15s |
|---|---|---|---|---|---|
| 720p | 1.2 | 3.6 | 6.0 | 12.0 | 18.0 |
| 1080p | 2.0 | 6.0 | 10.0 | 20.0 | 30.0 |
Wan 2.7 (I2V / T2V / R2V / Video Edit / Video Extend)
Billing parameters: resolution, duration (does not support sound)
| Resolution | Unit Price (Credits/sec) | 2s | 5s | 10s | 15s |
|---|---|---|---|---|---|
| 720p | 1.0 | 2.0 | 5.0 | 10.0 | 15.0 |
| 1080p | 1.5 | 3.0 | 7.5 | 15.0 | 22.5 |
Wan 2.7 note: Audio upload not supported in API v1.
Topview Series (I2V and T2V same price)
Billing parameters: duration (no resolution, does not support sound)
| Model | 5s | 10s |
|---|---|---|
| Pro | 1.0 | 2.0 |
| Plus | 2.7 | 5.4 |
| Best | 7.75 | 15.5 |
Kling O3 Video-Edit (Video Edit Mode)
Billing parameters: resolution, output video duration (determined by input video, max 10s, does not support sound)
| Resolution | Unit Price (Credits/sec) | 3s | 5s | 8s | 10s |
|---|---|---|---|---|---|
| 720p | 1.70 | 5.1 | 8.5 | 13.6 | 17.0 |
| 1080p | 2.00 | 6.0 | 10.0 | 16.0 | 20.0 |
Kling O1 Video-Edit (Video Edit Mode)
Billing parameters: Input video duration (rounded up per second, does not support sound)
unitCost = 0.8 × ceil(input video seconds)
| 3s | 4s | 5s | 6s | 7s | 8s | 9s | 10s |
|---|---|---|---|---|---|---|---|
| 2.4 | 3.2 | 4.0 | 4.8 | 5.6 | 6.4 | 7.2 | 8.0 |
Grok Video (Image-to-Video / Text-to-Video)
Billing parameters: resolution, duration (480p and 720p same per-second rate; no sound)
unitCost = 0.8 × duration (seconds)
| Resolution | Credits per second |
|---|---|
| 480p | 0.8 |
| 720p | 0.8 |
Example: 10s @ 720p → 8.0 credits per generation.
Grok Video Edit / Grok Video Extend (Video Edit Mode)
Billing parameters: Input video duration (rounded up per second)
unitCost = 0.8 × ceil(input video seconds)
| 1s | 2s | 5s | 10s | 15s |
|---|---|---|---|---|
| 0.8 | 1.6 | 4.0 | 8.0 | 12.0 |
5.2 Native Audio (sound) Surcharge Reference
| Surcharge | Models |
|---|---|
| No additional cost | Standard/Fast, Vidu Q3 Pro, Wan 2.6 |
| Approximately +12.5% | Kling O3, Kling O3 Reference-to-Video |
| Approximately +25% (1080p) / +60% (720p) | Kling V3 |
| Approximately +50% | Veo 3.1 Fast series, Veo 3.1 2160(4K)p |
| ×2 | Seedance 1.5 pro, Kling 2.6, Veo 3.1 (720p/1080p) |
| Not supported | Seedance 1.0 Pro series, Kling O1/2.5 series, MiniMax series, Vidu Q2, Topview full series, Grok Video, Gemini Omni Flash, Happy Horse 1.0, Wan 2.7 |