API

Сумісно з OpenAI. Кожна модель.

Спрямуйте свій наявний OpenAI SDK на https://api.yout.chat/v1 із вашим ключем Yout.chat — і кожна провідна модель ваша. Один пул кредитів, один рахунок, жодних контрактів на окремі моделі.

Базова URL-адреса: https://api.yout.chat/v1 · Авторизація: Authorization: Bearer <your-key>

Заміна без переробок

Якщо ваш код уже спілкується з API OpenAI, вам треба змінити лише дві речі.

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)

Працює без змін із OpenAI Python SDK, OpenAI Node SDK, LangChain, LlamaIndex, Vercel AI SDK, LiteLLM, та будь-чим іншим, що розуміє формат OpenAI.

Кінцеві точки

Усі кінцеві точки приймають Authorization: Bearer <key>. Сесійні файли cookie працюють для вебзастосунку.

POST/v1/chat/completions

Сумісно з OpenAI. Передайте stream: true для SSE. Кредити списуються атомарно.

Тіло запиту
{
  "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
}
Відповідь (без стрімінгу)
{
  "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

Список моделей, сумісний з OpenAI. Кожна активна модель із id, context_window, та вартістю в кредитах за токен.

POST/api/chat/stream/

Власна кінцева точка стрімінгу — простіший формат JSON, ніж в OpenAI, використовується вебзастосунком. Надавайте перевагу /v1/chat/completions для сумісності зі сторонніми SDK.

GET/api/chat/models/

Розширений каталог моделей із тегами завдань, модальністю, ознакою лише для Pro. Використовуйте це у власному інтерфейсі.

GET/api/chat/limit/

Ваша поточна квота — баланс кредитів + статус плану, або анонімний денний ліміт.

GET/api/chat/keys/

Список ваших активних ключів API (замаскованих).

POST/api/chat/keys/

Створити іменований ключ API. Повний токен повертається один раз — збережіть його.

Тіло запиту
{"name": "production"}
POST/api/chat/keys/<id>/revoke/

Відкликати ключ. Наявні сесії, що його використовують, отримають 401 під час наступного виклику.

POST/api/media/image/

Завдання генерації зображення. Повертає job_uuid; опитуйте /api/media/jobs/<uuid>/.

POST/api/media/video/

Завдання генерації відео. ~1,2 млн кредитів за 5-секундне Veo. Кредити автоматично повертаються в разі помилки.

POST/api/media/speech/

Синтез мовлення. Повертає job_uuid; після завершення результат — це підписана URL-адреса аудіо.

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

Опитати завдання генерації: status, output_url, error, credits_cost.

POST/api/chat/share/

Створити публічний знімок лише для читання. Повертає /c/<slug> URL-адресу.

POST/api/chat/purge/

Видалити ваші розмови, повідомлення та журнал використання на боці сервера.

Оплата

Використання API списується з того самого пулу кредитів, що й вебзастосунок. Окремої оплати за API немає.

Ціни за токен

Текстові моделі списують credits_per_1k_input × вхідні токени + credits_per_1k_output × вихідні токени. Медіамоделі списують фіксовану credits_per_call.

Мінімальна плата

Кожен успішний виклик списує щонайменше 10 кредитів для покриття накладних витрат, незалежно від кількості токенів.

Повернення за помилку

Завдання генерації зображень/відео/мовлення, що зазнають збою на боці провайдера, автоматично повертають кредити. За збоїв текстового стрімінгу списується лише те, що було згенеровано.

Овердрафт

Виклики повертають 402 insufficient_credits коли ваш баланс не може покрити очікувану вартість. Плани не дроселюються, доки plan_active має значення true, а баланс додатний.

Автентифікація & конфіденційність

  • Токен Bearer — на кожного користувача, доступний на сторінці вашого облікового запису. Ротація — через видалення + повторне створення облікового запису (належна кінцева точка ротації заплановано).
  • Жодних ідентифікаторів користувача не передається — ми пересилаємо запит провайдерам без вашої електронної пошти, IP-адреси, агента користувача чи ідентифікатора облікового запису. Лише загальний HTTP-Referer: yout.chat і все.
  • no-log сигнал — надсилається провайдерам, тож постачальників моделей просять не зберігати в журналах і не навчати на ваших запитах там, де це дозволяють їхні контракти.
  • Вміст повідомлень не зберігається за замовчуванням — ми записуємо рядок UsageLedger (токени + кредити + модель), але не запит чи відповідь.

Плани розвитку

  • Сумісна з OpenAI /v1/chat/completions прокладка, щоб наявні SDK працювали без змін
  • Зворотні виклики вебхуків для тривалих медіазавдань (замість опитування)
  • Ротація токенів + області видимості на кожен токен
  • Ключі ідемпотентності на /stream/ + безпечне для повторів створення завдань
  • Самостійне керування обмеженнями частоти запитів

Готові запускати?

Безкоштовний рівень дає вам 50 тис. кредитів для експериментів. Підвищуйте план, коли потрібно більше.