aisplice

Seedance 2.0 API pricing: from $0.066 a second, 480p to 4K

Updated 2026-10-20中文版

Seedance 2.0 is ByteDance's video model: text, images, reference videos and audio in, a 4 to 15 second clip with sound out, from 480p up to 4K. On aisplice it costs $0.066 per second at 480p and $0.142 at 720p, so a 5-second 720p clip is $0.71. Below are the full price list and requests you can copy.

Price per second

You pay for each second of video you get back, by resolution. Generated sound is included.

ResolutionPer second5-second clip10-second clip
480p$0.066$0.33$0.66
720p$0.142$0.71$1.42
1080p$0.3544$1.77$3.54
4K$0.722$3.61$7.22
  • Reference videos are billed on top for their own seconds: $0.04 (480p) to $0.444 (4K) per second.
  • A failed task is refunded automatically, so you only pay for clips you get.
  • Pay as you go from your balance; there is no subscription and no minimum.

Fast and Mini

Both take the same requests as Seedance 2.0 and stop at 720p. Use them for drafts and volume; switch the model name to render the final cut with the full model.

ModelName480p720p
Seedance 2.0doubao-seedance-2.0$0.066$0.142
Seedance 2.0 Fastdoubao-seedance-2.0-fast$0.0398$0.0856
Seedance 2.0 Minidoubao-seedance-2.0-mini$0.0106$0.0229

Text to video

curl https://www.aisplice.store/v1/videos \
  -H "Authorization: Bearer sk-YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model": "doubao-seedance-2.0", "prompt": "A drone shot of a lighthouse at dawn, waves breaking on the rocks", "duration": 5, "resolution": "720p", "size": "16:9"}'
# → {"task_id": "task_xxx", "status": "queued"}

Image to video, first and last frames

Put up to 9 public image URLs in images as references. For a clip that starts and ends on exact frames, send exactly one image in images as the first frame and the last frame in image_tail.

curl https://www.aisplice.store/v1/videos \
  -H "Authorization: Bearer sk-YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model": "doubao-seedance-2.0", "prompt": "The camera slowly pushes in", "images": ["https://example.com/first.jpg"], "image_tail": "https://example.com/last.jpg", "duration": 5}'

Reference videos and audio

  • videos: up to 3 public URLs, 1.8 to 15.2 seconds each. The model learns motion, composition and subject from them; their pixels are not copied.
  • audios: up to 3 public URLs, 15 seconds in total, together with at least one reference image or video.
  • metadata.generate_audio (default true), metadata.seed and metadata.return_last_frame, which returns the clip's last frame as last_frame_url so you can chain clips.

Get the video

Check the task until its status is completed or failed, then download the file. Statuses on the way are queued and in_progress. To be called instead of checking, pass webhook_url when you submit.

import time, requests

BASE = "https://www.aisplice.store"
H = {"Authorization": "Bearer sk-YOUR_KEY"}

task = requests.post(f"https://www.aisplice.store/v1/videos", headers=H, json={
    "model": "doubao-seedance-2.0",
    "prompt": "A drone shot of a lighthouse at dawn, waves breaking on the rocks",
    "duration": 5, "resolution": "720p", "size": "16:9",
}).json()

while True:
    status = requests.get(f"https://www.aisplice.store/v1/videos/{task['task_id']}", headers=H).json()["status"]
    if status in ("completed", "failed"):
        break
    time.sleep(5)

video = requests.get(f"https://www.aisplice.store/v1/videos/{task['task_id']}/content", headers=H)
open("out.mp4", "wb").write(video.content)

Options

FieldValues
promptUp to 4000 characters; 500 or fewer works best
duration4 to 15 seconds (default 5)
resolution480p, 720p, 1080p, 4k (default 720p)
size16:9, 9:16, 1:1, 4:3, 3:4, 21:9, adaptive (default 16:9)
imagesUp to 9 reference image URLs, or one first frame with image_tail
image_tailLast-frame URL; needs exactly one first-frame image
videosUp to 3 reference video URLs
audiosUp to 3 reference audio URLs

Next