Video40 credits / second
Veo 3.1
Veo 3.1 is Google’s flagship video model, generating 4 or 8 second clips with natively synchronized audio from a text prompt, with optional start and end frames to pin the first and last shot.
// 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": "veo_3_1",
"prompt": "Cinematic clip with sound: a night train crosses a stone viaduct over fog, wheels clacking, camera drifting alongside",
"duration": 4,
"aspect_ratio": "16:9"
};
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
ExampleMotion study with audio
Price
40 credits / second. 4s video = 160 credits Check the exact cost for your settings before generating. Failed generations are refunded. Full price sheet.
More models by Google
Compare available models and their prices. The exact price depends on your settings.
| Model name | Price | Resolution | Duration |
|---|---|---|---|
| Gemini Omni Flash | 10 credits / second | — | 3–10s |
| Gemini Omni Flash 1.1 | from 3 credits / second | 4k · 360p · 720p · 1080p | 3–10s |
| Nano Banana | 4 credits / image | — | — |
| Nano Banana 2 | from 6 credits / image | 1K · 2K · 4K · 0.5K | — |
| Nano Banana 2.1 | from 8 credits / image | 1K · 2K · 4K | — |
| Nano Banana 2 Lite | 5 credits / image | — | — |
| Nano Banana Pro | from 15 credits / image | 1K · 2K · 4K | — |
| Veo 3 | 40 credits / second | — | 4–8s |
| Veo 3.1 Lite | from 5 credits / second | 720p · 1080p | 4–8s |
| Veo 3.1 Native Dialogue | 40 credits / second | — | 8–8s |
| Veo 3 Fast | 15 credits / second | — | 4–8s |