OpenAPI och schemakontrakt
Granska Rivya API v1:s schemakällor, kompatibilitetsregler, offentliga fält och det skrivskyddade OpenAPI JSON-kontraktet.
Senast granskad 2026/08/26
Rivya API v1 exponerar ett skrivskyddat schemakontrakt på:
https://rivya.ai/api/v1/openapi.jsonDen här routen är en offentlig kontraktsutdata. Den läser inte användarsessionsdata, skickar inte in modelljobb och exponerar inte privata kontodata.
Kontraktskällor
Kontraktet härleds från:
offentliga API-requestscheman
offentliga felkoder
det offentliga API-lagret för modellreferens
samma modellkatalog som används av
/api/v1/models
Modellistan är dynamisk. Bygg inte integrationer som beror på ett manuellt skrivet modellantal.
Versionspolicy
Den aktuella API-versionen är v1.
Bakåtkompatibla ändringar kan omfatta:
att lägga till en modell i
/api/v1/modelsatt lägga till ett valfritt svarsfält
att lägga till en valfri requestparameter för en modell
att lägga till en ny offentlig felkod
Brytande ändringar kräver en ny version eller en dokumenterad migreringsväg.
Gräns för offentliga fält
Offentliga schemafält använder offentliga namn:
idstatusmodelsession_idmessageusagereserved_creditsfinal_creditscreated_atupdated_atresulterror
Förlita dig inte på interna lagringsfält för uppgifter. De ingår inte i det offentliga kontraktet.
Requestschema
POST /api/v1/generations accepterar:
model: obligatoriskt offentligt modell-IDprompt: valfri sträng, krävs av många modellerparams: valfritt objekt med modellspecifika parametrarclient_request_id: valfri sträng för ditt eget trace-ID
Använd modellreferensen för API för modellspecifika params.
Referensmedia som returneras av /api/v1/files hör hemma i params.referenceMediaItems. Schemat dokumenterar url, kind, valfritt name, valfritt mimeType, valfritt durationSeconds / durationToken, valfritt width / height / sizeBytes / imageDimensionsToken och valfritt framesPerSecond / videoBitrateMbps / videoMetadataToken. Varje referensbild för Image5, Grok Imagine Image 2.0 eller Wan 3.0 kräver signerad bildtoken och bunden byte-storlek från det ursprungliga modellbundna uppladdningssvaret; Layer Decomposition tillämpar även sina dokumenterade geometrigränser. Varje Video8- eller Wan 3.0-referensvideo kräver signerad varaktighetstoken och signerad videometadata från det ursprungliga modellbundna uppladdningssvaret. Rivya accepterar inte ett toppnivåfält files i POST /api/v1/generations.
POST /api/v1/files accepterar multipart form data med file, kind, valfritt model och valfritt client_request_id. Svaret är PublicApiFile och innehåller size_bytes, nullbara bildmått, image_dimensions_token, nullbara video_width, video_height, frames_per_second, video_bitrate_mbps, video_file_size_bytes och video_metadata_token. GET /api/v1/files/{fileId} returnerar offentlig metadata för filer som ägs av API-kontot, men en signerad metadatatoken som inte har sparats kan vara null och måste ersättas genom en ny uppladdning.
video_metadata_token är bunden till API-kontot, målmodellen, URL:en, MIME-typen, måtten, bildfrekvensen, bithastigheten och uppladdningens byte-storlek. Den ersätter inte duration_token; Video8- och Wan 3.0-referensvideor som använder båda kontrakten måste ange båda tokenvärdena. Varaktighetstoken för Wan 3.0-ljud binder även MIME-typ och uppladdningens byte-storlek.
För wan-3-0-video accepterar params endast seedance_scene, variant, resolution, aspect_ratio, duration, audio, seed och referenceMediaItems. Text-, bildrute- och referensscener är ömsesidigt uteslutande. Intelligent varaktighet är -1, reserverar 30 sekunder och är ogiltig med referensvideo; godtyckliga nycklar, osignerade medier samt genvägar från fil till video och länk till video avvisas utan alternativ bearbetning.
POST /api/v1/chat/completions accepterar model, message, valfritt session_id, valfria kontroller, valfria Files API-bilagor via file_id och valfritt client_request_id. Det returnerar ett komplett icke-streamande assistentmeddelande.
POST /api/v1/chat/completions/stream accepterar samma requestschema och returnerar text/event-stream med händelserna session.created, message.delta, message.completed, usage.completed, heartbeat, error och done. Chat API v1 accepterar inte en rå messages-array.
Svarsscheman
OpenAPI-utdata dokumenterar dessa offentliga svarsformer:
ModelListförGET /api/v1/modelsPublicApiModelochModelParamför modellval och parameterformulärPublicApiFileförPOST /api/v1/filesochGET /api/v1/files/{fileId}ReferenceMediaItemför filstödda genereringsparametrarPublicGenerationför svar vid skapande och statusGenerationResultochGenerationErrorför slutförda uppgifterChatCompletionRequest,ChatCompletion,ChatSession,ChatMessage,ChatUsage,ChatCreditsoch Chat stream event schemas för Chat APICreditBalanceförGET /api/v1/creditsWebhookEndpoint,WebhookEvent,WebhookDeliveryochWebhookTestResultför signerade API-webhooksPublicApiErrorför stabila felsvar
Schemat kan användas för klientvalidering och interna integrationstester. Betaversionen av TypeScript SDK följer fortfarande detta schema.
Exempelstyrning
curl-, JavaScript- och Python-exempel i dessa dokument använder samma offentliga fältnamn som schemat:
Authorization: Bearer rvya_sk_...Idempotency-Keymodelpromptmessagesession_idparamsclient_request_id
Chat-exempel använder dessutom:
chat:createchat:readfile_id
Webhook-exempel använder dessutom:
Rivya-Webhook-SignatureRivya-Webhook-Timestampwebhooks:manage
När en modellparameter ändras, uppdatera modellkatalogen och den offentliga serializern först. Dokumentationen och debuggern ska konsumera samma offentliga lager i stället för att kopiera en separat tabell.
Relaterade sidor
API-autentisering
Autentisera Rivya API-begäranden med Bearer API-nycklar, avgränsade behörigheter, engångsvisning av hemligheten, återkallning och rotation.
Rivya TypeScript SDK
Använd betaversionen av Rivyas TypeScript SDK för att anropa det offentliga API v1 för modeller, genereringar, filer, krediter, webhooks och Chat, inklusive SSE-strömning.
