Kontrak OpenAPI dan Skema
Semak sumber skema Rivya API v1, peraturan keserasian, medan awam, dan kontrak JSON OpenAPI baca sahaja.
Terakhir disemak pada 2026/08/26
Rivya API v1 menyediakan kontrak skema baca sahaja di:
https://rivya.ai/api/v1/openapi.jsonLaluan ini menghasilkan kontrak awam. Ia tidak membaca data sesi pengguna, menghantar tugasan model atau mendedahkan data akaun peribadi.
Sumber kontrak
Kontrak ini diterbitkan daripada:
skema permintaan API awam
kod ralat awam
lapisan rujukan model API awam
katalog model yang sama digunakan oleh
/api/v1/models
Senarai model adalah dinamik. Jangan bina integrasi yang bergantung pada kiraan model yang ditulis secara manual.
Dasar versi
Versi API semasa ialah v1.
Perubahan yang serasi dengan versi terdahulu boleh merangkumi:
menambah model ke
/api/v1/modelsmenambah medan respons pilihan
menambah parameter permintaan pilihan untuk model
menambah kod ralat awam baharu
Perubahan yang memecahkan keserasian memerlukan versi baharu atau laluan migrasi yang didokumenkan.
Sempadan medan awam
Medan skema awam menggunakan nama awam:
idstatusmodelsession_idmessageusagereserved_creditsfinal_creditscreated_atupdated_atresulterror
Jangan bergantung pada medan storan tugasan dalaman. Medan tersebut bukan sebahagian daripada kontrak awam.
Skema permintaan
POST /api/v1/generations menerima:
model: ID model awam yang diperlukanprompt: rentetan pilihan, diperlukan oleh banyak modelparams: objek pilihan dengan parameter khusus modelclient_request_id: rentetan pilihan untuk ID penjejakan anda sendiri
Gunakan Rujukan API Model untuk params khusus model.
Media rujukan yang dikembalikan oleh /api/v1/files berada di dalam params.referenceMediaItems. Skema mendokumenkan url, kind, name pilihan, mimeType pilihan, durationSeconds / durationToken pilihan, width / height / sizeBytes / imageDimensionsToken pilihan, dan framesPerSecond / videoBitrateMbps / videoMetadataToken pilihan. Setiap imej rujukan Image5, Grok Imagine Image 2.0, dan Wan 3.0 memerlukan token imej bertandatangan serta saiz bait terikat daripada respons muat naik asal yang terikat pada model; Layer Decomposition turut menguatkuasakan had geometri yang didokumenkan. Setiap video rujukan Video8 dan Wan 3.0 memerlukan token tempoh bertandatangan serta metadata video bertandatangan daripada respons muat naik asal yang terikat pada model. Rivya tidak menerima medan files peringkat atas dalam POST /api/v1/generations.
POST /api/v1/files menerima data borang multipart dengan file, kind, model pilihan, dan client_request_id pilihan. Responsnya ialah PublicApiFile, termasuk size_bytes, dimensi imej yang boleh bernilai null, image_dimensions_token, serta video_width, video_height, frames_per_second, video_bitrate_mbps, video_file_size_bytes, dan video_metadata_token yang boleh bernilai null. GET /api/v1/files/{fileId} mengembalikan metadata awam untuk fail yang dimiliki oleh akaun API, tetapi token metadata bertandatangan yang tidak disimpan mungkin bernilai null dan mesti digantikan dengan memuat naik semula fail.
video_metadata_token terikat pada akaun API, model sasaran, URL, jenis MIME, dimensi, kadar bingkai, kadar bit, dan saiz bait muat naik. Ia tidak menggantikan duration_token; video rujukan Video8 dan Wan 3.0 yang menggunakan kedua-dua kontrak mesti memberikan kedua-dua token. Token tempoh audio Wan 3.0 turut mengikat jenis MIME dan saiz bait muat naik.
Untuk wan-3-0-video, params hanya menerima seedance_scene, variant, resolution, aspect_ratio, duration, audio, seed, dan referenceMediaItems. Scene teks, bingkai, dan rujukan saling eksklusif. Tempoh pintar ialah -1, menempah 30 saat, dan tidak sah bersama video rujukan; kunci sebarangan, media tanpa tandatangan, pintasan fail kepada video, dan pintasan pautan kepada video ditolak tanpa pemprosesan alternatif.
POST /api/v1/chat/completions menerima model, message, session_id pilihan, kawalan pilihan, lampiran file_id Files API pilihan, dan client_request_id pilihan. Ia mengembalikan satu mesej pembantu lengkap tanpa penstriman.
POST /api/v1/chat/completions/stream menerima skema permintaan yang sama dan mengembalikan text/event-stream dengan peristiwa session.created, message.delta, message.completed, usage.completed, heartbeat, error, dan done. Chat API v1 tidak menerima tatasusunan messages mentah.
Skema respons
Hasil OpenAPI mendokumenkan bentuk respons awam berikut:
ModelListuntukGET /api/v1/modelsPublicApiModeldanModelParamuntuk pemilihan model dan borang parameterPublicApiFileuntukPOST /api/v1/filesdanGET /api/v1/files/{fileId}ReferenceMediaItemuntuk parameter penjanaan berasaskan failPublicGenerationuntuk respons penciptaan dan statusGenerationResultdanGenerationErroruntuk tugasan yang selesaiChatCompletionRequest,ChatCompletion,ChatSession,ChatMessage,ChatUsage,ChatCredits, dan skema peristiwa strim Chat untuk Chat APICreditBalanceuntukGET /api/v1/creditsWebhookEndpoint,WebhookEvent,WebhookDelivery, danWebhookTestResultuntuk webhook API bertandatanganPublicApiErroruntuk respons ralat yang stabil
Skema ini selamat digunakan untuk pengesahan klien dan ujian integrasi dalaman. TypeScript SDK beta kekal terikat pada skema ini.
Tadbir urus contoh
Contoh curl, JavaScript, dan Python dalam dokumen ini menggunakan nama medan awam yang sama seperti skema:
Authorization: Bearer rvya_sk_...Idempotency-Keymodelpromptmessagesession_idparamsclient_request_id
Contoh sembang turut menggunakan:
chat:createchat:readfile_id
Contoh webhook turut menggunakan:
Rivya-Webhook-SignatureRivya-Webhook-Timestampwebhooks:manage
Apabila parameter model berubah, kemas kini katalog model dan pensiri awam terlebih dahulu. Dokumen dan penyahpepijat patut menggunakan lapisan awam yang sama dan bukannya menyalin jadual berasingan.
Halaman berkaitan
Pengesahan API
Sahkan permintaan Rivya API dengan Bearer API keys, kebenaran berskop, paparan rahsia sekali sahaja, pembatalan, dan rotation.
Rivya TypeScript SDK
Gunakan Rivya TypeScript SDK beta untuk memanggil Public API v1 bagi model, penjanaan, fail, kredit, webhook, dan sembang termasuk penstriman SSE.
