Generatie aanmaken
Dien asynchrone Rivya API-generatietaken in met model, prompt, params, Idempotency-Key en publieke responsevelden.
Laatst beoordeeld op 2026/05/10
Gebruik POST /api/v1/generations om een asynchrone beeld-, video- of audiogeneratietaak in te dienen.
Gebruik voor chatmodellen Chat API. POST /api/v1/generations maakt geen chatsessies of assistantberichten aan.
Endpoint
POST https://rivya.ai/api/v1/generationsVereiste headers:
Authorization: Bearer rvya_sk_...
Content-Type: application/jsonAanbevolen header:
Idempotency-Key: your-unique-request-keyRequest body
{
"model": "z-image",
"prompt": "A clean editorial product image on a soft studio background",
"params": {
"aspect_ratio": "1:1"
},
"client_request_id": "order-123-preview"
}Velden:
model: vereiste publieke model-IDprompt: prompttekst, vereist door veel modellenparams: modelspecifiek parameterobjectclient_request_id: optionele trace-ID uit je systeem
Lees Model API-referentie voor modelspecifieke params.
Referentiebestanden in params
Voor modellen die geüploade referentiemedia accepteren, roep je eerst Files API aan. Geef daarna het uploadresultaat door via model params; voeg geen top-level files-veld toe aan de generatierequest.
Gebruik params.referenceMediaItems voor nieuwe integraties:
{
"model": "nano-banana-2",
"prompt": "Restyle this product photo for a clean editorial catalog page",
"params": {
"referenceMediaItems": [
{
"url": "https://...",
"kind": "image",
"name": "reference.png",
"mimeType": "image/png"
}
]
}
}Voor audio- of video-inputs die duration-verificatie vereisen, voeg je de door /api/v1/files teruggegeven duration_token toe als durationToken op het bijbehorende referenceMediaItems-item.
curl-voorbeeld
curl https://rivya.ai/api/v1/generations \
-H "Authorization: Bearer rvya_sk_..." \
-H "Content-Type: application/json" \
-H "Idempotency-Key: product-preview-001" \
-d '{
"model": "z-image",
"prompt": "A clean editorial product image on a soft studio background",
"params": {
"aspect_ratio": "1:1"
}
}'JavaScript-voorbeeld
const response = await fetch("https://rivya.ai/api/v1/generations", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.RIVYA_API_KEY}`,
"Content-Type": "application/json",
"Idempotency-Key": "product-preview-001"
},
body: JSON.stringify({
model: "z-image",
prompt: "A clean editorial product image on a soft studio background",
params: { aspect_ratio: "1:1" }
})
});
const generation = await response.json();
console.log(generation.id, generation.status);Python-voorbeeld
import os
import requests
response = requests.post(
"https://rivya.ai/api/v1/generations",
headers={
"Authorization": f"Bearer {os.environ['RIVYA_API_KEY']}",
"Content-Type": "application/json",
"Idempotency-Key": "product-preview-001",
},
json={
"model": "z-image",
"prompt": "A clean editorial product image on a soft studio background",
"params": {"aspect_ratio": "1:1"},
},
timeout=30,
)
generation = response.json()
print(generation["id"], generation["status"])Response
{
"id": "task_public_id",
"status": "queued",
"model": "z-image",
"reserved_credits": 1,
"final_credits": 0,
"created_at": "2026-05-10T00:00:00.000Z",
"updated_at": "2026-05-10T00:00:00.000Z",
"result": null,
"error": null
}Sla de id op en poll Generatiestatus. Als je API-webhooks configureert, kan Rivya ook een ondertekend generation.succeeded- of generation.failed-event sturen wanneer de taak een terminale status bereikt.
Idempotentie
Gebruik Idempotency-Key voor retries. Als dezelfde key en dezelfde request body opnieuw worden afgespeeld, kan Rivya de opgeslagen publieke response teruggeven in plaats van een duplicaattaak te maken.
Als dezelfde key met andere input wordt hergebruikt, retourneert de API idempotency_conflict.
Gerelateerde pagina's
Generatiestatus
Poll Rivya API-generatietaken via publieke taak-ID, lees queued-, processing-, succeeded- en failed-states en gebruik resultaat-URL's.
Model API-referentie
Zoek Rivya API-model-ID's, beschikbaarheid, ondersteunde modi, parametertabellen, promptlimieten, regels voor referentiemedia en links naar modeldetails op.