Generation create करें
model, prompt, params, Idempotency-Key और public response fields के साथ asynchronous Rivya API generation jobs submit करें.
अंतिम समीक्षा 2026/05/10 को
असिंक्रोनस image, video या audio generation job submit करने के लिए POST /api/v1/generations इस्तेमाल करें।
Chat models के लिए Chat API इस्तेमाल करें। POST /api/v1/generations chat sessions या assistant messages create नहीं करता।
Endpoint
POST https://rivya.ai/api/v1/generationsजरूरी headers:
Authorization: Bearer rvya_sk_...
Content-Type: application/jsonअनुशंसित 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"
}Fields:
model: जरूरी public model IDprompt: prompt text, कई models में जरूरीparams: model-specific parameter objectclient_request_id: आपके system से optional trace ID
Model-specific params के लिए Model API Reference पढ़ें।
Params में Reference Files
जिन models में uploaded reference media स्वीकार होती है, उनके लिए पहले Files API call करें। फिर upload result को model params के माध्यम से pass करें; generation request में top-level files field न जोड़ें।
नई integrations के लिए params.referenceMediaItems इस्तेमाल करें:
{
"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 या video inputs में duration verification जरूरी है, उनमें returned duration_token को /api/v1/files से संबंधित durationToken के रूप में referenceMediaItems entry पर शामिल करें।
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"
}
}'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);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"])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
}id save करें और Generation Status poll करें। अगर आप API Webhooks configure करते हैं, तो task terminal state तक पहुंचने पर Rivya signed generation.succeeded या generation.failed event भी भेज सकता है।
Idempotency
Retries के लिए Idempotency-Key इस्तेमाल करें। अगर वही key और वही request body replay होती है, तो duplicate task create करने के बजाय Rivya stored public response return कर सकता है।
अगर वही key अलग input के साथ reuse होती है, तो API idempotency_conflict लौटाता है।
संबंधित पेज
जनरेशन स्थिति
सार्वजनिक task ID से Rivya API जनरेशन जॉब poll करें, queued, processing, succeeded और failed स्थितियां पढ़ें, और result URL इस्तेमाल करें.
Model API Reference
Rivya API model IDs, availability, supported modes, parameter tables, prompt limits, reference media rules और model detail links देखें.