POST
https://octopusx.ai
/
vidu
/
ent
/
v2
/
start-end2video
Vidu Start and End Frame Video Generation
curl --request POST \
  --url https://octopusx.ai/vidu/ent/v2/start-end2video \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "model": "<string>",
  "images": [
    {}
  ],
  "prompt": "<string>",
  "audio": true,
  "voice_id": "<string>",
  "is_rec": true,
  "bgm": true,
  "duration": 123,
  "seed": 123,
  "resolution": "<string>",
  "off_peak": true,
  "watermark": true,
  "wm_position": 123,
  "wm_url": "<string>",
  "payload": "<string>",
  "meta_data": "<string>"
}
'
{
  "task_id": "48038932-0ff5-4251-8b4b-7a76c09fd114",
  "status": "processing",
  "created_at": 1774494511
}

Vidu Start and End Frame Video Generation

The official Vidu start-and-end-frame video generation API, submitted as application/json.
  • The route entry is POST /vidu/ent/v2/start-end2video.
  • Currently submitted as application/json.
  • Supports start-and-end-frame video generation.
  • After a successful submission, the task task_id and status are returned. Use Query Task to poll for results.

Supported Models

  • viduq3-pro: Efficiently generates high-quality audio and video content, making videos more vivid, more lifelike, and more immersive
  • viduq2-pro / viduq2-turbo: New models with good results and rich details
  • viduq2-pro-fast: Lowest price, fast generation
  • viduq1 / viduq1-classic: Clear visuals, stable camera movement
  • vidu2.0: Fast generation

Method and Path

POST /vidu/ent/v2/start-end2video

Request Example

curl -X POST https://octopusx.ai/vidu/ent/v2/start-end2video \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "viduq3-pro",
    "images": [
      "https://example.com/first-frame.png",
      "https://example.com/last-frame.png"
    ],
    "prompt": "Smooth transition",
    "audio": false,
    "is_rec": false,
    "bgm": false,
    "duration": 5,
    "seed": 0,
    "resolution": "720p"
  }'

Response Example

{
  "task_id": "48038932-0ff5-4251-8b4b-7a76c09fd114",
  "status": "processing",
  "created_at": 1774494511
}

Authentication

Authorization: Bearer YOUR_API_KEY

Body

model
string
required
Model name. Supported: viduq3-pro, viduq2-pro, viduq2-turbo, viduq2-pro-fast, viduq1, viduq1-classic, vidu2.0.
images
array
required
Images (first frame + last frame). Two images are supported; the first image is treated as the first frame and the second image as the last frame. Note 1: The resolutions of the two input images must be similar; the ratio between the first-frame image resolution and the last-frame image resolution must be between 0.8 and 1.25. Note 2: The image ratio must be less than 1:4 or 4:1. Note 3: Image Base64 encoding or image URL is supported. Note 4: Supported image formats: png, jpeg, jpg, webp. Note 5: The image size must not exceed 50M. Note 6: The POST body of the HTTP request must not exceed 20MB, and the encoding must include the content type string, for example: data:image/png;base64,{base64_encode}.
prompt
string
Text prompt. The text description for video generation. If the is_rec recommended prompt parameter is used, the model will ignore the prompt entered in this parameter.
audio
boolean
Direct audio-video output. true: outputs a video with dialogue and background sound; false: outputs a silent video.
voice_id
string
Voice ID. Determines the voice timbre in the video. When empty, the system will automatically recommend one. Note: does not take effect for q3 models.
is_rec
boolean
Whether to use recommended prompts. true: the system automatically recommends prompts; false: generates video based on the input prompt.
bgm
boolean
Background music. true: the system will automatically select suitable music from the preset BGM library and add it; false: no BGM will be added.
duration
integer
Video duration in seconds. viduq2 series: default 5 seconds, optional 1-10 seconds.
seed
integer
Random seed. If not provided or set to 0, a random number is used; if set manually, the specified seed is used.
resolution
string
Resolution. The default value depends on the model and video duration. viduq2 (1-10 seconds): default 720p, optional 540p, 720p, 1080p.
off_peak
boolean
Off-peak mode. true: generate video during off-peak periods; false: generate video immediately.
watermark
boolean
Whether to add a watermark. true: add watermark; false: do not add watermark.
wm_position
integer
Watermark position. 1: top-left; 2: top-right; 3: bottom-right; 4: bottom-left.
wm_url
string
Watermark image URL. When not provided, the default watermark is used: “Content generated by AI”.
payload
string
Pass-through parameter. No processing is performed; data is transmitted as-is.
meta_data
string
Metadata identifier. A JSON-formatted string, pass-through field.

Response

task_id
string
Task ID, used to query the task status.
status
string
Task status. Possible values: processing (in progress), failed (failed), completed (completed).
created_at
integer
Creation timestamp (Unix timestamp).