Luo generointi
Lähetä asynkronisia Rivya API -generointitöitä mallilla, promptilla, params-arvoilla, Idempotency-Key-headerilla ja julkisilla vastauskentillä.
Viimeksi tarkistettu 2026/05/10
Käytä POST /api/v1/generations -endpointtia asynkronisen kuva-, video- tai audiogenerointityön lähettämiseen.
Chat-malleille käytä Chat API:a. POST /api/v1/generations ei luo chat-istuntoja eikä assistant-viestejä.
Endpoint
POST https://rivya.ai/api/v1/generationsVaaditut headerit:
Authorization: Bearer rvya_sk_...
Content-Type: application/jsonSuositeltu header:
Idempotency-Key: your-unique-request-keyPyynnön 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"
}Kentät:
model: pakollinen julkinen mallitunnusprompt: promptiteksti, jota monet mallit vaativatparams: mallikohtainen parametriobjekticlient_request_id: valinnainen trace ID omasta järjestelmästäsi
Lue mallien API-viite mallikohtaisista params-arvoista.
Referenssitiedostot params-kentissä
Malleille, jotka hyväksyvät ladattua referenssimediaa, kutsu ensin Files API:a. Anna sen jälkeen lataustulos mallin params-kenttien kautta; älä lisää ylätason files-kenttää generointipyyntöön.
Käytä uusissa integraatioissa params.referenceMediaItems-rakennetta:
{
"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"
}
]
}
}Audio- tai videosyötteille, jotka vaativat keston tarkistusta, sisällytä /api/v1/files-endpointin palauttama duration_token arvona durationToken liittyvään referenceMediaItems-kohteeseen.
curl-esimerkki
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-esimerkki
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-esimerkki
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"])Vastaus
{
"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
}Tallenna id ja pollaa generoinnin tilaa. Jos määrität API-webhookit, Rivya voi myös lähettää allekirjoitetun generation.succeeded- tai generation.failed-tapahtuman, kun tehtävä saavuttaa päätetilan.
Idempotenssi
Käytä Idempotency-Key-headeria retryihin. Jos sama avain ja sama pyynnön body toistetaan, Rivya voi palauttaa tallennetun julkisen vastauksen kaksoistehtävän luomisen sijaan.
Jos samaa avainta käytetään uudelleen eri syötteellä, API palauttaa virheen idempotency_conflict.
Liittyvät sivut
Generoinnin tila
Pollaa Rivya API -generointitöitä julkisella tehtävätunnuksella, lue queued-, processing-, succeeded- ja failed-tilat ja käytä tulos-URL-osoitteita.
Mallien API-viite
Hae Rivya API -mallitunnuksia, saatavuutta, tuettuja tiloja, parametrien taulukoita, promptirajoja, referenssimedian sääntöjä ja mallien detail-linkkejä.