POST
https://octopusx.ai
/
v1
/
videos
Vidu Video Generation
curl --request POST \
  --url https://octopusx.ai/v1/videos \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "model": "<string>",
  "prompt": "<string>",
  "aspect_ratio": "<string>",
  "audio": true,
  "voice_id": "<string>",
  "is_rec": true,
  "bgm": true,
  "duration": 123,
  "seed": 123,
  "resolution": "<string>",
  "payload": "<string>",
  "off_peak": true,
  "watermark": true,
  "wm_position": 123,
  "wm_url": "<string>",
  "meta_data": "<string>"
}
'
{
  "id": "video_123",
  "object": "video",
  "model": "viduq3-pro",
  "status": "queued",
  "progress": 0,
  "created_at": 1712697600,
  "size": "1024x1808",
  "seconds": "5",
  "quality": "standard"
}

Vidu Video Generation

The Vidu channel uses POST /v1/videos to submit tasks, submitted as multipart/form-data.
  • The route entry is POST /v1/videos.
  • Currently submitted as multipart/form-data.
  • Supports text-to-video and image-to-video.
  • Upload a single reference image file through the images field.
  • After a successful submission, the task id and status are returned. Poll the result later with Task Status Query.

Supported Models

  • viduq3-pro: Efficiently generates high-quality audio and video content, making videos more vivid, more lifelike, and more three-dimensional
  • viduq2-pro: New model, good results, rich details
  • viduq2-turbo: New model, good results, fast generation

Method and Path

POST /v1/videos

Request Example

curl -X POST https://octopusx.ai/v1/videos \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -F "model=viduq3-pro" \
  -F "prompt=A cat chasing butterflies on the grass" \
  -F "aspect_ratio=16:9" \
  -F "duration=5"

Image-to-Video Example

# Request example with a reference image
curl -X POST https://octopusx.ai/v1/videos \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -F "model=viduq3-pro" \
  -F "prompt=Have the person walk forward and smile" \
  -F "aspect_ratio=9:16" \
  -F "duration=5" \
  -F "images=@/path/to/image.png"

Response Example

{
  "id": "video_123",
  "object": "video",
  "model": "viduq3-pro",
  "status": "queued",
  "progress": 0,
  "created_at": 1712697600,
  "size": "1024x1808",
  "seconds": "5",
  "quality": "standard"
}

Authentication

Authorization: Bearer YOUR_API_KEY

Body

model
string
required
Model name. Supported values: viduq3-pro, viduq2-pro, viduq2-turbo.
prompt
string
required
Text prompt. The text description for generating the video. If the is_rec recommended prompt parameter is used, the model will ignore the prompt entered in this parameter.
images
file
Reference image. Upload a single image file for image-to-video scenarios. Supports passing an image Base64 encoding or an image URL (ensure it is accessible). Only 1 image is supported. Supported image formats: png, jpeg, jpg, webp. The image aspect ratio must be less than 1:4 or greater than 4:1, and the image size must not exceed 50 MB.
aspect_ratio
string
Aspect ratio. Optional values include 16:9 (default), 9:16, 3:4, 4:3, 1:1. Note: 3:4 and 4:3 are only supported by q2 and q3 models.
audio
boolean
Whether to use the audio-video direct output capability. false: no direct audio-video output, produces a silent video; true: direct audio-video output is required, producing a video with dialogue and background sound.
voice_id
string
Voice ID, not effective for q3 models. Used to determine the voice timbre in the video; when empty, the system will automatically recommend one.
is_rec
boolean
Whether to use recommended prompts. true: the system automatically recommends prompts and uses the prompt content to generate the video, recommended prompt count = 1; false: generate the video based on the input prompt.
bgm
boolean
Whether to add background music to the generated video. true: the system will automatically select suitable music from the preset BGM library and add it; false: no BGM is added.
duration
integer
Video duration (seconds). The default for the viduq2 series is 5; optional: 1-10.
seed
integer
Random seed. When not passed by default or passed as 0, a random number will be used instead. If set manually, the configured seed will be used.
resolution
string
Resolution. The default value depends on the model and video duration. viduq2-pro 1-10 seconds: default 720p, optional: 540p, 720p, 1080p; viduq2-turbo 1-10 seconds: default 720p, optional: 540p, 720p, 1080p.
payload
string
Pass-through parameter. No processing is performed; data transmission only.
off_peak
boolean
Off-peak mode. true: generate videos during off-peak hours; false: generate videos immediately.
watermark
boolean
Whether to add a watermark. true: add watermark; false: no watermark.
wm_position
integer
Watermark position. 1: top-left; 2: top-right; 3: bottom-right; 4: bottom-left.
wm_url
string
Watermark content, here it is an image URL. If not passed, the default watermark is used: content generated by AI.
meta_data
string
Metadata identifier, JSON-formatted string, pass-through field.

Response

id
string
Task ID.
object
string
Fixed as video.
model
string
Model name.
status
string
Task status. Optional values include queued (in queue), processing (processing), completed (completed), failed (failed), cancelled (cancelled).
progress
integer
Progress percentage (0-100).
created_at
integer
Creation time (Unix timestamp).
size
string
Video size, for example 1024x1808.
seconds
string
Video duration (seconds).
quality
string
Video quality, for example standard.