Documentație Rivya AI

Contract OpenAPI și schemă

Consultă sursele schemei Rivya API v1, regulile de compatibilitate, câmpurile publice și contractul JSON OpenAPI doar pentru citire.

Ultima revizuire la 2026/08/26

Rivya API v1 expune un contract de schemă doar pentru citire la adresa:

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

Această rută expune un contract public. Nu citește datele de sesiune ale utilizatorilor, nu trimite sarcini către modele și nu expune date private ale conturilor.

Sursele contractului

Contractul este derivat din:

  • schemele cererilor Public API

  • codurile publice de eroare

  • stratul public de referință pentru modelele API

  • același catalog de modele folosit de /api/v1/models

lista modelelor este dinamică. Nu construi integrări care depind de un număr de modele introdus manual.

Politica de versiuni

Versiunea curentă a API-ului este v1.

Modificările compatibile cu versiunile anterioare pot include:

  • adăugarea unui model în /api/v1/models

  • adăugarea unui câmp opțional în răspuns

  • adăugarea unui parametru opțional de cerere pentru un model

  • adăugarea unui cod public nou de eroare

Modificările incompatibile necesită o versiune nouă sau o cale de migrare documentată.

Limita câmpurilor publice

Câmpurile schemei publice folosesc denumiri publice:

  • id

  • status

  • model

  • session_id

  • message

  • usage

  • reserved_credits

  • final_credits

  • created_at

  • updated_at

  • result

  • error

Nu te baza pe câmpurile interne de stocare a sarcinilor. Acestea nu fac parte din contractul public.

Schemă cererii

POST /api/v1/generations acceptă:

  • model: ID-ul public obligatoriu al modelului

  • prompt: șir opțional, obligatoriu pentru multe modele

  • params: obiect opțional cu parametri specifici modelului

  • client_request_id: șir opțional pentru propriul ID de urmărire

Folosește Referința API pentru modele pentru valorile params specifice modelului.

Materialele de referință returnate de /api/v1/files trebuie incluse în params.referenceMediaItems. Schemă documentează url, kind, valoarea opțională name, valoarea opțională mimeType, valorile opționale durationSeconds / durationToken, valorile opționale width / height / sizeBytes / imageDimensionsToken și valorile opționale framesPerSecond / videoBitrateMbps / videoMetadataToken. Fiecare imagine de referință Image5, Grok Imagine Image 2.0 sau Wan 3.0 necesită tokenul de imagine semnat și dimensiunea asociată în octeți din răspunsul original al încărcării pentru modelul țintă; Layer Decomposition aplică și limitele geometrice documentate. Fiecare videoclip de referință Video8 și Wan 3.0 necesită tokenul de durată semnat și metadatele video semnate din răspunsul original al încărcării pentru modelul țintă. Rivya nu acceptă un câmp de nivel superior files în POST /api/v1/generations.

POST /api/v1/files acceptă date de formular multipart cu file, kind, valoarea opțională model și valoarea opțională client_request_id. Răspunsul este PublicApiFile și include size_bytes, dimensiuni ale imaginii care pot fi nule, image_dimensions_token, precum și valorile care pot fi nule video_width, video_height, frames_per_second, video_bitrate_mbps, video_file_size_bytes și video_metadata_token. GET /api/v1/files/{fileId} returnează metadate publice pentru fișierele deținute de contul API, însă un token de metadate semnat care nu a fost persistat poate avea valoarea null și trebuie înlocuit prin reîncărcare.

video_metadata_token este asociat contului API, modelului țintă, URL-ului, tipului MIME, dimensiunilor, ratei de cadre, bitrate-ului și dimensiunii încărcării în octeți. Nu înlocuiește duration_token; videoclipurile de referință Video8 și Wan 3.0 care folosesc ambele contracte trebuie să furnizeze ambii tokeni. Tokenurile de durată audio Wan 3.0 sunt asociate și tipului MIME, și dimensiunii încărcării în octeți.

Pentru wan-3-0-video, params acceptă numai seedance_scene, variant, resolution, aspect_ratio, duration, audio, seed și referenceMediaItems. Modurile text, cadre și referință se exclud reciproc. Durata inteligentă este -1, rezervă 30 de secunde și nu este validă cu un videoclip de referință; câmpurile arbitrare, materialele nesemnate și scurtăturile file-to-video sau link-to-video sunt respinse fără procesare alternativă.

POST /api/v1/chat/completions acceptă model, message, valoarea opțională session_id, controale opționale, atașamente Files API opționale prin file_id și valoarea opțională client_request_id. Returnează un mesaj complet al asistentului, fără streaming.

POST /api/v1/chat/completions/stream acceptă aceeași schemă de cerere și returnează text/event-stream cu evenimentele session.created, message.delta, message.completed, usage.completed, heartbeat, error și done. Chat API v1 nu acceptă un tablou brut messages.

Scheme de răspuns

Rezultatul OpenAPI documentează următoarele structuri publice de răspuns:

  • ModelList pentru GET /api/v1/models

  • PublicApiModel și ModelParam pentru selectarea modelelor și formularele de parametri

  • PublicApiFile pentru POST /api/v1/files și GET /api/v1/files/{fileId}

  • ReferenceMediaItem pentru parametrii de generare bazați pe fișiere

  • PublicGeneration pentru răspunsurile de creare și stare

  • GenerationResult și GenerationError pentru sarcinile finalizate

  • ChatCompletionRequest, ChatCompletion, ChatSession, ChatMessage, ChatUsage, ChatCredits și schemele evenimentelor de streaming Chat pentru Chat API

  • CreditBalance pentru GET /api/v1/credits

  • WebhookEndpoint, WebhookEvent, WebhookDelivery și WebhookTestResult pentru webhookurile API semnate

  • PublicApiError pentru răspunsurile stabile de eroare

Schemă poate fi folosită în siguranță pentru validarea pe client și testele interne de integrare. Versiunea beta a TypeScript SDK rămâne constrânsă de această schemă.

Guvernanța exemplelor

Exemplele curl, JavaScript și Python din aceste documente folosesc aceleași denumiri de câmpuri publice ca schemă:

  • Authorization: Bearer rvya_sk_...

  • Idempotency-Key

  • model

  • prompt

  • message

  • session_id

  • params

  • client_request_id

Exemplele Chat folosesc suplimentar:

  • chat:create

  • chat:read

  • file_id

Exemplele Webhook folosesc suplimentar:

  • Rivya-Webhook-Signature

  • Rivya-Webhook-Timestamp

  • webhooks:manage

Când se modifică un parametru al modelului, actualizează mai întâi catalogul de modele și serializatorul public. Documentația și instrumentul de depanare trebuie să consume același nivel public în loc să copieze un tabel separat.

Pagini asociate