API

Compatible OpenAI. Tous les modèles.

Pointez votre SDK OpenAI existant vers https://api.yout.chat/v1 avec votre clé Yout.chat et tous les grands modèles sont à vous. Un seul pool de crédits, une seule facture, aucun contrat par modèle.

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

Remplacement direct

Si votre code communique déjà avec l'API OpenAI, vous ne changez que deux choses.

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)

Fonctionne sans modification avec OpenAI Python SDK, OpenAI Node SDK, LangChain, LlamaIndex, Vercel AI SDK, LiteLLM, et tout ce qui parle le format OpenAI.

Points de terminaison

Tous les points de terminaison acceptent Authorization: Bearer <key>. Les cookies de session fonctionnent pour l'application web.

POST/v1/chat/completions

Compatible OpenAI. Passez stream: true pour le SSE. Crédits débités de façon atomique.

Corps de la requête
{
  "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
}
Réponse (sans 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

Liste de modèles compatible OpenAI. Chaque modèle actif avec id, context_window, et le coût en crédits par token.

POST/api/chat/stream/

Point de terminaison de streaming natif — format JSON plus simple que celui d'OpenAI, utilisé par l'application web. Préférez /v1/chat/completions pour la compatibilité avec les SDK tiers.

GET/api/chat/models/

Catalogue de modèles enrichi avec tags de tâches, modalité, indicateur réservé Pro. Utilisez-le dans votre propre interface.

GET/api/chat/limit/

Votre quota actuel — solde de crédits + statut du plan, ou allocation quotidienne anonyme.

GET/api/chat/keys/

Lister vos clés API actives (masquées).

POST/api/chat/keys/

Créer une clé API nommée. Le token complet n'est renvoyé qu'une seule fois — enregistrez-le.

Corps de la requête
{"name": "production"}
POST/api/chat/keys/<id>/revoke/

Révoquer une clé. Les sessions existantes qui l'utilisent reçoivent 401 au prochain appel.

POST/api/media/image/

Tâche de génération d'image. Renvoie job_uuid; interrogez /api/media/jobs/<uuid>/.

POST/api/media/video/

Tâche de génération vidéo. ~1,2 M de crédits pour 5 secondes de Veo. Crédits remboursés automatiquement en cas d'échec.

POST/api/media/speech/

Synthèse vocale. Renvoie job_uuid; la sortie est une URL audio signée une fois terminée.

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

Interroger une tâche de génération : status, output_url, error, credits_cost.

POST/api/chat/share/

Créer un instantané public en lecture seule. Renvoie une URL /c/<slug> .

POST/api/chat/purge/

Effacer vos conversations, messages et journal d'utilisation côté serveur.

Facturation

L'utilisation de l'API puise dans le même pool de crédits que l'application web. Aucune facturation API distincte.

Tarification par token

Les modèles de texte facturent credits_per_1k_input × tokens d'entrée + credits_per_1k_output × tokens de sortie. Les modèles média facturent un montant forfaitaire credits_per_call.

Frais minimum

Chaque appel réussi débite au moins 10 crédits pour couvrir les frais généraux, quel que soit le nombre de tokens.

Remboursement en cas d'échec

Les tâches image/vidéo/voix qui échouent en amont remboursent automatiquement les crédits. Les échecs de flux texte ne facturent que ce qui a été produit.

Découvert

Les appels renvoient 402 insufficient_credits lorsque votre solde ne peut pas couvrir le coût estimé. Les plans ne sont pas limités tant que plan_active est vrai et que le solde est positif.

Authentification & confidentialité

  • Token Bearer — par utilisateur, disponible sur votre page Compte. Effectuez une rotation en supprimant + recréant votre compte (un véritable point de terminaison de rotation est prévu dans la feuille de route).
  • Aucun identifiant utilisateur transmis — nous relayons aux fournisseurs sans votre e-mail, IP, user agent ni ID de compte. Un HTTP-Referer: yout.chat générique uniquement.
  • no-log signal — envoyé en amont afin qu'il soit demandé aux fournisseurs de modèles de ne pas journaliser/entraîner sur vos prompts lorsque leurs contrats le permettent.
  • Aucun contenu de message conservé par défaut — nous écrivons une ligne UsageLedger (tokens + crédits + modèle) mais ni le prompt ni la réponse.

Feuille de route

  • Compatible OpenAI /v1/chat/completions couche d'adaptation pour que les SDK existants fonctionnent sans modification
  • Rappels webhook pour les tâches média de longue durée (remplacer l'interrogation)
  • Rotation des tokens + portées par token
  • Clés d'idempotence sur /stream/ + création de tâches sûre face aux nouvelles tentatives
  • Contrôles de limite de débit en libre-service

Prêt à expédier ?

L'offre gratuite vous donne 50 K crédits pour expérimenter. Passez à un plan supérieur quand vous avez besoin de plus.