Rivya AI Dokümanları

Oluşturma İşi Başlatma

Model, prompt, params, Idempotency-Key ve public yanıt alanlarıyla asenkron Rivya API oluşturma işleri gönderin.

Son inceleme 2026/05/10

Asenkron bir görüntü, video veya ses oluşturma işi göndermek için POST /api/v1/generations kullanın.

Chat modelleri için Chat API kullanın. POST /api/v1/generations, chat oturumları veya asistan mesajları oluşturmaz.

Endpoint

POST https://rivya.ai/api/v1/generations

Gerekli header'lar:

Authorization: Bearer rvya_sk_...
Content-Type: application/json

Önerilen header:

Idempotency-Key: your-unique-request-key

İstek Gövdesi

{
  "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"
}

Alanlar:

  • model: gerekli public model ID'si
  • prompt: prompt metni, birçok model için gereklidir
  • params: modele özel parametre nesnesi
  • client_request_id: sisteminizden gelen isteğe bağlı trace ID

Modele özel params için Model API Referansı sayfasını okuyun.

Referans Dosyaları Params İçinde

Yüklenen referans medyayı kabul eden modeller için önce Files API çağırın. Sonra yükleme sonucunu model params üzerinden gönderin; oluşturma isteğine üst düzey files alanı eklemeyin.

Yeni entegrasyonlarda params.referenceMediaItems kullanın:

{
  "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"
      }
    ]
  }
}

Süre doğrulaması gerektiren ses veya video girdileri için /api/v1/files tarafından döndürülen duration_token değerini ilgili referenceMediaItems girdisinde durationToken olarak ekleyin.

curl Örneği

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 Örneği

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 Örneği

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"])

Yanıt

{
  "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 değerini kaydedin ve Oluşturma Durumu sayfasındaki akışla poll edin. API Webhooks yapılandırırsanız Rivya, görev terminal duruma ulaştığında imzalı bir generation.succeeded veya generation.failed olayı da gönderebilir.

İdempotency

Yeniden denemeler için Idempotency-Key kullanın. Aynı anahtar ve aynı istek gövdesi tekrar oynatılırsa Rivya yinelenen görev oluşturmak yerine saklanan public yanıtı döndürebilir.

Aynı anahtar farklı input ile yeniden kullanılırsa API idempotency_conflict döndürür.

İlgili Sayfalar

İçindekiler