Creeaza o generare
Trimite joburi asincrone de generare Rivya API cu model, prompt, params, Idempotency-Key si campuri publice de raspuns.
Ultima revizuire la 2026/05/10
Foloseste POST /api/v1/generations pentru a trimite un job asincron de generare imagine, video sau audio.
Pentru modele de chat, foloseste Chat API. POST /api/v1/generations nu creeaza sesiuni de chat sau mesaje de asistent.
Endpoint
POST https://rivya.ai/api/v1/generationsHeadere necesare:
Authorization: Bearer rvya_sk_...
Content-Type: application/jsonHeader recomandat:
Idempotency-Key: your-unique-request-keyBody-ul cererii
{
"model": "z-image",
"prompt": "O imagine editoriala curata de produs pe un fundal moale de studio",
"params": {
"aspect_ratio": "1:1"
},
"client_request_id": "order-123-preview"
}Campuri:
model: ID public de model, obligatoriuprompt: textul promptului, necesar pentru multe modeleparams: obiect de parametri specifici modeluluiclient_request_id: ID optional de trasabilitate din sistemul tau
Citeste Referinta API pentru modele pentru params specifice modelului.
Fisiere de referinta in params
Pentru modelele care accepta media de referinta incarcata, apeleaza mai intai Files API. Apoi trimite rezultatul incarcarii prin params ale modelului; nu adauga un camp top-level files in cererea de generare.
Foloseste params.referenceMediaItems pentru integrari noi:
{
"model": "nano-banana-2",
"prompt": "Restilizeaza aceasta fotografie de produs pentru o pagina de catalog editorial curata",
"params": {
"referenceMediaItems": [
{
"url": "https://...",
"kind": "image",
"name": "reference.png",
"mimeType": "image/png"
}
]
}
}Pentru inputuri audio sau video care necesita verificarea duratei, include duration_token returnat de /api/v1/files ca durationToken in intrarea referenceMediaItems asociata.
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": "O imagine editoriala curata de produs pe un fundal moale de studio",
"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: "O imagine editoriala curata de produs pe un fundal moale de studio",
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": "O imagine editoriala curata de produs pe un fundal moale de studio",
"params": {"aspect_ratio": "1:1"},
},
timeout=30,
)
generation = response.json()
print(generation["id"], generation["status"])Raspuns
{
"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
}Salveaza id si interogheaza Statusul generarii. Daca configurezi API Webhooks, Rivya poate trimite si un eveniment semnat generation.succeeded sau generation.failed atunci cand sarcina ajunge intr-o stare terminala.
Idempotenta
Foloseste Idempotency-Key pentru reincercari. Daca aceeasi cheie si acelasi body al cererii sunt reluate, Rivya poate returna raspunsul public stocat in loc sa creeze o sarcina duplicata.
Daca aceeasi cheie este refolosita cu input diferit, API-ul returneaza idempotency_conflict.
Pagini asociate
Statusul generarii
Interogheaza joburile de generare Rivya API dupa ID-ul public al sarcinii, citeste starile queued, processing, succeeded si failed si consuma URL-urile rezultatului.
Referinta API pentru modele
Cauta ID-uri de modele Rivya API, disponibilitate, moduri acceptate, tabele de parametri, limite de prompt, reguli pentru media de referinta si linkuri catre detalii de model.