Generatie aanmaken
Dien asynchrone Rivya API-generatietaken in met model, prompt, params, Idempotency-Key en publieke responsevelden.
Laatst beoordeeld op 2026/08/25
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-lite",
"prompt": "Restyle this product photo for a clean editorial catalog page",
"params": {
"referenceMediaItems": [
{
"url": "https://...",
"kind": "image",
"name": "reference.png",
"mimeType": "image/png",
"width": 1024,
"height": 1024,
"sizeBytes": 482314,
"imageDimensionsToken": "image_dimensions_token_from_files_api"
}
]
}
}Voor audio- of video-inputs die verificatie van de duur vereisen, voeg je de door /api/v1/files teruggegeven duration_token toe als durationToken op het bijbehorende referenceMediaItems-item.
Voor elke Image5-referentieafbeelding zijn width, height, size_bytes en image_dimensions_token uit de oorspronkelijke modelgebonden Files API-response vereist. Stuur deze respectievelijk mee als width, height, sizeBytes en imageDimensionsToken. Een ontbrekende, verlopen, niet-overeenkomende of door de client verzonnen token leidt tot een fout voordat de taak wordt aangemaakt en credits worden gereserveerd. Layer Decomposition vereist bovendien exact één afbeelding die aan de gedocumenteerde geometrische limieten voldoet.
Grok Imagine Image 2.0 hanteert dezelfde eisen voor ondertekende afbeeldingsmetadata. Stuur voor tekst-naar-beeld geen referentie-items mee; stuur voor standaard beeldbewerking één tot vijf unieke, ondertekende JPEG-, PNG- of WebP-referentieafbeeldingen mee. Tekst-naar-beeld accepteert 1:1, 2:3, 3:2, 16:9 of 9:16; beeldbewerking accepteert daarnaast auto. Segment Map en Segment Edit zijn via Public API niet aanroepbaar.
Voor elke Video8-referentievideo zijn duration_seconds, duration_token, video_width, video_height, frames_per_second, video_bitrate_mbps, video_file_size_bytes en video_metadata_token uit de oorspronkelijke modelgebonden response vereist. Stuur deze mee als durationSeconds, durationToken, width, height, framesPerSecond, videoBitrateMbps, sizeBytes en videoMetadataToken. Beide ondertekende tokens worden geverifieerd voordat de taak wordt aangemaakt en credits worden gereserveerd.
Wan 3.0 gebruikt drie elkaar uitsluitende waarden voor seedance_scene. text accepteert geen geüploade media; frames vereist een eerste afbeelding en staat een optionele laatste afbeelding toe; reference accepteert een ondertekende bundel van afbeeldingen, video's en audio, maar audio mag niet het enige medium zijn. Alle referentie-URL's moeten afkomstig zijn van oorspronkelijke, modelgebonden Files API-uploads. Snelkoppelingen voor bestand-naar-video en link-naar-video blijven onbeschikbaar.
Stel variant in op standard of prime, resolution op 480P, 720P of 1080P en aspect_ratio op adaptive, 16:9, 4:3, 1:1, 3:4 of 9:16. duration accepteert gehele getallen van 2 tot 30, of -1 voor intelligente duur; audio regelt door het model gegenereerde audio en seed accepteert 0 tot 2147483647. Na het verwijderen van voor- en achterliggende spaties moet de prompt 1–20.000 tekens bevatten.
Wan 3.0 Standard reserveert 8, 16 of 32 credits per gevraagde uitvoerseconde bij 480P, 720P of 1080P. Prime reserveert 12,2, 25,2 of 50,4 credits per seconde. Rivya rondt de gecombineerde reservering één keer naar boven af; intelligente duur reserveert 30 seconden. Als het werkelijke verbruik geldig is en niet boven de reservering uitkomt, wordt de afrekening afgerond en het verschil terugbetaald. Bij ontbrekend, ongeldig of hoger werkelijk verbruik blijft de reservering staan en gaat de aanvraag naar reconciliatie, zonder verborgen extra afschrijving.
Stuur in de referentiemodus van Wan 3.0 maximaal 10 afbeeldingen, 5 video's en 5 audioclips. Elke video of audioclip moet 1–15 seconden duren en elk type heeft een afzonderlijke totaallimiet van 15 seconden. duration=-1 kan niet met een referentievideo worden gebruikt; bij video-input mogen de geverifieerde seconden van de invoervideo plus de gevraagde uitvoerseconden samen niet hoger zijn dan 30.
Voorbeeld van een Video8-request voor een lipsynchronisatietaak met video en audio:
{
"model": "volcengine-video-lip-sync",
"prompt": "",
"params": {
"mode": "lite",
"separate_vocal": "false",
"open_scenedet": "false",
"referenceMediaItems": [
{
"url": "https://.../source.mov",
"kind": "video",
"name": "source.mov",
"mimeType": "video/quicktime",
"durationSeconds": 12.4,
"durationToken": "duration_token_from_files_api",
"width": 1920,
"height": 1080,
"framesPerSecond": 30,
"videoBitrateMbps": 8.5,
"sizeBytes": 26214400,
"videoMetadataToken": "video_metadata_token_from_files_api"
},
{
"url": "https://.../dialogue.wav",
"kind": "audio",
"name": "dialogue.wav",
"mimeType": "audio/wav",
"durationSeconds": 12.4,
"durationToken": "audio_duration_token_from_files_api"
}
]
}
}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
Model API-referentie
Zoek Rivya API-model-ID's, beschikbaarheid, ondersteunde modi, parametertabellen, promptlimieten, regels voor referentiemedia en links naar modeldetails op.
Chat API
Gebruik Rivya Chat API voor non-streaming of SSE-turns, API-aangemaakte sessies, file_id-afbeeldingsbijlagen en tokengebaseerde creditafrekening.
