Start-End Frame
Generate a transition video from start and end frame images. Async task API: submit a request, receive a task_id, then poll the [Query Creations endpoint](./creations) for the result.
Upload start and end frame images; the model generates a video transitioning from the start frame to the end frame. Supports viduq3-pro, viduq3-turbo, viduq2-pro, viduq1, and related models.
This is an async task-based API: submit a request to receive a task_id, then poll the Query Creations endpoint for the result.
Base URL
https://api.autorouter.top— Production
Authentication
BearerAuth: http (bearer)
Authenticate using a Bearer Token.
Format: Authorization: Bearer sk-xxxxxx
Endpoints
POST /vidu/ent/v2/start-end2video
Create Start-End Frame Video Task
Create a video generation task from a start frame and end frame image. The first image in images is the start frame; the second is the end frame.
Request Body
Content-Type: application/json
Example:
{
"model": "viduq3-pro",
"images": [
"https://prod-ss-images.s3.cn-northwest-1.amazonaws.com.cn/vidu-maas/template/startend2video-1.jpeg",
"https://prod-ss-images.s3.cn-northwest-1.amazonaws.com.cn/vidu-maas/template/startend2video-2.jpeg"
],
"prompt": "The camera zooms in on the bird, which then flies to the right. With its flight being smooth and natural, the bird soars in the sky. with a red light effect following and surrounding it from behind.",
"duration": 5,
"seed": 0,
"resolution": "1080p",
"audio": true,
"off_peak": false
}Properties:
| Name | Type | Required | Description |
|---|---|---|---|
model | string | Yes | Model name. Available values: viduq3-turbo, viduq3-pro, viduq2-pro-fast, viduq2-pro, viduq2-turbo, viduq1, viduq1-classic, vidu2.0 |
images | string[] | Yes | Image array, must contain exactly 2 images: first is start frame, second is end frame. Both images should have similar resolution (start/end ratio between 0.8 and 1.25); aspect ratio less than 1:4 or 4:1; supports URL or Base64; formats png/jpeg/jpg/webp; size ≤ 50 MB; request body ≤ 20 MB |
prompt | string | No | Text prompt, up to 5,000 characters. Ignored when is_rec is enabled |
is_rec | boolean | No | Whether to use recommended prompts. When true, costs an additional 10 credits |
duration | integer | No | Video duration. q3 default 5, range 1–16; q2 series default 5, range 1–8; viduq1 / viduq1-classic only 5; vidu2.0 default 4, available 4 or 8 |
seed | integer | No | Random seed. Uses a random value if omitted or set to 0 |
resolution | string | No | Resolution, default depends on model and duration |
movement_amplitude | string | No | Motion amplitude, default auto. Not effective on q2 and q3 series |
audio | boolean | No | Whether to output audio and video together, default true. Supported only on q3 series |
bgm | boolean | No | Whether to add background music, default false. Not effective on q3 series |
payload | string | No | Passthrough parameter, up to 1,048,576 characters |
off_peak | boolean | No | Off-peak mode, default false |
watermark | boolean | No | Whether to add a watermark, not added by default |
wm_position | integer | No | Watermark position: 1 top-left, 2 top-right, 3 bottom-right (default), 4 bottom-left |
wm_url | string | No | Custom watermark image URL |
meta_data | string | No | Metadata identifier, JSON format string |
callback_url | string | No | Callback URL (POST) when task status changes |
Responses
200: Task created successfully
Content-Type: application/json
400: Bad request / invalid parameters
Content-Type: application/json
429: Rate limit exceeded
Content-Type: application/json
Request Example
curl -X POST "https://api.autorouter.top/vidu/ent/v2/start-end2video" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer sk-xxxxxx" \
-d '{
"model": "viduq3-pro",
"images": [
"https://prod-ss-images.s3.cn-northwest-1.amazonaws.com.cn/vidu-maas/template/startend2video-1.jpeg",
"https://prod-ss-images.s3.cn-northwest-1.amazonaws.com.cn/vidu-maas/template/startend2video-2.jpeg"
],
"prompt": "The camera zooms in on the bird, which then flies to the right.",
"duration": 5,
"seed": 0,
"resolution": "1080p",
"audio": true,
"off_peak": false
}'Response Example
{
"task_id": "your_task_id_here",
"state": "created",
"model": "viduq3-pro",
"images": [
"https://prod-ss-images.s3.cn-northwest-1.amazonaws.com.cn/vidu-maas/template/startend2video-1.jpeg",
"https://prod-ss-images.s3.cn-northwest-1.amazonaws.com.cn/vidu-maas/template/startend2video-2.jpeg"
],
"prompt": "The camera zooms in on the bird, which then flies to the right.",
"duration": 5,
"seed": 123456,
"resolution": "1080p",
"audio": true,
"payload": "",
"off_peak": false,
"credits": 4,
"created_at": "2025-01-01T15:41:31.968916Z"
}Response fields:
| Name | Type | Description |
|---|---|---|
task_id | string | Task ID |
state | string | Processing status: created, queueing, processing, success, failed |
model | string | Model name |
images | string[] | Image parameters |
prompt | string | Prompt |
duration | integer | Video duration |
seed | integer | Random seed |
resolution | string | Resolution |
bgm | boolean | Whether BGM was added |
movement_amplitude | string | Motion amplitude |
payload | string | Passthrough parameter |
off_peak | boolean | Whether off-peak mode was used |
credits | integer | Credits consumed |
watermark | boolean | Whether a watermark was added |
created_at | string | Creation time |
GET /vidu/ent/v2/tasks/{id}/creations
Query Creations
See the Query Creations endpoint for details.
Request Example
curl -X GET "https://api.autorouter.top/vidu/ent/v2/tasks/{task_id}/creations" \
-H "Authorization: Bearer sk-xxxxxx"Error Handling
HTTP 400 Parameter Errors (pre-submit validation, no billing)
| Scenario | Response |
|---|---|
Missing 2 images | {"code":"InvalidParameter","message":"...","request_id":"..."} |
| Unknown model | {"code":"InvalidParameter","message":"unknown model: ...","request_id":"..."} |
HTTP 401 / 403 Auth Errors
401 Unauthorized: API Key invalid or expired403 Forbidden: API Key has no access to this model
HTTP 402 Insufficient Balance
Returns insufficient user quota. Top up at the AutoRouter console.
Task failed Status
See err_code when the task fails. When a task enters failed, AutoRouter automatically refunds the billed quota.
Reference-to-Video
Generate subject-consistent video from subjects or reference images/videos. Async task API: submit a request, receive a task_id, then poll the [Query Creations endpoint](./creations) for the result.
Query Creations
Query Vidu video generation task status and results by task ID. Creation URLs are valid for 24 hours.