Creează o generare
Trimite sarcini asincrone de generare Rivya API folosind modelul, promptul, parametrii, Idempotency-Key și câmpurile publice de răspuns.
Ultima revizuire la 2026/08/25
Folosește POST /api/v1/generations pentru a trimite o sarcină asincronă de generare a unei imagini, a unui videoclip sau a unui material audio.
Pentru modelele de chat, folosește Chat API. POST /api/v1/generations nu creează sesiuni de chat sau mesaje ale asistentului.
Endpoint
POST https://rivya.ai/api/v1/generationsAntete obligatorii:
Authorization: Bearer rvya_sk_...
Content-Type: application/jsonAntet recomandat:
Idempotency-Key: your-unique-request-keyCorpul cererii
{
"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"
}Câmpuri:
model: ID-ul public obligatoriu al modeluluiprompt: textul promptului, obligatoriu pentru multe modeleparams: obiect cu parametri specifici modeluluiclient_request_id: ID opțional de urmărire din sistemul tău
Citește Referința API pentru modele pentru valorile params specifice modelului.
Fișiere de referință în params
Pentru modelele care acceptă materiale de referință încărcate, apelează mai întâi Files API. Apoi transmite rezultatul încărcării prin params ale modelului; nu adăuga un câmp de nivel superior files în cererea de generare.
Folosește params.referenceMediaItems pentru integrările noi:
{
"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"
}
]
}
}Pentru intrările audio sau video care necesită verificarea duratei, include valoarea duration_token returnată de /api/v1/files sub formă durationToken în intrarea referenceMediaItems corespunzătoare.
Fiecare imagine de referință Image5 necesită valorile width, height, size_bytes și image_dimensions_token din răspunsul original Files API asociat modelului, transmise ca width, height, sizeBytes și imageDimensionsToken. Un token lipsă, expirat, necorespunzător sau inventat de client este respins înainte de crearea sarcinii și rezervarea creditelor. Layer Decomposition impune, de asemenea, exact o imagine care să respecte limitele geometrice documentate.
Grok Imagine Image 2.0 folosește aceeași barieră de validare pentru metadatele semnate ale imaginilor. Nu trimite niciun element de referință pentru generarea text-to-image; pentru editarea standard a imaginilor, trimite între unul și cinci elemente JPEG, PNG sau WebP, unice și semnate. Generarea text-to-image acceptă 1:1, 2:3, 3:2, 16:9 sau 9:16; editarea imaginilor acceptă suplimentar auto. Segment Map și Segment Edit nu sunt moduri apelabile prin Public API.
Fiecare videoclip de referință Video8 necesită valorile duration_seconds, duration_token, video_width, video_height, frames_per_second, video_bitrate_mbps, video_file_size_bytes și video_metadata_token din răspunsul original asociat modelului. Trimite-le ca durationSeconds, durationToken, width, height, framesPerSecond, videoBitrateMbps, sizeBytes și videoMetadataToken. Ambii tokeni semnați sunt verificăți înainte de crearea sarcinii și rezervarea creditelor.
Wan 3.0 folosește trei valori seedance_scene care se exclud reciproc. text nu acceptă materiale încărcate; frames necesită o primă imagine și permite o ultimă imagine opțională; reference acceptă un set semnat de imagini, videoclipuri și fișiere audio, însă audio nu poate fi singurul material. Toate URL-urile de referință trebuie să provină din încărcări Files API originale, asociate modelului. Scurtăturile file-to-video și link-to-video rămân indisponibile.
Setează variant la standard sau prime, resolution la 480P, 720P sau 1080P, iar aspect_ratio la adaptive, 16:9, 4:3, 1:1, 3:4 sau 9:16. duration acceptă numere întregi de la 2 la 30 sau -1 pentru durată inteligentă; audio controlează sunetul creat de model, iar seed acceptă valori de la 0 la 2147483647. Promptul după eliminarea spațiilor suplimentare trebuie să conțină 1–20.000 de caractere.
Wan 3.0 Standard rezervă 8, 16 sau 32 de credite pentru fiecare secundă de rezultat solicitat la 480P, 720P sau 1080P. Prime rezervă 12,2, 25,2 sau 50,4 credite pe secundă. Rivya rotunjește în sus o singură dată rezervarea totală; durata inteligentă rezervă 30 de secunde. Consumul efectiv valid, cel mult egal cu rezerva, este decontat, iar diferența este returnată. Dacă valoarea consumului efectiv lipsește, este nevalidă sau depășește rezerva, această se păstrează și sarcină intră în reconciliere fără nicio debitare suplimentară ascunsă.
În modul de referință Wan 3.0, trimite cel mult 10 imagini, 5 videoclipuri și 5 clipuri audio. Fiecare clip video sau audio poate dura între 1 și 15 secunde, iar fiecare tip are o limită totală separată de 15 secunde. duration=-1 nu poate fi folosit cu un videoclip de referință; când există o intrare video, suma dintre secundele verificate ale videoclipului de intrare și secundele solicitate pentru rezultat nu trebuie să depășească 30.
Exemplu de cerere Video8 pentru o sarcină de sincronizare labială cu video și 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"
}
]
}
}Exemplu curl
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"
}
}'Exemplu JavaScript
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);Exemplu Python
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"])Răspuns
{
"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
}Salvează valoarea id și verifică periodic Starea generării. Dacă configurezi API Webhooks, Rivya poate trimite și un eveniment semnat generation.succeeded sau generation.failed atunci când sarcina ajunge într-o stare finală.
Idempotență
Folosește Idempotency-Key pentru reîncercări. Dacă aceeași cheie și același corp al cererii sunt retrimise, Rivya poate returna răspunsul public stocat în loc să creeze o sarcină duplicată.
Dacă aceeași cheie este refolosită cu o intrare diferită, API-ul returnează idempotency_conflict.
Pagini asociate
Referința API pentru modele
Consultă ID-urile modelelor Rivya API, disponibilitatea, modurile acceptate, tabelele de parametri, limitele prompturilor, regulile pentru materialele de referință și linkurile către detaliile modelelor.
Chat API
Folosește Rivya Chat API pentru răspunsuri complete sau prin SSE, sesiuni create prin API, imagini atașate prin file_id și decontarea creditelor pe baza tokenurilor.
