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 যোগ করাঐচ্ছিক উত্তরের ক্ষেত্র যোগ করা
কোনো মডেলের ঐচ্ছিক অনুরোধ প্যারামিটার যোগ করা
নতুন প্রকাশ্য ত্রুটির সংকেত যোগ করা
অসামঞ্জস্যপূর্ণ পরিবর্তনের জন্য নতুন সংস্করণ বা নথিভুক্ত স্থানান্তর পথ দরকার।
পাবলিক ফিল্ডের সীমা
প্রকাশ্য স্কিমার ক্ষেত্রগুলো প্রকাশ্য নাম ব্যবহার করে:
idstatusmodelsession_idmessageusagereserved_creditsfinal_creditscreated_atupdated_atresulterror
ভেতরের কাজ সংরক্ষণের ক্ষেত্রগুলোর ওপর নির্ভর করবেন না। এগুলো প্রকাশ্য চুক্তির অংশ নয়।
অনুরোধের স্কিমা
POST /api/v1/generations গ্রহণ করে:
model: আবশ্যিক প্রকাশ্য মডেল IDprompt: ঐচ্ছিক স্ট্রিং; অনেক মডেলের জন্য আবশ্যিক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_bytes ও video_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, seed ও referenceMediaItems গ্রহণ করে। লেখা, ফ্রেম ও রেফারেন্স দৃশ্য পারস্পরিকভাবে স্বতন্ত্র। স্বয়ংক্রিয় সময়কালের মান -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, error ও done ঘটনাসহ text/event-stream ফেরত দেয়। Chat API v1 সরাসরি messages অ্যারে গ্রহণ করে না।
উত্তরের স্কিমা
OpenAPI ফলাফল এই প্রকাশ্য প্রতিক্রিয়ার ধরনগুলো নথিভুক্ত করে:
GET /api/v1/models-এর জন্যModelListমডেল নির্বাচন ও প্যারামিটার ফর্মের জন্য
PublicApiModelওModelParamPOST /api/v1/filesওGET /api/v1/files/{fileId}-এর জন্যPublicApiFileফাইলভিত্তিক তৈরির প্যারামিটারের জন্য
ReferenceMediaItemতৈরি ও অবস্থা-সংক্রান্ত উত্তরের জন্য
PublicGenerationসম্পন্ন কাজের জন্য
GenerationResultওGenerationErrorChat API-র জন্য
ChatCompletionRequest,ChatCompletion,ChatSession,ChatMessage,ChatUsage,ChatCreditsএবং Chat স্ট্রিম ইভেন্ট স্কিমাGET /api/v1/credits-এর জন্যCreditBalanceস্বাক্ষরিত API webhook-এর জন্য
WebhookEndpoint,WebhookEvent,WebhookDeliveryওWebhookTestResultস্থিতিশীল ত্রুটি উত্তরের জন্য
PublicApiError
স্কিমাটি ক্লায়েন্ট যাচাই ও অভ্যন্তরীণ সমন্বয় পরীক্ষার জন্য নিরাপদ। TypeScript SDK beta-ও এই স্কিমার সীমা মেনে চলে।
উদাহরণ পরিচালনার নীতি
এই নথির curl, JavaScript ও Python উদাহরণ স্কিমার একই প্রকাশ্য ঘরের নাম ব্যবহার করে:
Authorization: Bearer rvya_sk_...Idempotency-Keymodelpromptmessagesession_idparamsclient_request_id
Chat-এর উদাহরণে আরও ব্যবহার করা হয়:
chat:createchat:readfile_id
ওয়েবহুকের উদাহরণে আরও ব্যবহার করা হয়:
Rivya-Webhook-SignatureRivya-Webhook-Timestampwebhooks:manage
মডেলের পরামিতি বদলালে আগে মডেলের তালিকা ও প্রকাশ্য সিরিয়ালাইজার হালনাগাদ করুন। নথি ও ডিবাগার আলাদা ছক অনুলিপি না করে একই প্রকাশ্য স্তর ব্যবহার করবে।
সম্পর্কিত পৃষ্ঠা
API পরিচয় যাচাই
Bearer পরিচয়পত্র, সীমাবদ্ধ অনুমতি, একবার গোপন কী দেখানো, প্রত্যাহার ও পরিবর্তনের মাধ্যমে Rivya API-র অনুরোধ যাচাই করুন।
Rivya TypeScript SDK নির্দেশিকা
SSE স্ট্রিমিংসহ মডেল, তৈরির কাজ, ফাইল, ক্রেডিট, ওয়েবহুক ও কথোপকথনের জন্য প্রকাশ্য API v1 কল করতে Rivya TypeScript SDK পরীক্ষামূলক সংস্করণ ব্যবহার করুন।
