YepAPI
AI Models

Seedance 2.0

AI video generation from text, images, video, or audio references. 4-15 seconds, flexible aspect ratios, optional audio.

POST/v1/media/queue
~$1.50 est.

Overview

High-quality video generation from text prompts, images, video references, or audio references. Async operation — submit a job, poll for completion.

PropertyValue
Model IDbytedance/seedance-2-0
Upstream Modeldreamina-seedance-2-0-260128
Resolutions480p, 720p
Duration4–15 seconds (continuous)
Aspect Ratios21:9, 16:9, 4:3, 1:1, 3:4, 9:16
Audio GenerationOptional (built-in)
BillingToken-based (dynamic)
Pricing~$14.0/1M tokens

Usage

All media models use the async job queue. Submit a job, then poll for the result.

Step 1: Submit Job

Text-to-Video

const res = await fetch('https://api.yepapi.com/v1/media/queue', {
  method: 'POST',
  headers: {
    'x-api-key': 'YOUR_API_KEY',
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    model: 'bytedance/seedance-2-0',
    prompt: 'A golden retriever running through wildflowers at sunset, cinematic',
    options: {
      aspectRatio: '16:9',
      duration: '8',
      generateAudio: true,
    },
  }),
});
const { data } = await res.json();
// data.jobId — use this to poll for results
curl -X POST https://api.yepapi.com/v1/media/queue \
  -H "x-api-key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model": "bytedance/seedance-2-0", "prompt": "A golden retriever running through wildflowers at sunset", "options": {"aspectRatio": "16:9", "duration": "8", "generateAudio": true}}'

Image-to-Video

Pass a reference image via imageData with an imageRole to control how the image is used.

const res = await fetch('https://api.yepapi.com/v1/media/queue', {
  method: 'POST',
  headers: {
    'x-api-key': 'YOUR_API_KEY',
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    model: 'bytedance/seedance-2-0',
    prompt: 'Animate this scene — clouds drifting, light changing',
    options: {
      aspectRatio: '16:9',
      duration: '8',
      imageRole: 'first_frame',
    },
    imageData: {
      mimeType: 'image/jpeg',
      base64: '...', // Base64-encoded image
    },
  }),
});

Step 2: Poll for Result

const status = await fetch(`https://api.yepapi.com/v1/media/status/${data.jobId}`, {
  headers: { 'x-api-key': 'YOUR_API_KEY' },
});
const { data: job } = await status.json();
// job.status — "pending" | "processing" | "completed" | "failed"
// job.result.video — { mimeType, base64 } when completed
curl https://api.yepapi.com/v1/media/status/JOB_ID \
  -H "x-api-key: YOUR_API_KEY"

Request Body

ParameterTypeRequiredDescriptionDefault
modelstringYesbytedance/seedance-2-0 or alias seedance
promptstringYesText description of the video to generate
options.aspectRatiostringNo21:9, 16:9, 4:3, 1:1, 3:4, or 9:1616:9
options.durationstringNo4 to 15 (seconds)5
options.generateAudiobooleanNoGenerate audio track for the videofalse
options.watermarkbooleanNoAdd watermark to outputfalse
options.imageRolestringNoHow to use the input image: first_frame, last_frame, or reference_imagefirst_frame
options.referenceVideoUrlstringNoURL of a reference video for style/motion guidance
options.referenceAudioUrlstringNoURL of a reference audio track
imageData.mimeTypestringNoMIME type of input image
imageData.base64stringNoBase64-encoded input image for image-to-video

Pricing

Token-based billing. Cost varies by resolution and duration.

MetricCost
Per 1M tokens$14.00
Typical 5s video (720p)~$1.50
Info

Latency: typically 30-90 seconds. Results retained for 1 hour.

Under the Hood

Powered by ByteDance's Seedance 2.0 via BytePlus ModelArk API. 100% margin on upstream costs.

On this page