API

Kompatybilne z OpenAI. Każdy model.

Skieruj swój istniejący SDK OpenAI na https://api.yout.chat/v1 ze swoim kluczem Yout.chat i wszystkie najważniejsze modele są Twoje. Jedna pula kredytów, jeden rachunek, żadnych kontraktów na poszczególne modele.

Bazowy adres URL: https://api.yout.chat/v1 · Uwierzytelnianie: Authorization: Bearer <your-key>

Zamiennik bez zmian

Jeśli Twój kod już komunikuje się z API OpenAI, zmieniasz tylko dwie rzeczy.

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)

Działa bez zmian z OpenAI Python SDK, OpenAI Node SDK, LangChain, LlamaIndex, Vercel AI SDK, LiteLLM, i wszystkim innym, co posługuje się formatem OpenAI.

Punkty końcowe

Wszystkie punkty końcowe akceptują Authorization: Bearer <key>. Pliki cookie sesji działają w aplikacji webowej.

POST/v1/chat/completions

Kompatybilne z OpenAI. Przekaż stream: true dla SSE. Kredyty pobierane atomowo.

Treść żądania
{
  "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
}
Odpowiedź (bez strumieniowania)
{
  "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 modeli kompatybilna z OpenAI. Każdy aktywny model z id, context_window, oraz kosztem kredytów za token.

POST/api/chat/stream/

Natywny punkt końcowy strumieniowania — prostszy format JSON niż OpenAI, używany przez aplikację webową. Wybierz /v1/chat/completions dla kompatybilności z zewnętrznymi SDK.

GET/api/chat/models/

Bogatszy katalog modeli z tagami zadań, modalnością, flagą pro-only. Wykorzystaj go we własnym interfejsie.

GET/api/chat/limit/

Twój aktualny limit — saldo kredytów + status planu lub anonimowy dzienny przydział.

GET/api/chat/keys/

Wyświetl swoje aktywne klucze API (zamaskowane).

POST/api/chat/keys/

Utwórz nazwany klucz API. Pełny token jest zwracany raz — zapisz go.

Treść żądania
{"name": "production"}
POST/api/chat/keys/<id>/revoke/

Unieważnij klucz. Istniejące sesje, które go używają, otrzymają 401 przy następnym wywołaniu.

POST/api/media/image/

Zadanie generowania obrazu. Zwraca job_uuid; odpytuj /api/media/jobs/<uuid>/.

POST/api/media/video/

Zadanie generowania wideo. ~1,2 mln kredytów za 5-sekundowe Veo. Kredyty automatycznie zwracane w razie niepowodzenia.

POST/api/media/speech/

Zamiana tekstu na mowę. Zwraca job_uuid; wynikiem jest podpisany adres URL audio po zakończeniu.

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

Odpytaj zadanie generowania: status, output_url, error, credits_cost.

POST/api/chat/share/

Utwórz publiczną migawkę tylko do odczytu. Zwraca adres URL /c/<slug> .

POST/api/chat/purge/

Usuń swoje konwersacje, wiadomości i rejestr użycia po stronie serwera.

Rozliczenia

Użycie API korzysta z tej samej puli kredytów co aplikacja webowa. Brak osobnych rozliczeń API.

Wycena za token

Modele tekstowe pobierają credits_per_1k_input × tokeny wejściowe + credits_per_1k_output × tokeny wyjściowe. Modele multimedialne pobierają stałą opłatę credits_per_call.

Minimalna opłata

Każde udane wywołanie pobiera co najmniej 10 kredytów na pokrycie kosztów ogólnych, niezależnie od liczby tokenów.

Zwrot przy niepowodzeniu

Zadania obrazu/wideo/mowy, które kończą się błędem po stronie dostawcy, automatycznie zwracają kredyty. Niepowodzenia strumienia tekstowego są rozliczane tylko za to, co zostało wytworzone.

Przekroczenie salda

Wywołania zwracają 402 insufficient_credits gdy Twoje saldo nie może pokryć szacowanego kosztu. Plany nie są ograniczane, dopóki plan_active ma wartość true, a saldo jest dodatnie.

Uwierzytelnianie & prywatność

  • Token Bearer — na użytkownika, dostępny na stronie Twojego konta. Rotacja poprzez usunięcie + ponowne utworzenie konta (właściwy punkt końcowy rotacji jest w planach).
  • Brak przekazywanych identyfikatorów użytkownika — przekazujemy żądania do dostawców bez Twojego adresu e-mail, IP, agenta użytkownika czy ID konta. Tylko ogólny HTTP-Referer: yout.chat .
  • no-log sygnał — wysyłany do dostawców, aby poproszono ich o nielogowanie/nietrenowanie na Twoich promptach tam, gdzie ich kontrakty na to pozwalają.
  • Brak domyślnego przechowywania treści wiadomości — zapisujemy wiersz UsageLedger (tokeny + kredyty + model), ale nie prompt ani odpowiedź.

Plan rozwoju

  • Warstwa pośrednicząca kompatybilna z OpenAI /v1/chat/completions aby istniejące SDK działały bez zmian
  • Wywołania zwrotne webhook dla długo działających zadań multimedialnych (zastąpienie odpytywania)
  • Rotacja tokenów + zakresy uprawnień per token
  • Klucze idempotencji w /stream/ + tworzenie zadań bezpieczne przy ponownych próbach
  • Samoobsługowe sterowanie limitami szybkości

Gotowy do wdrożenia?

Darmowy poziom daje Ci 50 tys. kredytów do zabawy. Ulepsz, gdy potrzebujesz więcej.