OpenAPI e contratto dello schema
Rivedi sorgenti schema Rivya API v1, regole di compatibilità, campi pubblici e contratto OpenAPI JSON in sola lettura.
Ultima revisione il 2026/08/26
Rivya API v1 espone un contratto schema in sola lettura a:
https://rivya.ai/api/v1/openapi.jsonQuesta route è un output di contratto pubblico. Non legge dati di sessione utente, non invia job modello e non espone dati privati dell'account.
Sorgenti del contratto
Il contratto deriva da:
schema delle richieste API pubbliche
codici di errore pubblici
livello pubblico del riferimento modelli API
lo stesso catalogo modelli usato da
/api/v1/models
L'elenco dei modelli è dinamico. Non costruire integrazioni che dipendono da un conteggio modelli scritto manualmente.
Policy di versione
La versione API attuale è v1.
Le modifiche retrocompatibili possono includere:
aggiunta di un modello a
/api/v1/modelsaggiunta di un campo di risposta opzionale
aggiunta di un parametro di richiesta opzionale per un modello
aggiunta di un nuovo codice di errore pubblico
Le modifiche breaking richiedono una nuova versione o un percorso di migrazione documentato.
Confine dei campi pubblici
I campi dello schema pubblico usano nomi pubblici:
idstatusmodelsession_idmessageusagereserved_creditsfinal_creditscreated_atupdated_atresulterror
Non dipendere dai campi interni di storage dei task. Non fanno parte del contratto pubblico.
Schema di richiesta
POST /api/v1/generations accetta:
model: ID pubblico del modello, obbligatorioprompt: stringa opzionale, richiesta da molti modelliparams: oggetto opzionale con parametri specifici del modelloclient_request_id: stringa opzionale per il tuo ID di tracciamento
Usa riferimento API dei modelli per i params specifici del modello.
I media di riferimento restituiti da /api/v1/files appartengono a params.referenceMediaItems. Lo schema documenta url, kind, name opzionale, mimeType opzionale, durationSeconds / durationToken opzionali, width / height / sizeBytes / imageDimensionsToken opzionali e framesPerSecond / videoBitrateMbps / videoMetadataToken opzionali. Ogni immagine di riferimento Image5, Grok Imagine Image 2.0 o Wan 3.0 richiede il token immagine firmato e la dimensione in byte associata della risposta originale all'upload legato al modello; Layer Decomposition applica anche i limiti geometrici documentati. Ogni video di riferimento Video8 o Wan 3.0 richiede il token di durata firmato e i metadati video firmati della risposta originale all'upload associato al modello. Rivya non accetta un campo files al livello principale in POST /api/v1/generations.
POST /api/v1/files accetta multipart form data con file, kind, model opzionale e client_request_id opzionale. La risposta è PublicApiFile e include size_bytes, le dimensioni dell'immagine facoltative, image_dimensions_token e i campi video facoltativi video_width, video_height, frames_per_second, video_bitrate_mbps, video_file_size_bytes e video_metadata_token. GET /api/v1/files/{fileId} restituisce i metadati pubblici dei file appartenenti all'account API, ma un token di metadati firmato che non è stato persistito può risultare null e deve essere sostituito caricando nuovamente il file.
video_metadata_token è associato all'account API, al modello di destinazione, all'URL, al tipo MIME, alle dimensioni, alla frequenza dei fotogrammi, al bitrate e alla dimensione dell'upload in byte. Non sostituisce duration_token: i video di riferimento Video8 e Wan 3.0 che usano entrambi i contratti devono fornire entrambi i token. I token di durata audio di Wan 3.0 vincolano anche il tipo MIME e la dimensione dell'upload in byte.
Per wan-3-0-video, params accetta solo seedance_scene, variant, resolution, aspect_ratio, duration, audio, seed e referenceMediaItems. Le scene di testo, fotogrammi e riferimento sono mutuamente esclusive. La durata intelligente è -1, prenota 30 secondi e non è valida con un video di riferimento; chiavi arbitrarie, media non firmati e scorciatoie da file a video o da link a video vengono rifiutati secondo il principio di chiusura in caso di errore.
POST /api/v1/chat/completions accetta model, message, session_id opzionale, controlli opzionali, allegati Files API file_id opzionali e client_request_id opzionale. Restituisce un messaggio assistant completo non streaming.
POST /api/v1/chat/completions/stream accetta lo stesso schema di richiesta e restituisce text/event-stream con eventi session.created, message.delta, message.completed, usage.completed, heartbeat, error e done. Chat API v1 non accetta un array raw messages.
Schemi di risposta
L'output OpenAPI documenta queste forme di risposta pubbliche:
ModelListperGET /api/v1/modelsPublicApiModeleModelParamper selezione modello e form parametriPublicApiFileperPOST /api/v1/fileseGET /api/v1/files/{fileId}ReferenceMediaItemper parametri di generazione basati su filePublicGenerationper risposte di creazione e statoGenerationResulteGenerationErrorper task completatiChatCompletionRequest,ChatCompletion,ChatSession,ChatMessage,ChatUsage,ChatCreditse schemi degli eventi stream Chat per Chat APICreditBalanceperGET /api/v1/creditsWebhookEndpoint,WebhookEvent,WebhookDeliveryeWebhookTestResultper webhook API firmatiPublicApiErrorper risposte di errore stabili
Lo schema è sicuro da usare per validazione client e test di integrazione interni. La beta del TypeScript SDK resta vincolata da questo schema.
Governance degli esempi
Gli esempi curl, JavaScript e Python in questi documenti usano gli stessi nomi di campo pubblici dello schema:
Authorization: Bearer rvya_sk_...Idempotency-Keymodelpromptmessagesession_idparamsclient_request_id
Gli esempi Chat usano inoltre:
chat:createchat:readfile_id
Gli esempi webhook usano inoltre:
Rivya-Webhook-SignatureRivya-Webhook-Timestampwebhooks:manage
Quando cambia un parametro di modello, aggiorna prima il catalogo modelli e il serializer pubblico. Documenti e debugger dovrebbero consumare lo stesso livello pubblico invece di copiare una tabella separata.
Pagine correlate
Autenticazione API
Autentica le richieste Rivya API con chiavi API Bearer, permessi con scope, visualizzazione del segreto una sola volta, revoca e rotazione.
Rivya TypeScript SDK
Usa la beta del Rivya TypeScript SDK per chiamare Public API v1 per modelli, generazioni, file, crediti, webhooks e Chat, incluso streaming SSE.