Seedance 1.5 Pro Super — Start-End Frame 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>",
"start_frame_url": "<string>",
"end_frame_url": "<string>",
"resolution": "<string>",
"duration": "<string>",
"aspect_ratio": "<string>",
"generate_audio": true,
"camera_fixed": true
}
}
'import requests
url = "https://api.muvi.video/v1/jobs/submit"
payload = {
"model": "<string>",
"input": {
"prompt": "<string>",
"start_frame_url": "<string>",
"end_frame_url": "<string>",
"resolution": "<string>",
"duration": "<string>",
"aspect_ratio": "<string>",
"generate_audio": True,
"camera_fixed": True
}
}
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>',
start_frame_url: '<string>',
end_frame_url: '<string>',
resolution: '<string>',
duration: '<string>',
aspect_ratio: '<string>',
generate_audio: true,
camera_fixed: true
}
})
};
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 1.5 Pro Super
Seedance 1.5 Pro Super — Start-End Frame to Video
Generate smooth transition videos between two keyframes using ByteDance+ Seedance 1.5 Pro Super
POST
/
v1
/
jobs
/
submit
Seedance 1.5 Pro Super — Start-End Frame 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>",
"start_frame_url": "<string>",
"end_frame_url": "<string>",
"resolution": "<string>",
"duration": "<string>",
"aspect_ratio": "<string>",
"generate_audio": true,
"camera_fixed": true
}
}
'import requests
url = "https://api.muvi.video/v1/jobs/submit"
payload = {
"model": "<string>",
"input": {
"prompt": "<string>",
"start_frame_url": "<string>",
"end_frame_url": "<string>",
"resolution": "<string>",
"duration": "<string>",
"aspect_ratio": "<string>",
"generate_audio": True,
"camera_fixed": True
}
}
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>',
start_frame_url: '<string>',
end_frame_url: '<string>',
resolution: '<string>',
duration: '<string>',
aspect_ratio: '<string>',
generate_audio: true,
camera_fixed: true
}
})
};
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 a video that smoothly transitions from a start frame to an end frame using ByteDance+ Seedance 1.5 Pro Super. Supports up to 1080p resolution, 12-second durations, optional generated audio, and a fixed-camera mode.
| Property | Value |
|---|---|
| Provider | ByteDance+ |
| Model | Seedance 1.5 Pro Super |
| Capability | Start-End Frame to Video |
| Base Cost | 15,000 micro-cents/second ($0.015/sec) |
| Processing Time | ~300 seconds |
Request Body
string
required
Model slug. Use
bytedance-plus/seedance-1.5-pro-super/start-end-frame-to-video.object
required
Input parameters for start-end frame video generation.
Hide properties
Hide properties
string
Optional text description of the motion or transition (max 5000 characters).
string
required
URL of the start frame image.
string
required
URL of the end frame image.
string
Output resolution. Default:
720p. Options: 480p, 720p, 1080p.string
Video duration in seconds. Default:
5. Options: 4, 5, 6, 7, 8, 9, 10, 11, 12.string
Video aspect ratio. Default:
16:9. Options: 21:9, 16:9, 4:3, 1:1, 3:4, 9:16.boolean
Generate synchronized audio for the video. Default:
true.boolean
Lock the camera position for a static shot. Default:
false.string
HTTPS URL to receive a webhook notification when the job completes or fails.
Pricing
Base cost: 15,000 micro-cents per second ($0.015/sec)finalCost = baseCost × resolution × generate_audio × duration
| Factor | Option | Multiplier |
|---|---|---|
| Resolution | 480p | 1x |
720p | 1.8667x | |
1080p | 3.7333x | |
| Generate Audio | false | 1x |
true | 2x | |
| Duration | 4–12 | matches value (e.g. 5 → 5x) |
Default cost: 720p, audio on, 5 seconds = 15,000 × 1.8667 × 2 × 5 = 280,005 micro-cents ($0.28)
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-plus/seedance-1.5-pro-super/start-end-frame-to-video",
"input": {
"prompt": "Smoothly transition from sunrise to sunset",
"start_frame_url": "https://example.com/image.jpg",
"end_frame_url": "https://example.com/image.jpg",
"resolution": "720p",
"duration": "5",
"aspect_ratio": "16:9",
"generate_audio": true
}
}'
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-plus/seedance-1.5-pro-super/start-end-frame-to-video",
"input": {
"prompt": "Smoothly transition from sunrise to sunset",
"start_frame_url": "https://example.com/image.jpg",
"end_frame_url": "https://example.com/image.jpg",
"resolution": "720p",
"duration": "5",
"aspect_ratio": "16:9",
"generate_audio": True
}
}
)
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-plus/seedance-1.5-pro-super/start-end-frame-to-video",
input: {
prompt: "Smoothly transition from sunrise to sunset",
start_frame_url: "https://example.com/image.jpg",
end_frame_url: "https://example.com/image.jpg",
resolution: "720p",
duration: "5",
aspect_ratio: "16:9",
generate_audio: true
}
})
});
const data = await response.json();
console.log(data);
