Create Generation
model, prompt, params, Idempotency-Key এবং public response fields সহ asynchronous Rivya API generation jobs submit করুন।
শেষ review 2026/05/10
asynchronous 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/generationsRequired headers:
Authorization: Bearer rvya_sk_...
Content-Type: application/jsonRecommended 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: required public model IDprompt: prompt text, অনেক models-এর জন্য requiredparams: model-specific parameter objectclient_request_id: আপনার system থেকে optional trace ID
model-specific params-এর জন্য Model API Reference পড়ুন।
Reference Files In Params
uploaded reference media accept করে এমন models-এর জন্য আগে Files API call করুন। তারপর upload result model params দিয়ে pass করুন; generation request-এ top-level files field যোগ করবেন না।
new 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"
}
]
}
}duration verification দরকার এমন audio বা video inputs-এর জন্য /api/v1/files থেকে returned duration_token সংশ্লিষ্ট referenceMediaItems entry-তে durationToken হিসেবে include করুন।
curl Example
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 Example
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 Example
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 হলে Rivya duplicate task create না করে stored public response return করতে পারে।
একই key ভিন্ন input দিয়ে reuse করলে API idempotency_conflict return করে।
Related Pages
Generation Status
public task ID দিয়ে Rivya API generation jobs poll করুন, queued, processing, succeeded এবং failed states পড়ুন, এবং result URLs consume করুন।
Model API Reference
Rivya API model IDs, availability, supported modes, parameter tables, prompt limits, reference media rules এবং model detail links দেখুন।