Seedance 2.0 Fast — Text to Video
curl --request POST \
--url https://api.muvi.video/v1/jobs/submit \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"model": "<string>",
"input": {
"prompt": "<string>",
"aspect_ratio": "<string>",
"duration": "<string>",
"resolution": "<string>",
"fps": "<string>"
}
}
'import requests
url = "https://api.muvi.video/v1/jobs/submit"
payload = {
"model": "<string>",
"input": {
"prompt": "<string>",
"aspect_ratio": "<string>",
"duration": "<string>",
"resolution": "<string>",
"fps": "<string>"
}
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
model: '<string>',
input: {
prompt: '<string>',
aspect_ratio: '<string>',
duration: '<string>',
resolution: '<string>',
fps: '<string>'
}
})
};
fetch('https://api.muvi.video/v1/jobs/submit', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"jobId": "<string>",
"status": "<string>",
"estimatedCompletionTime": "<string>",
"costMicroCents": 123
}Seedance 2.0 Fast
Seedance 2.0 Fast — Text to Video
Faster text-to-video generation with ByteDance’s Seedance 2.0 Fast model
POST
/
v1
/
jobs
/
submit
Seedance 2.0 Fast — Text to Video
curl --request POST \
--url https://api.muvi.video/v1/jobs/submit \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"model": "<string>",
"input": {
"prompt": "<string>",
"aspect_ratio": "<string>",
"duration": "<string>",
"resolution": "<string>",
"fps": "<string>"
}
}
'import requests
url = "https://api.muvi.video/v1/jobs/submit"
payload = {
"model": "<string>",
"input": {
"prompt": "<string>",
"aspect_ratio": "<string>",
"duration": "<string>",
"resolution": "<string>",
"fps": "<string>"
}
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
model: '<string>',
input: {
prompt: '<string>',
aspect_ratio: '<string>',
duration: '<string>',
resolution: '<string>',
fps: '<string>'
}
})
};
fetch('https://api.muvi.video/v1/jobs/submit', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"jobId": "<string>",
"status": "<string>",
"estimatedCompletionTime": "<string>",
"costMicroCents": 123
}Generate videos from text descriptions with ByteDance’s Seedance 2.0 Fast — optimized for shorter processing time and lower cost. Supports configurable resolution, frame rate, duration, and aspect ratios.
| Property | Value |
|---|---|
| Provider | ByteDance |
| Model | Seedance 2.0 Fast |
| Capability | Text to Video |
| Base Cost | 200,000 micro-cents/second ($0.20/sec) |
| Processing Time | ~180 seconds |
Request Body
string
required
Model slug. Use
bytedance/seedance-2.0-fast/text-to-video for fast text-to-video generation.object
required
Input parameters for text-to-video generation.
Hide properties
Hide properties
string
required
Text description of the video to generate (max 5000 characters).
string
Video aspect ratio. Default:
16:9. Options: 21:9, 16:9, 4:3, 1:1, 3:4, 9:16.string
Video duration in seconds. Default:
5. Options: 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15.string
Output resolution. Default:
720p. Options: 720p, 1440p.string
Frames per second. Default:
24. Options: 24, 30, 60.string
HTTPS URL to receive a webhook notification when the job completes or fails.
Pricing
Base cost: 200,000 micro-cents per second ($0.20/sec)finalCost = baseCost × duration × resolution × fps
| Factor | Option | Multiplier |
|---|---|---|
| Duration | 4 | 4x |
5 | 5x | |
6 | 6x | |
7 | 7x | |
8 | 8x | |
9 | 9x | |
10 | 10x | |
11 | 11x | |
12 | 12x | |
13 | 13x | |
14 | 14x | |
15 | 15x | |
| Resolution | 720p | 1x |
1440p | 1.5x | |
| FPS | 24 | 1x |
30 | 1.1x | |
60 | 1.25x |
Default cost: 5 seconds, 720p, 24 fps = 200,000 × 5 × 1 × 1 = 1,000,000 micro-cents ($1.00)
Response
string
Unique identifier for the submitted job.
string
Initial job status. Always
"pending" on successful submission.string
ISO 8601 timestamp of the estimated completion time.
number
The cost of the job in micro-cents.
Code Examples
curl -X POST https://api.muvi.video/v1/jobs/submit \
-H "Authorization: Bearer $PIXELBYTE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "bytedance/seedance-2.0-fast/text-to-video",
"input": {
"prompt": "A cinematic shot of a lone astronaut walking across a glowing alien desert at sunset",
"aspect_ratio": "16:9",
"duration": "5",
"resolution": "720p",
"fps": "24"
}
}'
import requests
response = requests.post(
"https://api.muvi.video/v1/jobs/submit",
headers={
"Authorization": "Bearer YOUR_API_KEY",
"Content-Type": "application/json"
},
json={
"model": "bytedance/seedance-2.0-fast/text-to-video",
"input": {
"prompt": "A cinematic shot of a lone astronaut walking across a glowing alien desert at sunset",
"aspect_ratio": "16:9",
"duration": "5",
"resolution": "720p",
"fps": "24"
}
}
)
data = response.json()
print(data)
const response = await fetch("https://api.muvi.video/v1/jobs/submit", {
method: "POST",
headers: {
"Authorization": "Bearer YOUR_API_KEY",
"Content-Type": "application/json"
},
body: JSON.stringify({
model: "bytedance/seedance-2.0-fast/text-to-video",
input: {
prompt: "A cinematic shot of a lone astronaut walking across a glowing alien desert at sunset",
aspect_ratio: "16:9",
duration: "5",
resolution: "720p",
fps: "24"
}
})
});
const data = await response.json();
console.log(data);
