Rivya AI ডকস

OpenAPI ও স্কিমা চুক্তি

Rivya API v1-এর স্কিমার উৎস, সামঞ্জস্যের নিয়ম, প্রকাশ্য ক্ষেত্র ও শুধু-পঠন OpenAPI JSON চুক্তি পর্যালোচনা করুন।

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

Rivya API v1 এখানে শুধু-পঠন স্কিমা চুক্তি প্রকাশ করে:

https://rivya.ai/api/v1/openapi.json

এই পথটি একটি প্রকাশ্য চুক্তির ফলাফল। এটি ব্যবহারকারীর সেশনের তথ্য পড়ে না, মডেলের কাজ পাঠায় না এবং অ্যাকাউন্টের ব্যক্তিগত তথ্য প্রকাশ করে না।

চুক্তির উৎস

চুক্তিটি নেওয়া হয়:

  • প্রকাশ্য API অনুরোধের স্কিমা

  • প্রকাশ্য ত্রুটির সংকেত

  • প্রকাশ্য API মডেল রেফারেন্সের স্তর

  • /api/v1/models-এ ব্যবহৃত একই মডেল তালিকা

মডেলের তালিকা পরিবর্তনশীল। হাতে লেখা মডেলের সংখ্যার ওপর নির্ভরশীল সংযোগ তৈরি করবেন না।

সংস্করণ নীতি

বর্তমান API সংস্করণ হলো v1

পেছনের সংস্করণের সঙ্গে সামঞ্জস্যপূর্ণ পরিবর্তনের মধ্যে থাকতে পারে:

  • /api/v1/models-এ model যোগ করা

  • ঐচ্ছিক উত্তরের ক্ষেত্র যোগ করা

  • কোনো মডেলের ঐচ্ছিক অনুরোধ প্যারামিটার যোগ করা

  • নতুন প্রকাশ্য ত্রুটির সংকেত যোগ করা

অসামঞ্জস্যপূর্ণ পরিবর্তনের জন্য নতুন সংস্করণ বা নথিভুক্ত স্থানান্তর পথ দরকার।

পাবলিক ফিল্ডের সীমা

প্রকাশ্য স্কিমার ক্ষেত্রগুলো প্রকাশ্য নাম ব্যবহার করে:

  • id

  • status

  • model

  • session_id

  • message

  • usage

  • reserved_credits

  • final_credits

  • created_at

  • updated_at

  • result

  • error

ভেতরের কাজ সংরক্ষণের ক্ষেত্রগুলোর ওপর নির্ভর করবেন না। এগুলো প্রকাশ্য চুক্তির অংশ নয়।

অনুরোধের স্কিমা

POST /api/v1/generations গ্রহণ করে:

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

  • prompt: ঐচ্ছিক স্ট্রিং; অনেক মডেলের জন্য আবশ্যিক

  • params: মডেল-নির্দিষ্ট পরামিতিসহ ঐচ্ছিক অবজেক্ট

  • client_request_id: আপনার ট্রেস ID-এর জন্য ঐচ্ছিক স্ট্রিং

মডেল-নির্দিষ্ট params-এর জন্য মডেল API রেফারেন্স ব্যবহার করুন।

/api/v1/files থেকে ফেরত পাওয়া রেফারেন্স মাধ্যম params.referenceMediaItems-এর মধ্যে থাকে। স্কিমায় url, kind, ঐচ্ছিক name, ঐচ্ছিক mimeType, ঐচ্ছিক durationSeconds / durationToken, ঐচ্ছিক width / height / sizeBytes / imageDimensionsToken এবং ঐচ্ছিক framesPerSecond / videoBitrateMbps / videoMetadataToken নথিভুক্ত আছে। প্রতিটি Image5, Grok Imagine Image 2.0 ও Wan 3.0 রেফারেন্স ছবির জন্য মডেলের সঙ্গে বাঁধা মূল আপলোড প্রতিক্রিয়ার স্বাক্ষরিত ছবির টোকেন ও সংশ্লিষ্ট বাইটের আকার প্রয়োজন; Layer Decomposition নথিভুক্ত জ্যামিতিক সীমাও প্রয়োগ করে। প্রতিটি Video8 ও Wan 3.0 রেফারেন্স ভিডিওর জন্য মডেলের সঙ্গে বাঁধা মূল আপলোড প্রতিক্রিয়ার স্বাক্ষরিত সময়কাল টোকেন ও স্বাক্ষরিত ভিডিও মেটাডেটা প্রয়োজন। Rivya POST /api/v1/generations-এ শীর্ষস্তরের files ঘর গ্রহণ করে না।

POST /api/v1/files বহুখণ্ড ফর্ম ডেটা গ্রহণ করে, যেখানে file, kind, ঐচ্ছিক model ও ঐচ্ছিক client_request_id থাকে। প্রতিক্রিয়া হলো PublicApiFile; এতে size_bytes, খালি থাকতে পারে এমন ছবির মাপ, image_dimensions_token, খালি থাকতে পারে এমন video_width, video_height, frames_per_second, video_bitrate_mbps, video_file_size_bytesvideo_metadata_token থাকে। GET /api/v1/files/{fileId} API হিসাবের মালিকানাধীন ফাইলের প্রকাশ্য মেটাডেটা ফেরত দেয়; তবে স্থায়ীভাবে সংরক্ষিত না হওয়া স্বাক্ষরিত মেটাডেটা টোকেন null হতে পারে এবং আবার আপলোড করে সেটি বদলাতে হবে।

