UlazAI developer docs
Developer documentation
Seedance 1.5 Pro API
Generate cinematic audio-video clips with Seedance 1.5 Pro. Supports text-to-video and image-to-video with optional native audio.
π¬ Audio-Video: Create 4-12 second clips in 480p or 720p with optional sound effects, music, and dialogue.
β¨ Seedance 1.5 Pro Features
β Text-to-Video generation
β Image-to-Video guidance (up to 2 images)
β 4s, 8s, or 12s durations
β 480p or 720p resolution
β Optional native audio
β Stable characters and smooth motion
Authentication
All API requests require a Bearer token:
Authorization: Bearer YOUR_API_KEY
Get an API key from your dashboard under API Keys (go to /dashboard/).
/seedance/upload/
Upload Input Image
Upload an image for image-to-video guidance. Returns a permanent URL to use in generation requests.
Request Headers
Authorization: Bearer YOUR_API_KEY
Content-Type: multipart/form-data
Form Data Parameters
file * (file)
JPG, PNG, WebP (max 10MB).
Success Response (200)
{
"success": true,
"url": "https://media.ulazai.com/seedance_images/u1_abc123.jpg",
"filename": "seedance_images/u1_abc123.jpg"
}
Example Usage (cURL)
curl -X POST https://api.ulazai.com/seedance/upload/ \
-H "Authorization: Bearer YOUR_API_KEY" \
-F "file=@/path/to/image.jpg"
/seedance/generate/
Create Generation Task
Create a Seedance 1.5 Pro video generation. You can send a simplified payload or use the model + input structure.
Request Body (Simple)
{
"prompt": "A cinematic close-up of a chef flipping noodles in slow motion",
"input_urls": ["https://media.ulazai.com/seedance_images/u1_abc123.jpg"],
"aspect_ratio": "16:9",
"resolution": "720p",
"duration": "8",
"fixed_lens": true,
"generate_audio": true,
"prompt_directory_optin": true
}
Request Body (Model/Input Style)
{
"model": "bytedance/seedance-1.5-pro",
"input": {
"prompt": "A cinematic close-up of a chef flipping noodles in slow motion",
"input_urls": ["https://media.ulazai.com/seedance_images/u1_abc123.jpg"],
"aspect_ratio": "16:9",
"resolution": "720p",
"duration": "8",
"fixed_lens": true,
"generate_audio": true
}
}
Parameters
prompt * (string)
3-2500 characters describing the video.
input_urls (array)
Optional. Up to 2 image URLs for image-to-video.
aspect_ratio (string)
One of: 1:1, 21:9, 4:3, 3:4, 16:9, 9:16.
resolution (string)
480p or 720p.
duration (string)
4, 8, or 12 seconds.
fixed_lens (boolean)
Enable for a stable camera view.
generate_audio (boolean)
Enable to generate audio. Adds credits.
prompt_directory_optin (boolean)
Optional. Share to the prompt directory (available for high-tier options only). Discount applies when eligible.
Success Response (200)
{
"success": true,
"generation_id": "abc12345-1234-1234-1234-123456789012",
"task_id": "seedance_task_xyz789",
"credits_used": 42,
"directory_discount_applied": true,
"message": "Video generation started. This may take a few minutes."
}
/seedance/status/{generation_id}/
Query Task Status
Poll for the status of a Seedance 1.5 Pro generation.
Processing Response
{
"success": true,
"status": "processing",
"message": "Video is being generated..."
}
Success Response (200)
{
"success": true,
"status": "completed",
"video_url": "https://media.ulazai.com/seedance_outputs/video.mp4"
}
Usage Flow
- Call
/seedance/generate/with your prompt and parameters. - Store the
generation_idfrom the response. - Poll
/seedance/status/{generation_id}/untilstatusiscompleted. - Use the
video_urlto download or embed the result.
Error Codes
400 Invalid request parameters
401 Authentication failed (missing or invalid API key)
402 Insufficient credits
429 Rate limit exceeded
500 Internal server error