Dokumentace Rivya AI

OpenAPI a kontrakt schématu

Zkontrolujte zdroje schématu Rivya API v1, pravidla kompatibility, veřejná pole a pouze čitelný kontrakt OpenAPI JSON.

Naposledy zkontrolováno 2026/08/26

Rivya API v1 vystavuje pouze čitelný kontrakt schématu zde:

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

Tato trasa je výstup veřejného kontraktu. Nečte data uživatelských relací, neodesílá modelové úlohy a nezpřístupňuje soukromá data účtu.

Zdroje kontraktu

Kontrakt je odvozen z:

  • veřejných schémat API požadavků

  • veřejných chybových kódů

  • veřejné vrstvy reference modelů API

  • stejného katalogu modelů, který používá /api/v1/models

Seznam modelů je dynamický. Nevytvářejte integrace závislé na ručně napsaném počtu modelů.

Pravidla verzování

Aktuální verze API je v1.

Zpětně kompatibilní změny mohou zahrnovat:

  • přidání modelu do /api/v1/models

  • přidání volitelného pole odpovědi

  • přidání volitelného parametru požadavku pro model

  • přidání nového veřejného chybového kódu

Nekompatibilní změny vyžadují novou verzi nebo zdokumentovanou migrační cestu.

Hranice veřejných polí

Veřejná pole schématu používají veřejné názvy:

  • id

  • status

  • model

  • session_id

  • message

  • usage

  • reserved_credits

  • final_credits

  • created_at

  • updated_at

  • result

  • error

Nespoléhejte na interní pole úložiště úloh. Nejsou součástí veřejného kontraktu.

Schéma požadavku

POST /api/v1/generations přijímá:

  • model: povinné veřejné ID modelu

  • prompt: volitelný řetězec, který mnoho modelů vyžaduje

  • params: volitelný objekt s parametry specifickými pro model

  • client_request_id: volitelný řetězec pro vaše vlastní trasovací ID

Modelově specifické params najdete v referenci modelového API.

Referenční média vrácená z /api/v1/files patří do params.referenceMediaItems. Schéma dokumentuje url, kind, volitelné name, volitelné mimeType, volitelné durationSeconds / durationToken, volitelné width / height / sizeBytes / imageDimensionsToken a volitelné framesPerSecond / videoBitrateMbps / videoMetadataToken. Každý referenční obrázek pro Image5, Grok Imagine Image 2.0 nebo Wan 3.0 vyžaduje podepsaný token obrázku a svázanou velikost v bajtech z původní odpovědi na nahrání pro daný model; Layer Decomposition navíc vynucuje zdokumentované geometrické limity. Každé referenční video pro Video8 a Wan 3.0 vyžaduje podepsaný token délky a podepsaná metadata videa z původní odpovědi na nahrání svázané s modelem. Rivya nepřijímá pole files na nejvyšší úrovni v POST /api/v1/generations.

POST /api/v1/files přijímá multipart form data s file, kind, volitelným model a volitelným client_request_id. Odpověď je PublicApiFile, včetně size_bytes, volitelných rozměrů obrázku, image_dimensions_token a volitelných polí video_width, video_height, frames_per_second, video_bitrate_mbps, video_file_size_bytes a video_metadata_token. GET /api/v1/files/{fileId} vrací veřejná metadata souboru pro soubory vlastněné API účtem, ale podepsaný token metadat, který nebyl uložen, může mít hodnotu null a musí být nahrazen opětovným nahráním.

video_metadata_token je svázaný s API účtem, cílovým modelem, URL, MIME typem, rozměry, snímkovou frekvencí, datovým tokem a velikostí nahraného souboru v bajtech. Nenahrazuje duration_token; video reference Video8 a Wan 3.0, které používají oba kontrakty, musí poskytnout oba tokeny. Tokeny délky audia Wan 3.0 jsou navíc svázané s MIME typem a velikostí nahraného souboru v bajtech.

U modelu wan-3-0-video přijímá params pouze seedance_scene, variant, resolution, aspect_ratio, duration, audio, seed a referenceMediaItems. Režimy textu, snímků a reference se vzájemně vylučují. Inteligentní délka má hodnotu -1, rezervuje 30 sekund a není platná s referenčním videem; libovolné jiné klíče, nepodepsaná média a zkratky file-to-video nebo link-to-video budou při selhání validace odmítnuty bez náhradního zpracování.

POST /api/v1/chat/completions přijímá model, message, volitelné session_id, volitelné ovládací prvky, volitelné přílohy Files API file_id a volitelné client_request_id. Vrací jednu kompletní zprávu asistenta bez streamování.

POST /api/v1/chat/completions/stream přijímá stejné schéma požadavku a vrací text/event-stream s událostmi session.created, message.delta, message.completed, usage.completed, heartbeat, error a done. Chat API v1 nepřijímá surové pole messages.

Schémata odpovědí

Výstup OpenAPI dokumentuje tyto veřejné tvary odpovědí:

  • ModelList pro GET /api/v1/models

  • PublicApiModel a ModelParam pro výběr modelu a formuláře parametrů

  • PublicApiFile pro POST /api/v1/files a GET /api/v1/files/{fileId}

  • ReferenceMediaItem pro parametry generování podložené soubory

  • PublicGeneration pro odpovědi při vytvoření a čtení stavu

  • GenerationResult a GenerationError pro dokončené úlohy

  • ChatCompletionRequest, ChatCompletion, ChatSession, ChatMessage, ChatUsage, ChatCredits a schémata událostí chatového streamu pro Chat API

  • CreditBalance pro GET /api/v1/credits

  • WebhookEndpoint, WebhookEvent, WebhookDelivery a WebhookTestResult pro podepsané API webhooky

  • PublicApiError pro stabilní chybové odpovědi

Schéma je bezpečné používat pro validaci klienta a interní integrační testy. Beta TypeScript SDK zůstává omezená tímto schématem.

Správa příkladů

Příklady curl, JavaScript a Python v těchto dokumentech používají stejné veřejné názvy polí jako schéma:

  • Authorization: Bearer rvya_sk_...

  • Idempotency-Key

  • model

  • prompt

  • message

  • session_id

  • params

  • client_request_id

Příklady pro Chat navíc používají:

  • chat:create

  • chat:read

  • file_id

Příklady webhooků navíc používají:

  • Rivya-Webhook-Signature

  • Rivya-Webhook-Timestamp

  • webhooks:manage

Když se změní parametr modelu, nejprve aktualizujte katalog modelů a veřejný serializátor. Dokumentace a ladicí nástroj by měly používat stejnou veřejnou vrstvu místo kopírování samostatné tabulky.

Související stránky