480p · No sound
11
credits / second
= $0.011 USD / second
Official: $0.012−8%
- generate_audio
- false
- resolution
- 480p
ByteDance
Available via APIVideo GenerationGenerate 5-12 second 480p or 720p videos with synchronized dialogue, sound effects, and music from text or first and last frames with Seedance 1.5 Pro.
seedance-1.5-proNew accounts start with $0.20 in free credits, about 18 seconds of video at the starting price.
Compare all Seedance API versionsSeedance 1.5 Pro is developed by ByteDance. Wizzx provides API access to it and does not own the model. All trademarks belong to their respective owners.
Need a first frame? Create one with
Model Guide
Generate 5-12 second 480p or 720p videos with synchronized dialogue, sound effects, and music from text or first and last frames with Seedance 1.5 Pro.
Seedance 1.5 Pro is ByteDance Seed's joint audio-video model. BytePlus ModelArk describes it as a dual-branch Diffusion Transformer built for native audio-video generation: picture and sound are produced in the same pass instead of dubbing audio afterwards. Its prompt guide covers monologues and multi-speaker dialogue with lip-sync matched to each character, basic sound effects, and background music that follows the prompt by default. Speech covers Mandarin and Chinese dialects such as Cantonese and Sichuanese, plus English, Japanese, Korean, Spanish, and Indonesian.
Compared with Seedance Pro Fast in Wizzx, 1.5 Pro is the model to pick when the clip needs sound or a defined end frame. Pro Fast is silent and animates from one first frame, but goes up to 1080p.
| Wizzx control | Current behavior |
|---|---|
| Prompt | Required |
| Mode | Text to video (default), or image to video with 1 (first) or 2 (first + last) frames |
| Generate audio | On by default; turning it off uses a lower per-second rate |
| Duration | 5 (default), 8, 10, or 12 seconds |
| Resolution | 480p or 720p (default) |
| Aspect ratio | Adaptive (default), 16:9, 4:3, 1:1, 3:4, 9:16, or 21:9 |
| Fixed camera | Optional, off by default |
| Return last frame | Optional, off by default; returns the final frame as an image |
| Watermark | Optional, off by default |
| Seed | Optional, -1 (default) for random, up to 4294967295 |
BytePlus recommends the structure subject + movement + environment + camera movement + aesthetics + sound. Write dialogue as a speaker followed by the quoted line, for example Chef: "Taste this.", and describe tone, emotion, or speech rate when they matter. Name the ambient sounds and effects you expect. For camera work, describe the starting composition, the move (dolly, pan, track, orbit, zoom), how far it goes, and the ending composition. With first and last frames, focus on how the scene moves between the two images rather than describing them again. Turn audio off for silent B-roll and the lower rate.
Wizzx returns one MP4 video per request. Resolution and the audio switch select the per-second rate, and duration sets the total; see the live price section on this page. The image-to-video mode takes at most two images, used as first and last frames.
Upstream, ModelArk lists 1080p output, durations from 4 to 12 seconds, and a draft mode for Seedance 1.5 Pro. Wizzx currently exposes only 480p and 720p and fixed durations of 5, 8, 10, or 12 seconds, and does not expose 1080p, other durations, or draft mode. Reference images, reference video, and reference audio are not supported by this model.
Backend pricing
Model identity, billing unit and every price tier below are read from the backend catalog.
11
credits / second
= $0.011 USD / second
Official: $0.012−8%
22
credits / second
= $0.022 USD / second
Official: $0.024−8%
25
credits / second
= $0.025 USD / second
Official: $0.026−4%
50
credits / second
= $0.05 USD / second
Official: $0.052−4%
| Tier | Official from | Wizzx | Savings |
|---|---|---|---|
| 480p · No sound | $0.012 | $0.011 | −8% |
| 480p · With sound | $0.024 | $0.022 | −8% |
| 720p · No sound | $0.026 | $0.025 | −4% |
| 720p · With sound | $0.052 | $0.05 | −4% |
1 credit = $0.001 USD. The final deduction returned by the API is authoritative.
Back to all modelsEvery request is asynchronous: submit the task, keep the task ID, then poll for the result. The body below uses the model's default settings.
Sign in and create a key in the dashboard. Set WIZZX_API_KEY in your server environment; never expose it in browser code.
Send a POST request to the model endpoint. A successful submission returns data.task_id; keep that ID before polling. Submission is not generation completion.
Replace YOUR_TASK_ID with the returned ID and query /api/v1/task/status. Wait for SUCCEEDED and read the output URLs. Stop on FAILED or REVIEW_REQUIRED; do not automatically resubmit an uncertain task.
curl -X POST \
https://api.wizzx.ai/api/v1/task/submit/seedance-1.5-pro \
-H "Authorization: Bearer $WIZZX_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"type": "text-to-video",
"generate_audio": true,
"duration": 5,
"resolution": "720p",
"aspect_ratio": "adaptive",
"camera_fixed": false,
"return_last_frame": false,
"watermark": false,
"seed": -1,
"prompt": "A slow aerial push-in over a coastal cliff road at golden hour, cinematic motion"
}'const response = await fetch("https://api.wizzx.ai/api/v1/task/submit/seedance-1.5-pro", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.WIZZX_API_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
"type": "text-to-video",
"generate_audio": true,
"duration": 5,
"resolution": "720p",
"aspect_ratio": "adaptive",
"camera_fixed": false,
"return_last_frame": false,
"watermark": false,
"seed": -1,
"prompt": "A slow aerial push-in over a coastal cliff road at golden hour, cinematic motion"
}),
});
const payload = await response.json();
const task = payload.data ?? payload;
const taskId = task.task_id;import os
import requests
response = requests.post(
"https://api.wizzx.ai/api/v1/task/submit/seedance-1.5-pro",
headers={
"Authorization": f"Bearer {os.environ['WIZZX_API_KEY']}",
},
json={
"type": "text-to-video",
"generate_audio": True,
"duration": 5,
"resolution": "720p",
"aspect_ratio": "adaptive",
"camera_fixed": False,
"return_last_frame": False,
"watermark": False,
"seed": -1,
"prompt": "A slow aerial push-in over a coastal cliff road at golden hour, cinematic motion"
},
)
payload = response.json()
task = payload.get("data", payload)
task_id = task["task_id"]curl -X POST \
https://api.wizzx.ai/api/v1/task/status \
-H "Authorization: Bearer $WIZZX_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"task_id": "YOUR_TASK_ID"
}'const response = await fetch("https://api.wizzx.ai/api/v1/task/status", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.WIZZX_API_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({ task_id: "YOUR_TASK_ID" }),
});
const payload = await response.json();
const task = payload.data ?? payload;import os
import requests
response = requests.post(
"https://api.wizzx.ai/api/v1/task/status",
headers={
"Authorization": f"Bearer {os.environ['WIZZX_API_KEY']}",
},
json={"task_id": "YOUR_TASK_ID"},
)
payload = response.json()
task = payload.get("data", payload)The fields this endpoint accepts on Wizzx, read from the same schema as the Playground form.
| Parameter | Type | Default | Allowed values | Description |
|---|---|---|---|---|
promptPromptrequired | string | — | — | Describe the video you want to generate |
typeGeneration Typerequired | string | text-to-video | text-to-video · image-to-video | — |
image_urlsInput Images | url[] ≤ 2 | — | — | In Image to video mode, add a first frame or both first and last frames. |
generate_audioGenerate Audio | boolean | true | — | Generate synchronized voice, sound effects, and music. This changes the rate. |
durationDuration | integer | 5 | 5 · 8 · 10 · 12 | Video duration in seconds (4-12s, or -1 for auto) |
resolutionResolution | string | 720p | 480p · 720p | The rate depends on resolution and audio generation. |
aspect_ratioAspect Ratio | string | adaptive | 16:9 · 4:3 · 1:1 · 3:4 · 9:16 · 21:9 · adaptive | — |
camera_fixedFixed Camera | boolean | false | — | Keep camera stationary during generation |
return_last_frameReturn Last Frame | boolean | false | — | Return the last frame image (useful for consecutive videos) |
watermarkWatermark | boolean | false | — | — |
seedSeed | integer | -1 | -1 – 4294967295 | Random seed for reproducibility (-1 for random) |
Wizzx API
New accounts get $0.20 in free credits. Pay as you go with no subscription, and failed tasks are refunded.