spicyapiDocumentazione
Riferimento
Contenuto principale

OpenAPI e indice degli endpoint

Contratto OpenAPI 3.1 scaricabile, tutti gli endpoint pubblici con le rispettive guide, header condivisi e origine API di produzione.

Il contratto pubblico leggibile dalle macchine è disponibile come OpenAPI 3.1 YAML. Usalo per generare un client o validare l'integrazione rispetto agli endpoint pubblici attuali.

Origine API di produzione

https://api.spicyapi.ai è l'unica origine di produzione dichiarata da OpenAPI in servers[0].url. Le API delle attività usano /api/v1; la compatibilità dei protocolli usa /v1 e /v1beta.

Queste API della piattaforma permettono di selezionare modelli, ottenere stime e monitorare la spesa senza aprire la console. Il catalogo dei modelli include i prezzi dell'account; usa un preventivo con gli input esatti quando il prezzo dipende dai parametri. La cronologia delle attività e l'utilizzo sono limitati alla chiave API con cui effettui la chiamata. Creazione delle chiavi, rotazione e impostazioni del budget restano nella console. Ogni tabella rimanda alla guida che spiega per intero l'endpoint.

API per individuare modelli, prezzi e informazioni sull'account

MetodoPercorsoScopoGuida
GET/console/v1/catalog/modelsCatalogo pubblico per la valutazione: senza chiave API, prezzi standard, limite di richieste per indirizzo sorgenteAvvio rapido
GET/api/v1/modelsLeggere modelli utilizzabili, prezzi dell'account e schemi facoltativiCatalogo dei modelli
GET/api/v1/models/{model}Leggere un modello e il suo JSON Schema completoCatalogo dei modelli
POST/api/v1/jobs/quoteOttenere un preventivo della richiesta esatta valido cinque minuti, senza creare un'attività né bloccare fondiPreventivi
GET/api/v1/chat/creditLeggere saldo disponibile, bloccato e totaleFatturazione
GET/api/v1/usageLeggere chiamate della chiave attuale e spesa liquidata in USD per data e modelloFatturazione

API di generazione e delle attività

MetodoPercorsoScopoGuida
GET/api/v1/jobsElencare la cronologia delle attività della chiave API attuale con paginazione a cursoreAttività
POST/api/v1/jobs/createTaskCreare un'attività di generazione asincronaAttività
GET/api/v1/jobs/recordInfoLeggere un'attività creata con la chiave API della chiamataAttività
POST/api/v1/jobs/retryCreare una nuova attività da un'attività fallita o scaduta; le registrazioni storiche annullate restano compatibiliAzioni sulle attività
POST/api/v1/jobs/purgeDistruggere gli artefatti e il prompt di un'attività in stato finale; la registrazione di fatturazione resta intattaConservazione
POST/api/v1/jobs/streamEseguire un modello di testo e trasmettere la risposta in streaming via SSETesto e streaming

API dei media

MetodoPercorsoScopoGuida
POST/api/v1/common/upload-urlEmettere un ticket per il caricamento diretto dei mediaMedia
POST/api/v1/files/{fileId}/commitVerificare e confermare un caricamento diretto, restituendo l'URI spicy:// pronto per l'attivitàMedia
POST/api/v1/files/importImportare un file di pesi LoRA da un link, con un token di accesso facoltativo usato una sola volta e mai salvato; restituisce l'URI spicy:// pronto per l'attivitàPesi dell'adattatore
POST/api/v1/common/download-urlEmettere un URL temporaneo per scaricare l'output di un'attività (facoltativo: le attività concluse ne includono già uno)Media
POST/api/v1/assetsSalvare un file nella libreria di asset (Idempotency-Key obbligatorio)Media
GET/api/v1/assetsElencare i tuoi asset salvati (filtri favorite, collectionId, q; ordine con sort)Media
GET/api/v1/assets/usageConsultare piano, utilizzo e limiti della libreria di assetMedia
GET/api/v1/assets/{assetId}Ottenere un asset con un nuovo link di anteprima privatoMedia
PATCH/api/v1/assets/{assetId}Rinominare un asset o cambiarne il flag favoriteMedia
DELETE/api/v1/assets/{assetId}Eliminare un assetMedia
GET/api/v1/assets/entitiesElencare i personaggi della tua libreria di asset (sola lettura)Media
GET/api/v1/assets/entities/{entityId}Ottenere un personaggio con le immagini in ordine (sola lettura)Media

