Videofrom 16.5 credits / second
Seedance 2.5 Person Reference
Create a video from an authorized person portrait. PiAPI reviews the reference before generation.
// 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
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 name | Price | Resolution | Duration |
|---|---|---|---|
| Seedance 1.5 Pro | 5.2 credits / second | — | 4–12s |
| Seedance 1 Pro | 12.5 credits / second | — | 5–10s |
| Seedance 2.0 | from 30.24 credits / second | 720p · 1080p | 4–15s |
| Seedance 2.0 Fast | 24.19 credits / second | — | 4–15s |
| Seedance 2.0 (Image to Video) | from 30.24 credits / second | 720p · 1080p | 4–15s |
| Seedance 2.0 Mini | from 7.21 credits / second | 480p · 720p | 4–15s |
| Seedance 2.0 Mini (Video Reference) | from 4.33 credits / second | 480p · 720p | 4–15s |
| Seedance 2.5 | from 22.05 credits / second | 480p · 720p · 1080p | 4–30s |
| Seedance 2.5 (Video Editing) | Priced by input | 480p · 720p · 1080p | — |
| Seedance 2.5 (Reference to Video) | from 22.05 credits / second | 480p · 720p · 1080p | 4–30s |
| Seedance 2.5 (Video Reference) | from 13.23 credits / second | 480p · 720p · 1080p | 4–15s |
| Seedream 4 | 3 credits / image | — | — |