Vidu is a powerful AI video and audio generation service you can call directly through Fhddos. Use your existing Fhddos token — there is no separate Vidu account registration required. All endpoints share the /vidu prefix, and billing comes straight from your Fhddos account balance.
Authentication
Add your Fhddos token to every request as a Bearer credential:
Authorization: Bearer <fhddos-token>
Base URL: https://aiapi.fhddos.com
Core capabilities
Capability Description Text-to-video Generate a video from a text description Image-to-video Animate a still image into a dynamic video First / last frame Generate a smooth transition video between two keyframe images Reference-to-video Generate video anchored to 1–7 reference images Video replacement Replace the subject in an existing video Lip sync Add audio or text dubbing to an existing video E-commerce one-click Produce an ad video from a product image in one call Controllable audio effects Compose multi-segment audio events on a timeline
Available models
Image / First-last frame
Text-to-video
Reference-to-video
Audio effects
Model Notes viduq3-turboLatest Q3 turbo viduq3-proLatest Q3 pro viduq2-pro-fastQ2 pro, accelerated viduq2-proQ2 pro viduq2-turboQ2 turbo viduq1Q1 standard viduq1-classicQ1 classic vidu2.0Version 2.0 (first-last frame supported) vidu1.5Image-to-video only — first-last frame not supported
Model viduq3-turboviduq3-providuq2viduq1vidu2.0vidu1.5
Model viduq2viduq1vidu2.0vidu1.5
Model Use case audio1.0Timeline-based multi-segment controllable audio
Billing
Fees are deducted from your account balance per task.
Different models, resolutions, and durations carry different prices.
Enable off-peak mode (off_peak=true) for a 50 % discount on generation cost.
Tasks that fail or are blocked by content review are not charged .
Quick start
Text-to-video
curl -X POST "https://aiapi.fhddos.com/vidu/ent/v2/text2video" \
-H "Authorization: Bearer $TOKEN " \
-H "Content-Type: application/json" \
-d '{
"model": "viduq3-turbo",
"prompt": "Cinematic sunset at sea",
"audio": true,
"duration": 5,
"resolution": "720p",
"style": "general"
}'
Query task status
curl "https://aiapi.fhddos.com/vidu/ent/v2/tasks/ $TASK_ID /creations" \
-H "Authorization: Bearer $TOKEN "
Video generation endpoints
All generation endpoints follow the same pattern:
POST https://aiapi.fhddos.com/vidu/ent/v2/{action}
Mode Path Text-to-video /vidu/ent/v2/text2videoImage-to-video /vidu/ent/v2/img2videoFirst-last frame /vidu/ent/v2/start-end2videoReference-to-video /vidu/ent/v2/reference2video
Common parameters
Parameter Type Required Description modelstring ✅ Model name (see tables above) durationint ❌ Duration in seconds; valid range depends on model resolutionstring ❌ 540p, 720p, or 1080pmovement_amplitudestring ❌ Camera motion: auto, small, medium, large off_peakbool ❌ true for 50 % off-peak discountwatermarkbool ❌ Embed a watermark in the output wm_positionstring ❌ Watermark position wm_urlstring ❌ URL of the watermark image callback_urlstring ❌ Webhook URL for task-state change notifications
Text-to-video
Generate video purely from a text prompt. Supports general and anime styles, and audio-sync (audio) on Q3 models.
curl -X POST "https://aiapi.fhddos.com/vidu/ent/v2/text2video" \
-H "Authorization: Bearer $TOKEN " \
-H "Content-Type: application/json" \
-d '{
"model": "viduq3-turbo",
"prompt": "A girl runs toward the camera and winks with a smile.",
"audio": true,
"duration": 5,
"resolution": "720p",
"style": "general",
"off_peak": false
}'
Text-to-video exclusive parameters:
Parameter Required Description prompt✅ Text description, up to 2 000 characters style❌ general (default) or animeaudio❌ true to generate audio alongside the video (Q3 series only)
Image-to-video
Animate a still image. Supply exactly one image URL in the images array.
curl -X POST "https://aiapi.fhddos.com/vidu/ent/v2/img2video" \
-H "Authorization: Bearer $TOKEN " \
-H "Content-Type: application/json" \
-d '{
"model": "viduq3-turbo",
"images": ["https://your.cdn.com/first.png"],
"prompt": "The astronaut waved and the camera moved up.",
"audio": true,
"duration": 5,
"resolution": "720p",
"off_peak": true
}'
Image-to-video exclusive parameters:
Parameter Required Description images✅ Array of image URLs — must contain exactly 1 image
First-last frame
Generate the middle section of a video between a start frame and an end frame. Supply exactly two image URLs — first frame then last frame.
curl -X POST "https://aiapi.fhddos.com/vidu/ent/v2/start-end2video" \
-H "Authorization: Bearer $TOKEN " \
-H "Content-Type: application/json" \
-d '{
"model": "viduq2-pro",
"images": [
"https://your.cdn.com/start.png",
"https://your.cdn.com/end.png"
],
"duration": 5,
"resolution": "1080p"
}'
First-last frame exclusive parameters:
Parameter Required Description images✅ Array of exactly 2 image URLs: [startFrame, endFrame]
Reference-to-video
Generate a video that preserves subjects from 1–7 reference images alongside a text prompt.
curl -X POST "https://aiapi.fhddos.com/vidu/ent/v2/reference2video" \
-H "Authorization: Bearer $TOKEN " \
-H "Content-Type: application/json" \
-d '{
"model": "viduq1",
"images": [
"https://your.cdn.com/ref-1.jpg",
"https://your.cdn.com/ref-2.jpg"
],
"prompt": "A mouse runs toward the camera, smiling and blinking.",
"duration": 5,
"resolution": "1080p"
}'
Reference-to-video exclusive parameters:
Parameter Required Description images✅ Array of 1–7 reference image URLs prompt✅ Text description, up to 2 000 characters
Creation response
All generation endpoints return the same initial response:
{
"task_id" : "176843862716480" ,
"platform_id" : "video_01JSGXXXXXXXXXXXXXXXXXX" ,
"state" : "created"
}
task_id is the raw Vidu upstream task ID; platform_id (video_<ULID>) is Fhddos’s internal tracking ID. Both IDs are accepted by the query and cancel endpoints. A created state means the task has been queued — poll the query endpoint to get the final result.
Task query & management
All video tasks are asynchronous. Poll the query endpoint or configure a callback_url on creation to receive state-change notifications.
Query task status
curl -X GET "https://aiapi.fhddos.com/vidu/ent/v2/tasks/ $TASK_ID /creations" \
-H "Authorization: Bearer $TOKEN "
Response example (completed):
{
"id" : "176843862716480" ,
"state" : "success" ,
"credits" : 10 ,
"creations" : [
{
"id" : "creation_123" ,
"url" : "https://your.cdn/generate/abc.mp4" ,
"cover_url" : "https://your.cdn/generate/abc.jpg" ,
"watermarked_url" : "https://your.cdn/generate/abc_wm.mp4"
}
]
}
Task states
State Description createdTask accepted and queued queueingWaiting for a generation slot processingActively generating successGeneration complete failedGeneration failed (not charged)
Response fields
Field Description creations[].urlTemporary download URL for the generated video creations[].cover_urlCover thumbnail URL creations[].watermarked_urlWatermarked video URL (only present when watermark was enabled) creditsCredits consumed (deducted on success only)
Cancel a task
curl -X POST "https://aiapi.fhddos.com/vidu/ent/v2/tasks/ $TASK_ID /cancel" \
-H "Authorization: Bearer $TOKEN "
A successful cancel response includes any credits consumed up to that point.
Polling recommendations
Interval Poll every 3–5 seconds to avoid rate limiting.
Timeout Set a 5–10 minute client timeout; longer videos may take more time.
Callbacks Set callback_url at creation to receive a push notification instead of polling.
Tips & best practices
Save 50 % with off-peak mode. Add "off_peak": true to any generation request. Generation may take slightly longer, but the cost is halved.
Add a watermark. Pass "watermark": true along with wm_position (position string) and wm_url (URL of your logo image) to brand every output video automatically.
Choose the right style. The style parameter on text-to-video accepts "general" for realistic/cinematic output and "anime" for stylised animation. Only Q3 models support the audio flag for simultaneous audio generation.
Model duration reference
Series Supported durations Q3 (viduq3-*) 1–16 seconds Q2 (viduq2-*) 1–8 seconds vidu2.04 s or 8 s vidu1.5Standard range; first-last frame not supported