API

Compatibile con OpenAI. Ogni modello.

Punta il tuo SDK OpenAI esistente su https://api.yout.chat/v1 con la tua chiave Yout.chat e ogni modello importante è tuo. Un solo pool di crediti, una sola fattura, nessun contratto per singolo modello.

URL base: https://api.yout.chat/v1 · Auth: Authorization: Bearer <your-key>

Sostituzione immediata

Se il tuo codice usa già l'API di OpenAI, devi cambiare solo due cose.

from openai import OpenAI

client = OpenAI(
    api_key="yout-...",                  # ← from Account → API keys
    base_url="https://api.yout.chat/v1",       # ← that's it
)

resp = client.chat.completions.create(
    model="anthropic-claude-sonnet-46",
    messages=[
        {"role": "user", "content": "Write a haiku about caching."},
    ],
)
print(resp.choices[0].message.content)

Funziona senza modifiche con OpenAI Python SDK, OpenAI Node SDK, LangChain, LlamaIndex, Vercel AI SDK, LiteLLM, e qualsiasi altra cosa parli il formato OpenAI.

Endpoint

Tutti gli endpoint accettano Authorization: Bearer <key>. I cookie di sessione funzionano per l'app web.

POST/v1/chat/completions

Compatibile con OpenAI. Passa stream: true per SSE. Crediti addebitati in modo atomico.

Corpo della richiesta
{
  "model": "anthropic-claude-sonnet-46",
  "messages": [
    {"role": "system", "content": "You are helpful."},
    {"role": "user",   "content": "What is 2+2?"}
  ],
  "stream": false,
  "temperature": 0.7,
  "max_tokens": 512
}
Risposta (non in streaming)
{
  "id": "chatcmpl-...",
  "object": "chat.completion",
  "model": "anthropic-claude-sonnet-46",
  "choices": [{"index":0,"message":{"role":"assistant","content":"Four."},"finish_reason":"stop"}],
  "usage": {"prompt_tokens": 15, "completion_tokens": 2, "total_tokens": 17},
  "yout": {"credits_charged": 10, "balance": 14999990}
}
GET/v1/models

Elenco modelli compatibile con OpenAI. Ogni modello attivo con id, context_window, e il costo in crediti per token.

POST/api/chat/stream/

Endpoint di streaming nativo — formato JSON più semplice di quello di OpenAI, usato dall'app web. Preferisci /v1/chat/completions per la compatibilità con SDK di terze parti.

GET/api/chat/models/

Catalogo modelli più ricco con tag delle attività, modalità, flag solo-pro. Usalo nella tua interfaccia.

GET/api/chat/limit/

La tua quota attuale — saldo crediti + stato del piano, o allowance giornaliera anonima.

GET/api/chat/keys/

Elenca le tue chiavi API attive (mascherate).

POST/api/chat/keys/

Crea una chiave API con nome. Il token completo viene restituito una sola volta — salvalo.

Corpo della richiesta
{"name": "production"}
POST/api/chat/keys/<id>/revoke/

Revoca una chiave. Le sessioni esistenti che la usano ricevono 401 alla chiamata successiva.

POST/api/media/image/

Processo di generazione immagini. Restituisce job_uuid; poll /api/media/jobs/<uuid>/.

POST/api/media/video/

Processo di generazione video. ~1,2M crediti per 5 secondi con Veo. Crediti rimborsati automaticamente in caso di errore.

POST/api/media/speech/

Text-to-speech. Restituisce job_uuid; l'output è un URL audio firmato una volta completato.

GET/api/media/jobs/<uuid>/

Interroga un processo di generazione: status, output_url, error, credits_cost.

POST/api/chat/share/

Crea uno snapshot pubblico in sola lettura. Restituisce un /c/<slug> URL.

POST/api/chat/purge/

Cancella le tue conversazioni, i messaggi e il registro d'uso sul server.

Fatturazione

L'utilizzo dell'API attinge dallo stesso pool di crediti dell'app web. Nessuna fatturazione API separata.

Prezzi per token

I modelli di testo addebitano credits_per_1k_input × token in input + credits_per_1k_output × token in output. I modelli media addebitano una tariffa fissa credits_per_call.

Addebito minimo

Ogni chiamata riuscita addebita almeno 10 crediti per coprire le spese generali, indipendentemente dal numero di token.

Rimborso in caso di errore

I processi di immagine/video/voce che falliscono a monte rimborsano automaticamente i crediti. Gli errori dello stream di testo addebitano solo ciò che è stato prodotto.

Saldo insufficiente

Le chiamate restituiscono 402 insufficient_credits quando il tuo saldo non può coprire il costo stimato. I piani non sono limitati finché plan_active è true e il saldo è positivo.

Autenticazione & privacy

  • token Bearer — per utente, lo trovi nella tua pagina Account. Ruotalo eliminando + ricreando il tuo account (un endpoint di rotazione apposito è in roadmap).
  • Nessun identificatore utente inoltrato — facciamo da proxy verso i provider senza la tua email, IP, user agent o ID account. Solo un generico HTTP-Referer: yout.chat .
  • no-log segnale — inviato a monte affinché ai provider dei modelli venga chiesto di non registrare/addestrare sui tuoi prompt dove i loro contratti lo consentono.
  • Nessun contenuto dei messaggi conservato per impostazione predefinita — scriviamo una UsageLedger riga (token + crediti + modello) ma non il prompt o la risposta.

Roadmap

  • Compatibile con OpenAI /v1/chat/completions shim affinché gli SDK esistenti funzionino senza modifiche
  • Callback webhook per i processi media di lunga durata (in sostituzione del polling)
  • Rotazione dei token + ambiti per token
  • Chiavi di idempotenza su /stream/ + creazione dei processi sicura per i retry
  • Controlli self-service dei limiti di frequenza

Pronto a partire?

Il piano gratuito ti dà 50K crediti per fare prove. Passa a un piano superiore quando ti serve di più.