API

Compatible con OpenAI. Todos los modelos.

Apunta tu SDK de OpenAI existente a https://api.yout.chat/v1 con tu clave de Yout.chat y todos los modelos principales son tuyos. Un solo fondo de créditos, una sola factura, sin contratos por modelo.

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

Reemplazo directo

Si tu código ya se comunica con la API de OpenAI, solo cambias dos cosas.

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)

Funciona sin cambios con OpenAI Python SDK, OpenAI Node SDK, LangChain, LlamaIndex, Vercel AI SDK, LiteLLM, y cualquier otra cosa que hable el formato de OpenAI.

Endpoints

Todos los endpoints aceptan Authorization: Bearer <key>. Las cookies de sesión funcionan para la aplicación web.

POST/v1/chat/completions

Compatible con OpenAI. Pasa stream: true para SSE. Créditos debitados de forma atómica.

Cuerpo de la solicitud
{
  "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
}
Respuesta (sin 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

Lista de modelos compatible con OpenAI. Cada modelo activo con id, context_window, y el costo en créditos por token.

POST/api/chat/stream/

Endpoint de streaming nativo: formato JSON más simple que el de OpenAI, usado por la aplicación web. Prefiere /v1/chat/completions para la compatibilidad con SDK de terceros.

GET/api/chat/models/

Catálogo de modelos más completo con etiquetas de tarea, modalidad y bandera de solo Pro. Úsalo en tu propia interfaz.

GET/api/chat/limit/

Tu cuota actual: saldo de créditos + estado del plan, o asignación diaria anónima.

GET/api/chat/keys/

Lista tus claves de API activas (enmascaradas).

POST/api/chat/keys/

Crea una clave de API con nombre. El token completo se devuelve una sola vez: guárdalo.

Cuerpo de la solicitud
{"name": "production"}
POST/api/chat/keys/<id>/revoke/

Revoca una clave. Las sesiones existentes que la usen reciben 401 en la siguiente llamada.

POST/api/media/image/

Trabajo de generación de imágenes. Devuelve job_uuid; consulta /api/media/jobs/<uuid>/.

POST/api/media/video/

Trabajo de generación de video. ~1,2 M de créditos para 5 segundos de Veo. Los créditos se reembolsan automáticamente si falla.

POST/api/media/speech/

Texto a voz. Devuelve job_uuid; la salida es una URL de audio firmada una vez completada.

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

Consulta un trabajo de generación: status, output_url, error, credits_cost.

POST/api/chat/share/

Crea una instantánea pública de solo lectura. Devuelve una URL /c/<slug> .

POST/api/chat/purge/

Borra tus conversaciones, mensajes y registro de uso del lado del servidor.

Facturación

El uso de la API se descuenta del mismo fondo de créditos que la aplicación web. No hay facturación de API por separado.

Precios por token

Los modelos de texto cobran credits_per_1k_input × tokens de entrada + credits_per_1k_output × tokens de salida. Los modelos multimedia cobran una tarifa fija de credits_per_call.

Cargo mínimo

Cada llamada exitosa debita al menos 10 créditos para cubrir gastos generales, independientemente del número de tokens.

Reembolso por fallo

Los trabajos de imagen/video/voz que fallan en el proveedor reembolsan los créditos automáticamente. Los fallos de streaming de texto solo cobran lo que se produjo.

Saldo insuficiente

Las llamadas devuelven 402 insufficient_credits cuando tu saldo no puede cubrir el costo estimado. Los planes no se limitan mientras plan_active sea verdadero y el saldo sea positivo.

Autenticación & privacidad

  • Token Bearer — por usuario, disponible en tu página de Cuenta. Rótalo eliminando y recreando tu cuenta (endpoint de rotación apropiado en la hoja de ruta).
  • No se reenvían identificadores de usuario — hacemos de proxy hacia los proveedores sin tu correo, IP, agente de usuario ni ID de cuenta. Solo un HTTP-Referer: yout.chat genérico.
  • no-log señal — enviada al proveedor para que se les pida a los proveedores de modelos no registrar ni entrenar con tus prompts cuando sus contratos lo permitan.
  • No se conserva el contenido de los mensajes por defecto — escribimos una fila UsageLedger (tokens + créditos + modelo) pero no el prompt ni la respuesta.

Hoja de ruta

  • Adaptador compatible con OpenAI /v1/chat/completions para que los SDK existentes funcionen sin cambios
  • Devoluciones de llamada por webhook para trabajos multimedia de larga duración (reemplazan la consulta periódica)
  • Rotación de tokens + alcances por token
  • Claves de idempotencia en /stream/ + creación de trabajos segura ante reintentos
  • Controles de límite de tasa autogestionados

¿Listo para lanzar?

El nivel gratuito te da 50 K créditos para experimentar. Mejora cuando necesites más.