madeAPI
Log in
Explore/Seedance 2.5 Person Reference
Videofrom 16.5 credits / second

Seedance 2.5 Person Reference

Create a video from an authorized person portrait. PiAPI reviews the reference before generation.

View docs
// Node.js. Running this creates one paid generation.
import { randomUUID } from 'node:crypto';
const base = "https://www.made.app/api";
const headers = {
  Authorization: `Bearer ${process.env.MADE_API_KEY}`,
  'Content-Type': 'application/json',
};
const input = {
  "model": "seedance_2_5_person_reference",
  "prompt": "A cinematic scene at sunset",
  "duration": 4,
  "resolution": "480p",
  "aspect_ratio": "16:9",
  "params": {
    "likeness_consent": false
  },
  "medias": [
    {
      "value": "https://example.com/reference.jpg",
      "role": "image"
    }
  ]
};

async function api(path, body) {
  const response = await fetch(base + path, {
    method: body ? 'POST' : 'GET', headers,
    ...(body && { body: JSON.stringify(body) }),
  });
  if (!response.ok) throw new Error(await response.text());
  return response.json();
}

const { cost } = await api('/v1/cost', input);
console.log('Quoted cents:', cost.customerCostCents);
// Preserve this request ID when retrying a submission.
const requestId = randomUUID();
let job = await api('/v1/generations', {
  ...input, request_id: requestId,
  max_cost_cents: cost.customerCostCents,
});
console.log('Request:', job.id);
while (!['succeeded', 'failed', 'canceled'].includes(job.status)) {
  await new Promise(resolve => setTimeout(resolve, 3000));
  job = await api('/v1/generations/' + job.id);
}
if (job.status !== 'succeeded') throw new Error(JSON.stringify(job.error || job.status));
console.log(job.result.assets);

Input

10 MB maximum

The person photo is reviewed before video generation starts.

Sign in to generate

Uses your credits. See the exact price before generating.

Result

Your result will appear here.

Price

from 16.5 credits / second. 480p 16.5 credits/s · 720p 38.5 credits/s · 1080p 88 credits/s · 4s at 480p = 66 credits Check the exact cost for your settings before generating. Failed generations are refunded. Full price sheet.

More models by ByteDance

Compare available models and their prices. The exact price depends on your settings.

Model namePriceResolutionDuration
Seedance 1.5 Pro5.2 credits / second—4–12s
Seedance 1 Pro12.5 credits / second—5–10s
Seedance 2.0from 30.24 credits / second720p · 1080p4–15s
Seedance 2.0 Fast24.19 credits / second—4–15s
Seedance 2.0 (Image to Video)from 30.24 credits / second720p · 1080p4–15s
Seedance 2.0 Minifrom 7.21 credits / second480p · 720p4–15s
Seedance 2.0 Mini (Video Reference)from 4.33 credits / second480p · 720p4–15s
Seedance 2.5from 22.05 credits / second480p · 720p · 1080p4–30s
Seedance 2.5 (Video Editing)Priced by input480p · 720p · 1080p—
Seedance 2.5 (Reference to Video)from 22.05 credits / second480p · 720p · 1080p4–30s
Seedance 2.5 (Video Reference)from 13.23 credits / second480p · 720p · 1080p4–15s
Seedream 43 credits / image——