POST /v1/generations

Make an image, clip, voice-over or music

Starts one generation. It spends credits, or runs on your own provider key: your provider bills you, and Kuro charges no credits. Pass `wait` to hold the response until it is ready (images usually are within a minute); otherwise read it with `GET /v1/generations/{id}`.

Permission

A key with chosen permissions needs generation.write. A key made with every permission may always call it. It can spend: send an Idempotency-Key so a retry replays the first answer.

Parameters

Body: type: "image"

Body: type: "clip"

Body: type: "voiceover"

Body: type: "music"

Response: Generation

201 · One image, clip, voice-over or piece of music.

Example

The required fields only, each a placeholder. Replace them before sending.

curl -X POST "https://api.meetkuro.com/v1/generations" \
  -H "Authorization: Bearer $KURO_API_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"type":"image","prompt":"<prompt>"}'
import { Kuro } from "@meetkuro/sdk";

const kuro = new Kuro(); // reads KURO_API_KEY
await kuro.generations.createAndWait({ type: "image", prompt: "A lighthouse at dawn" });

Every operation