Rivya AI ডকস

তৈরির অনুরোধ পাঠান

মডেল, প্রম্পট, প্যারামিটার, Idempotency-Key ও প্রকাশ্য উত্তরের ক্ষেত্রসহ অসমকালীন Rivya API তৈরির কাজ পাঠান।

শেষ পর্যালোচনা 2026/08/25

অসমকালীন ছবি, ভিডিও বা অডিও তৈরির কাজ পাঠাতে POST /api/v1/generations ব্যবহার করুন।

কথোপকথনের মডেলের জন্য কথোপকথন API ব্যবহার করুন। POST /api/v1/generations কথোপকথনের সেশন বা সহকারীর বার্তা তৈরি করে না।

এন্ডপয়েন্ট

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

আবশ্যিক হেডার:

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

প্রস্তাবিত হেডার:

Idempotency-Key: your-unique-request-key

অনুরোধের বডি

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

ক্ষেত্র:

  • model: আবশ্যিক প্রকাশ্য মডেল পরিচয়

  • prompt: প্রম্পটের পাঠ্য, অনেক মডেলের জন্য আবশ্যিক

  • params: মডেলভিত্তিক প্যারামিটারের বস্তু

  • client_request_id: আপনার ব্যবস্থা থেকে ঐচ্ছিক অনুসরণ পরিচয়

মডেলভিত্তিক params-এর জন্য মডেল API রেফারেন্স পড়ুন।

প্যারামিটারে রেফারেন্স ফাইল

আপলোড করা রেফারেন্স মাধ্যম গ্রহণ করে এমন মডেলের জন্য আগে ফাইল API কল করুন। তারপর আপলোডের ফলাফল মডেলের params-এ পাঠান; তৈরির অনুরোধে ওপরের স্তরের files ক্ষেত্র যোগ করবেন না।

নতুন সংযোগের জন্য params.referenceMediaItems ব্যবহার করুন:

{
  "model": "nano-banana-2-lite",
  "prompt": "Restyle this product photo for a clean editorial catalog page",
  "params": {
    "referenceMediaItems": [
      {
        "url": "https://...",
        "kind": "image",
        "name": "reference.png",
        "mimeType": "image/png",
        "width": 1024,
        "height": 1024,
        "sizeBytes": 482314,
        "imageDimensionsToken": "image_dimensions_token_from_files_api"
      }
    ]
  }
}

সময়কাল যাচাই দরকার এমন শব্দ বা ভিডিও ইনপুটের জন্য /api/v1/files থেকে পাওয়া duration_token সংশ্লিষ্ট referenceMediaItems-এ durationToken হিসেবে দিন।

প্রতিটি Image5 রেফারেন্স ছবির জন্য মডেল-নির্দিষ্ট মূল ফাইল API উত্তরের width, height, size_bytesimage_dimensions_token দরকার; এগুলো width, height, sizeBytesimageDimensionsToken হিসেবে পাঠান। টোকেন না থাকলে, মেয়াদ শেষ হলে, না মিললে বা গ্রাহক নিজে বানালে কাজ ও ক্রেডিট সংরক্ষণ শুরুর আগেই অনুরোধ ব্যর্থ হবে। Layer Decomposition-এর ক্ষেত্রে নথিভুক্ত জ্যামিতিক সীমার মধ্যে ঠিক একটি ছবিও দরকার।

Grok Imagine Image 2.0 একই স্বাক্ষরিত ছবির সহায়ক তথ্যের সীমা ব্যবহার করে। লেখা থেকে ছবির জন্য কোনো রেফারেন্স পাঠাবেন না; সাধারণ ছবি সম্পাদনার জন্য 1–5টি আলাদা স্বাক্ষরিত JPEG, PNG বা WebP পাঠান। লেখা থেকে ছবি 1:1, 2:3, 3:2, 16:9 বা 9:16 গ্রহণ করে; ছবি সম্পাদনা অতিরিক্তভাবে auto নেয়। Segment MapSegment Edit প্রকাশ্য API দিয়ে কল করা যায় না।

প্রতিটি Video8 রেফারেন্স ভিডিওর জন্য মডেলের সঙ্গে বাঁধা মূল প্রতিক্রিয়ার duration_seconds, duration_token, video_width, video_height, frames_per_second, video_bitrate_mbps, video_file_size_bytesvideo_metadata_token প্রয়োজন। এগুলো যথাক্রমে durationSeconds, durationToken, width, height, framesPerSecond, videoBitrateMbps, sizeBytesvideoMetadataToken হিসেবে পাঠান। কাজ তৈরি ও ক্রেডিট সংরক্ষণের আগে স্বাক্ষরিত টোকেন দুটি যাচাই করা হয়।

Wan 3.0 পারস্পরিকভাবে স্বতন্ত্র তিনটি seedance_scene মান ব্যবহার করে। text কোনো আপলোড করা মাধ্যম গ্রহণ করে না; frames-এ প্রথম ছবি আবশ্যিক ও শেষ ছবি ঐচ্ছিক; reference স্বাক্ষরিত ছবি, ভিডিও ও শব্দের সমষ্টি গ্রহণ করে, তবে শব্দ একমাত্র মাধ্যম হতে পারে না। সব রেফারেন্স URL মডেলের সঙ্গে বাঁধা মূল Files API আপলোড থেকে আসতে হবে। ফাইল বা লিংক থেকে সরাসরি ভিডিও তৈরির সংক্ষিপ্ত পথ এখানে নেই।