video_metadata_token API হিসাব, লক্ষ্য মডেল, URL, MIME ধরন, মাপ, ফ্রেমের হার, বিটরেট ও আপলোডের বাইট আকারের সঙ্গে বাঁধা থাকে। এটি duration_token-এর বিকল্প নয়; দুই চুক্তিই ব্যবহার করে এমন Video8 ও Wan 3.0 রেফারেন্স ভিডিওতে টোকেন দুটি দিতে হবে। Wan 3.0 শব্দের সময়কাল টোকেনে MIME ধরন ও আপলোডের বাইট আকারও বাঁধা থাকে।

wan-3-0-video-এর জন্য params শুধু seedance_scene, variant, resolution, aspect_ratio, duration, audio, seedreferenceMediaItems গ্রহণ করে। লেখা, ফ্রেম ও রেফারেন্স দৃশ্য পারস্পরিকভাবে স্বতন্ত্র। স্বয়ংক্রিয় সময়কালের মান -1; এতে 30 সেকেন্ডের ক্রেডিট সংরক্ষিত হয় এবং রেফারেন্স ভিডিওর সঙ্গে এটি অবৈধ। অচেনা কী, স্বাক্ষরহীন মাধ্যম এবং ফাইল বা লিংক থেকে সরাসরি ভিডিও তৈরির সংক্ষিপ্ত পথ কোনো বিকল্প প্রক্রিয়াকরণ ছাড়াই প্রত্যাখ্যাত হয়।

POST /api/v1/chat/completions model, message, ঐচ্ছিক session_id, ঐচ্ছিক নিয়ন্ত্রণ, ঐচ্ছিক Files API file_id সংযুক্তি ও ঐচ্ছিক client_request_id গ্রহণ করে। এটি স্ট্রিমিং নয় এমন সম্পূর্ণ সহকারীর বার্তা ফেরত দেয়।

POST /api/v1/chat/completions/stream একই অনুরোধের স্কিমা গ্রহণ করে এবং session.created, message.delta, message.completed, usage.completed, heartbeat, errordone ঘটনাসহ text/event-stream ফেরত দেয়। Chat API v1 সরাসরি messages অ্যারে গ্রহণ করে না।

উত্তরের স্কিমা

OpenAPI ফলাফল এই প্রকাশ্য প্রতিক্রিয়ার ধরনগুলো নথিভুক্ত করে:

  • GET /api/v1/models-এর জন্য ModelList

  • মডেল নির্বাচন ও প্যারামিটার ফর্মের জন্য PublicApiModelModelParam

  • POST /api/v1/filesGET /api/v1/files/{fileId}-এর জন্য PublicApiFile

  • ফাইলভিত্তিক তৈরির প্যারামিটারের জন্য ReferenceMediaItem

  • তৈরি ও অবস্থা-সংক্রান্ত উত্তরের জন্য PublicGeneration

  • সম্পন্ন কাজের জন্য GenerationResultGenerationError

  • Chat API-র জন্য ChatCompletionRequest, ChatCompletion, ChatSession, ChatMessage, ChatUsage, ChatCredits এবং Chat স্ট্রিম ইভেন্ট স্কিমা

  • GET /api/v1/credits-এর জন্য CreditBalance

  • স্বাক্ষরিত API webhook-এর জন্য WebhookEndpoint, WebhookEvent, WebhookDeliveryWebhookTestResult

  • স্থিতিশীল ত্রুটি উত্তরের জন্য PublicApiError

স্কিমাটি ক্লায়েন্ট যাচাই ও অভ্যন্তরীণ সমন্বয় পরীক্ষার জন্য নিরাপদ। TypeScript SDK beta-ও এই স্কিমার সীমা মেনে চলে।

উদাহরণ পরিচালনার নীতি

এই নথির curl, JavaScript ও Python উদাহরণ স্কিমার একই প্রকাশ্য ঘরের নাম ব্যবহার করে:

  • Authorization: Bearer rvya_sk_...

  • Idempotency-Key

  • model

  • prompt

  • message

  • session_id

  • params

  • client_request_id

Chat-এর উদাহরণে আরও ব্যবহার করা হয়:

  • chat:create

  • chat:read

  • file_id

ওয়েবহুকের উদাহরণে আরও ব্যবহার করা হয়:

  • Rivya-Webhook-Signature

  • Rivya-Webhook-Timestamp

  • webhooks:manage

মডেলের পরামিতি বদলালে আগে মডেলের তালিকা ও প্রকাশ্য সিরিয়ালাইজার হালনাগাদ করুন। নথি ও ডিবাগার আলাদা ছক অনুলিপি না করে একই প্রকাশ্য স্তর ব্যবহার করবে।

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