NezhaGate
seedance-2.0-mini

Seedance 2.0 Mini · API

POST https://nezhagate.com/v1/videos/generations

Seedance 2.0 Mini video generation (async): entry tier, the cheapest per second on the station; duration is any integer 5-15 seconds, resolution 720P, five aspect ratios, audio toggles the soundtrack (default true); include image for image-to-video. Returns a job id (HTTP 202); poll GET /v1/videos/jobs/{id}. Billed per second, fully refunded on failure.

Try in Playground →

Authentication

Header
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json

Create an API Key in the console to start.

Request body

ParameterTypeRequiredDescription
model string Yes Model ID, here seedance-2.0-mini.
prompt string Yes Text prompt describing the video, camera and motion. Max 5000 bytes (UTF-8; a Chinese character counts as 3). With multiple reference images you can address them as @Image1 / @Image2 in the prompt, e.g. "the character from @Image1 in the scene from @Image2"; without tokens the model decides on its own.
duration integer No Length in seconds, any integer 5-15 (default 5); alias seconds. Billed per second.
resolution string No Resolution: 720P (default 720P; each tier has its own rate, see the model page).
size string No Aspect ratio: 16:9 / 9:16 / 1:1 / 4:3 / 3:4 (16:9 default); alias aspect_ratio.
audio boolean No Whether to generate an audio track, default true.
image string No Image-to-video: include a reference image (used as the first frame by default) — a public URL, a data: URI, or base64; omit for text-to-video.
images array No Multiple reference images, up to 4 for this model. Each item may be a public URL, a data: URI, or base64. Exceeding the cap is rejected, never truncated. Alias: reference_images.
image_role string No How the reference images are used: first_frame (default; a second image becomes the last frame) or reference (subject/style references — use this for multiple images). Passing reference_images defaults to reference.
audio_reference string / array No Public http(s) URL(s) for reference audio, up to 1. Must accompany a reference image or video; alias audio_references (do not send both).
video_references array No Public http(s) URL(s) for source video, up to 3. Public links only (a data: URI fails upstream); cannot combine with a reference image or first/last frame.

Request example

cURL
# 1) submit -> 202 {"id":"img_...","status":"queued"}
curl https://nezhagate.com/v1/videos/generations -H 'Authorization: Bearer YOUR_API_KEY' -H 'Content-Type: application/json' -d '{"model": "seedance-2.0-mini", "prompt": "a cat surfing a wave at sunset", "duration": 5, "resolution": "720P", "size": "16:9"}'
# image-to-video: also pass  "image": "https://example.com/first-frame.png"
# 2) poll every ~5s until status=succeeded, then read data[0].url
curl https://nezhagate.com/v1/videos/jobs/img_3f9a...c2 -H 'Authorization: Bearer YOUR_API_KEY'

Response

200 · JSON
{
  "id": "img_3f9a...c2",
  "object": "video.generation.job",
  "status": "queued",
  "model": "seedance-2.0-mini"
}

Async video job (submit → poll)

One model; params pick the type: tier=lite/fast/quality, resolution=720p/1080p/4k (1080p/4k need quality), size=16:9/9:16, duration=4s/6s/8s; add an image param for image-to-video (first frame). Returns HTTP 202 + a job id; poll until status=succeeded, result in data[0].url (a re-hosted mp4, ~1-2 min).

curl · submit (text-to-video)
curl https://nezhagate.com/v1/videos/generations -H 'Authorization: Bearer YOUR_API_KEY' -H 'Content-Type: application/json' -d '{"model": "seedance-2.0-mini", "prompt": "a cat surfing at sunset", "tier": "quality", "resolution": "1080p", "size": "16:9", "duration": "8s"}'
Image-to-video: also pass an image param (first-frame reference: a public URL, a data: URI, or base64).
Response Example
{ "id": "img_3f9a...c2", "object": "video.generation.job", "status": "queued", "model": "seedance-2.0-mini" }
curl · poll
curl https://nezhagate.com/v1/videos/jobs/img_3f9a...c2 -H 'Authorization: Bearer YOUR_API_KEY'
Response Example
{
  "id": "img_3f9a...c2",
  "object": "video.generation.job",
  "status": "succeeded",
  "model": "seedance-2.0-mini",
  "data": [{ "url": "https://img.nezhagate.com/i/9f86d081a8....mp4" }]
}

Billed per second ($0.066/s x duration); the hold equals the settle exactly, and a failed or timed-out render is refunded in full automatically.

Error codes

CodeDescription
401API Key missing or invalid
402Insufficient balance or Key over quota
400Unsupported model or parameter
429Upstream rate limit
502All upstream routes failed