Text-to-video or image-to-video model. Generates short video clips with configurable duration and resolution.
Key strengths
- Text + image input
- Multiple resolutions
- Duration control
- Motion coherence
Use cases
- Ads and trailers
- Concept videos
- Storyboards
- Social media content
Vidu's vidu/viduq2-pro-fast is a high-fidelity video generation model. It supports text-to-video and image-to-video workflows with configurable duration, aspect ratio, and resolution, plus first-frame and last-frame control for guided scene composition.
Generates cinematic clips with consistent motion, camera control, and optional native audio. Billed per second of generated content.
vidu/viduq2-pro-fast is fully OpenAI-compatible — drop in your existing OpenAI Python or Node SDK and switch `baseURL` to `https://api.tokenlx.ai`. TokenLX transparently routes your requests to the optimal provider endpoint while preserving streaming, function-calling, and structured-output semantics.
Performance
Compare different providers across TokenLX · All locations.
Effective Pricing
Pricing is shown by the model billing method, using per-call or per-second prices and resolution tiers.
Recent activity
Total usage per day on TokenLX (last 30 days).
Sample code & API
TokenLX normalizes requests and responses across providers. Use any OpenAI SDK or our native SDK.
# ─── 图生视频(首帧驱动)───
import requests, time
headers = {"Authorization": "Bearer sk-tokenlx-...", "Content-Type": "application/json"}
resp = requests.post(
"https://api.tokenlx.ai/v1/aigc/video/tasks",
headers=headers,
json={
"model": "viduq2-pro-fast",
"prompt": "画面中的人物缓缓转头微笑",
"referenceImageUrls": ["https://example.com/first-frame.jpg"],
"videoInputMode": "first_frame",
"duration": 5,
"aspectRatio": "16:9",
"resolution": "720p",
},
)
task = resp.json()
task_id = task.get("taskId") or task.get("task_id") or task.get("id")
# 轮询结果
while True:
result = requests.get(
f"https://api.tokenlx.ai/v1/aigc/video/tasks/{'{'}task_id{'}'}?model=viduq2-pro-fast",
headers=headers,
).json()
print("status:", result.get("status"))
if result.get("status") in ("completed", "succeeded", "done"):
print(result)
break
time.sleep(10)
# ─── 图生视频(首尾帧驱动)───
fl_resp = requests.post(
"https://api.tokenlx.ai/v1/aigc/video/tasks",
headers=headers,
json={
"model": "viduq2-pro-fast",
"prompt": "平滑过渡",
"referenceImageUrls": [
"https://example.com/start.jpg",
"https://example.com/end.jpg",
],
"videoInputMode": "first_last_frame",
"duration": 5,
"aspectRatio": "16:9",
"resolution": "720p",
},
)
print("taskId:", fl_resp.json())Replace sk-aihubrouter-… with your key from the dashboard.
Parameter Reference
POST /v1/aigc/video/tasksGET /v1/aigc/video/tasks/{taskId}?model=viduq2-pro-fastResponse is raw upstream JSON passthrough — fields vary by channel.
| Parameter | Type | Required | Description |
|---|---|---|---|
| model | string | Yes | Model name |
| prompt | string | Yes | Video description prompt |
| duration | int | No | Duration in seconds (1~10s) |
| aspectRatio | string | No | Aspect ratio 16:99:161:1 |
| resolution | string | No | Output resolution 540p720p1080p |
| viduExtraJson | object | No | Extra JSON for Vidu-specific options (e.g. enhance, fps) |
| referenceImageUrls | array | Image-to-video | Reference image URLs. Aspect ratio: 1:4~4:1. Note: aspect ratio is inherited from image in I2V mode (aspectRatio param not accepted) |
| videoInputMode | string | No | Input mode. Auto-inferred if omitted: 1 image → first_frame, 2 → first_last_frame, ≥3 → reference first_framefirst_last_framereference |
modelstringYespromptstringYesdurationintNoaspectRatiostringNo16:99:161:1resolutionstringNo540p720p1080pviduExtraJsonobjectNoreferenceImageUrlsarrayImage-to-videovideoInputModestringNofirst_framefirst_last_framereference