Autenticazione e struttura delle risposte

Ogni endpoint tranne il catalogo pubblico richiede la chiave API come Authorization: Bearer sk-spicy-…; gli endpoint di compatibilità (/v1, /v1beta) accettano anche x-api-key, inviato dagli SDK Anthropic, e x-goog-api-key, inviato dagli SDK Google GenAI. Una chiave nella query string dell'URL non viene mai accettata. Attività, nuovi tentativi, distruzioni e link di download sono visibili soltanto alla chiave API che ha creato l'attività; consulta Autenticazione.

Le risposte JSON delle API delle attività condividono la struttura {code,msg,data,request_id}; gli endpoint di compatibilità usano i formati dei rispettivi protocolli. L'esito di un'attività è espresso da data.state, non dal code della struttura esterna. Consulta Errori.

Header di richiesta usati fra gli endpoint

HeaderDestinazioneScopo
Authorization: Bearer …Tutto tranne il catalogo pubblicoLa tua chiave API
Idempotency-Keyjobs/createTask, jobs/retry, jobs/stream, POST /v1/videos e gli endpoint di testo /v1 e /v1betaRende sicuro reinviare dopo un errore di rete. Negli endpoint delle attività restituisce l'attività originale; negli endpoint di testo impedisce un secondo addebito ma non può restituire una risposta persa. Consulta Idempotenza
X-Spicy-Retentionjobs/createTask, jobs/streamAccorcia il periodo di conservazione degli output e del prompt di questa attività, in secondi. Consulta Conservazione
Accept-LanguageQualsiasi endpointLingua dei messaggi di errore; i codici non cambiano mai. Consulta Errori

Usare il file OpenAPI

  • Provare le richieste senza scrivere codice: importa il file OpenAPI collegato all'inizio della pagina in un client API come Postman, Insomnia o Bruno, poi imposta il token bearer sulla tua chiave API. Ricorda che creare attività costa denaro.
  • Generare un client: passa lo stesso file a un generatore di codice OpenAPI 3.1 per il tuo linguaggio.

Modifiche al contratto

  • Non conservare i parametri dei modelli come uno snapshot permanente scritto nel codice; leggi inputSchema da /models/{model}.
  • Accetta campi di risposta sconosciuti, ma non indovinare mai campi di richiesta sconosciuti.
  • Usa lo YAML OpenAPI per generare codice o eseguire test del contratto prima del rilascio.

Endpoint di compatibilità

MetodoPercorsoProtocollo
GET/v1/modelsModels
POST/v1/chat/completionsChat Completions
POST/v1/responsesResponses
POST/v1/messagesMessages
POST/v1beta/models/{model}:generateContentGemini generateContent
POST/v1beta/models/{model}:streamGenerateContentGemini streamGenerateContent
POST/v1/videosVideos
GET/v1/videos/{videoId}Stato del video
GET/v1/videos/{videoId}/contentContenuto del video

Gli endpoint di testo sono trattati in Testo e streaming; la loro tariffazione è in Preventivi e compatibilità.

Il pacchetto TypeScript ufficiale è @spicyapi/sdk. Per Python e Go, oppure se non puoi aggiungere una dipendenza, i client di riferimento copiabili qui sotto chiamano questi endpoint usando soltanto il runtime del linguaggio. Quello Python gestisce da solo un intero lavoro con media: caricare e confermare un file di riferimento, confermare il prezzo con un preventivo, creare l'attività e interrogarla fino a uno stato finale, leggere il risultato che sia composto da file o testo, aggiornare un link di output scaduto, distruggere poi i contenuti archiviati e verificare una firma webhook. Quello Go copre la stessa pipeline, con un contesto per ogni chiamata e un errore tipizzato recuperabile con errors.As. Quello TypeScript copre creazione delle attività, nuovi tentativi, lettura dello stato e attesa con un limite; per i caricamenti e il resto delle funzionalità in Node.js, usa l'SDK.

Client di riferimento da copiare

Esempi senza dipendenze che coprono la ricerca dei modelli, la creazione di un’attività, il nuovo tentativo dopo un errore, la lettura dello stato, tutti gli stati finali, l’attesa con un limite, l’idempotenza e gli errori. Un’attività già accettata non può essere annullata.

Sono esempi di documentazione, non pacchetti npm o PyPI né moduli Go pubblicati. Dieci minuti sono un limite di attesa locale, non uno SLA di produzione.

In questa pagina