variant হিসেবে standard বা prime, resolution হিসেবে 480P, 720P বা 1080P, এবং aspect_ratio হিসেবে adaptive, 16:9, 4:3, 1:1, 3:4 বা 9:16 দিন। duration-এ 2 থেকে 30 পর্যন্ত পূর্ণসংখ্যা অথবা স্বয়ংক্রিয় সময়কালের জন্য -1 দেওয়া যায়; audio মডেলের তৈরি শব্দ নিয়ন্ত্রণ করে এবং seed-এ 0 থেকে 2147483647 পর্যন্ত মান নেওয়া হয়। দুই পাশের ফাঁক বাদ দেওয়ার পর প্রম্পটে 1–20,000 অক্ষর থাকতে হবে।

Wan 3.0-এর standard ভ্যারিয়েন্টে 480P, 720P বা 1080P ফলাফলের প্রতি সেকেন্ডের জন্য যথাক্রমে 8, 16 বা 32 ক্রেডিট সংরক্ষিত হয়। prime ভ্যারিয়েন্টে প্রতি সেকেন্ডে 12.2, 25.2 বা 50.4 ক্রেডিট সংরক্ষিত হয়। Rivya সম্মিলিত সংরক্ষণ একবারই পরের পূর্ণসংখ্যায় তোলে; স্বয়ংক্রিয় সময়কাল 30 সেকেন্ডের ক্রেডিট সংরক্ষণ করে। বৈধ বাস্তব ব্যবহার সংরক্ষিত পরিমাণের সমান বা কম হলে হিসাব চূড়ান্ত হয় এবং পার্থক্য ফেরত দেওয়া হয়। বাস্তব ব্যবহারের তথ্য না থাকলে, অবৈধ হলে বা বেশি হলে সংরক্ষিত পরিমাণ বজায় থাকে এবং কোনো গোপন অতিরিক্ত কর্তন ছাড়া হিসাব মেলানোর পর্যায়ে যায়।

Wan 3.0-এর রেফারেন্স পদ্ধতিতে সর্বোচ্চ 10টি ছবি, 5টি ভিডিও ও 5টি শব্দের ক্লিপ পাঠান। প্রতিটি ভিডিও ও শব্দের ক্লিপ 1 থেকে 15 সেকেন্ডের হতে পারে এবং দুই ধরনের জন্যই আলাদা 15 সেকেন্ডের মোট সীমা আছে। রেফারেন্স ভিডিওর সঙ্গে duration=-1 ব্যবহার করা যায় না; ভিডিও ইনপুট থাকলে যাচাই করা ইনপুট ভিডিওর সময় ও চাওয়া ফলাফলের সময়ের যোগফল 30 সেকেন্ডের বেশি হতে পারবে না।

ভিডিও ও শব্দে ঠোঁট মেলানোর কাজের জন্য Video8 অনুরোধের উদাহরণ:

{
  "model": "volcengine-video-lip-sync",
  "prompt": "",
  "params": {
    "mode": "lite",
    "separate_vocal": "false",
    "open_scenedet": "false",
    "referenceMediaItems": [
      {
        "url": "https://.../source.mov",
        "kind": "video",
        "name": "source.mov",
        "mimeType": "video/quicktime",
        "durationSeconds": 12.4,
        "durationToken": "duration_token_from_files_api",
        "width": 1920,
        "height": 1080,
        "framesPerSecond": 30,
        "videoBitrateMbps": 8.5,
        "sizeBytes": 26214400,
        "videoMetadataToken": "video_metadata_token_from_files_api"
      },
      {
        "url": "https://.../dialogue.wav",
        "kind": "audio",
        "name": "dialogue.wav",
        "mimeType": "audio/wav",
        "durationSeconds": 12.4,
        "durationToken": "audio_duration_token_from_files_api"
      }
    ]
  }
}

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

উত্তর

{
  "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 সংরক্ষণ করুন এবং তৈরির অবস্থা বারবার যাচাই করুন। API ওয়েবহুক বিন্যস্ত করলে কাজটি চূড়ান্ত অবস্থায় পৌঁছানোর পর Rivya স্বাক্ষরিত generation.succeeded বা generation.failed ঘটনাও পাঠাতে পারে।

একই অনুরোধের নিরাপত্তা

আবার চেষ্টা করার জন্য Idempotency-Key ব্যবহার করুন। একই কী ও একই অনুরোধ-বডি আবার পাঠালে Rivya একই কাজ তৈরি না করে সংরক্ষিত প্রকাশ্য প্রতিক্রিয়া ফেরত দিতে পারে।

একই কী ভিন্ন ইনপুট দিয়ে আবার ব্যবহার করলে API idempotency_conflict ফেরত দেয়।

সম্পর্কিত পৃষ্ঠা