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.jsonAceastă 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/modelsadă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:
idstatusmodelsession_idmessageusagereserved_creditsfinal_creditscreated_atupdated_atresulterror
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 modeluluiprompt: șir opțional, obligatoriu pentru multe modeleparams: obiect opțional cu parametri specifici modeluluiclient_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:
ModelListpentruGET /api/v1/modelsPublicApiModelșiModelParampentru selectarea modelelor și formularele de parametriPublicApiFilepentruPOST /api/v1/filesșiGET /api/v1/files/{fileId}ReferenceMediaItempentru parametrii de generare bazați pe fișierePublicGenerationpentru răspunsurile de creare și stareGenerationResultșiGenerationErrorpentru sarcinile finalizateChatCompletionRequest,ChatCompletion,ChatSession,ChatMessage,ChatUsage,ChatCreditsși schemele evenimentelor de streaming Chat pentru Chat APICreditBalancepentruGET /api/v1/creditsWebhookEndpoint,WebhookEvent,WebhookDeliveryșiWebhookTestResultpentru webhookurile API semnatePublicApiErrorpentru 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-Keymodelpromptmessagesession_idparamsclient_request_id
Exemplele Chat folosesc suplimentar:
chat:createchat:readfile_id
Exemplele Webhook folosesc suplimentar:
Rivya-Webhook-SignatureRivya-Webhook-Timestampwebhooks: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
Autentificare API
Autentifică cererile către API-ul Rivya cu chei API Bearer, permisiuni definite, afișarea unică a secretului, revocare și rotație.
Rivya TypeScript SDK
Folosește versiunea beta a Rivya TypeScript SDK pentru a apela Public API v1 pentru modele, generări, fișiere, credite, webhookuri și Chat, inclusiv streaming SSE.
