/ai/* na https://api.kazzle.app i akceptują klucz API kzl_ w nagłówku Authorization. Aby dowiedzieć się, jak go utworzyć, zobacz Klucze API.
Wygenerowane aplikacje Kazzle powinny również używać tego API. Utwórz klucz API Kazzle dla aplikacji, przechowuj go w vault, podłącz go jako KAZZLE_API_KEY na komponencie procesu i wywołaj https://api.kazzle.app/ai/* z tego kodu po stronie serwera. Nie pytaj użytkowników o klucze dostawcy, chyba że wyraźnie chcą używać własnego konta dostawcy.
Możliwości
| Endpoint | Modalność | Standardowe wejście | Standardowe wyjście |
|---|---|---|---|
POST /ai/chat/completions | Czat (tekst, streaming) | Kompatybilne z OpenAI messages[] | Kompatybilne z OpenAI choices[] lub strumień SSE |
POST /ai/responses | Responses API | Kompatybilne z OpenAI Responses | Kompatybilne z OpenAI Responses |
POST /ai/images/generations | Obraz | { model, prompt, size?, output_format? } | { images: [{ url? | b64?, mimeType }] } |
POST /ai/audio/speech | Synteza mowy | { model, text, voice?, format? } | strumień bajtów audio/* |
POST /ai/audio/transcriptions | Transkrypcja mowy | multipart/form-data z file + model | { text } |
POST /ai/video/generations | Wideo (asynchroniczne) | { model, prompt, ... } | { id, status, pollUrl } |
GET /ai/responses/{id} | Asynchroniczne pobieranie | id odpowiedzi | wynik w kształcie dostawcy |
POST /ai/gateway | Bezpośrednie przekazanie | Dowolny Workers AI / natywny payload dostawcy | Surowa odpowiedź upstream |
GET /ai/models | Katalog | — | { models: [{ id, modality, pricing, ... }] } |
GET /ai/models jest źródłem prawdy dla tego, które id modeli działają na którym endpoincie. Przeczytaj to najpierw, jeśli budujesz względem API.
Jak działa wywołanie
Każde rozliczane wywołanie przechodzi przez pięć faz. Większości z nich nie widzisz — są śledzone po stronie serwera, abyśmy mogli zwrócić pieniądze za nieudane wywołania i zgłosić dokładne użycie.| Faza | Co się stało |
|---|---|
open | Utworzyliśmy zdarzenie rozliczeniowe powiązane z Twoim żądaniem, ale jeszcze nie wywołaliśmy upstream. |
recorded | Dostawca upstream zwrócił wynik. Mamy id dziennika z Cloudflare AI Gateway. Koszt nie jest jeszcze znany. |
priced | Cloudflare zgłosił ostateczny koszt. Zastosowaliśmy nasz narzut i zapisaliśmy opłatę kredytową. Terminal. |
failed | Wywołanie upstream nie powiodło się lub nie mogliśmy uzyskać kosztu po 20 próbach. Klient nie jest rozliczany. Terminal. |
synced | Zdarzenie priced zostało dostarczone do naszego systemu mierzenia. |
x-kazzle-ai-billing-event-id: airesp_... — zachowaj je, jeśli chcesz później skorelować żądanie z eksportami użycia.
Rozliczenia i narzut
Rozliczamycloudflare_cost_usd × (1 + markup). Narzut jest publikowany w Ustawienia → Rozliczenia → Ceny. Wywołania, które Cloudflare wycenił na $0 (bezpłatna warstwa Workers AI, promocje) osiągają fazę priced z zerowym kosztem i nigdy nie są rozliczane.
Rezerwa: musisz mieć co najmniej $0.50 równowartości w kredytach, aby wykonać wywołanie. Zatrzymujemy to względem Twojego salda, aż wywołanie się zakończy, a następnie rozliczamy rzeczywisty koszt.
Błędy
| Status | Znaczenie |
|---|---|
401 | Brakujący lub nieprawidłowy klucz API kzl_. |
402 | Niewystarczające kredyty na rezerwę. Doładuj w Ustawienia → Rozliczenia. |
4xx z upstream | Przekazane bez zmian. Treść zawiera błąd dostawcy. Klient nie jest rozliczany. |
5xx z upstream | Przekazane bez zmian. Klient nie jest rozliczany. |
Przykład — generowanie obrazu
Przykład — synteza mowy
Zobacz też
- Dokumentacja API — pełne schematy żądań/odpowiedzi dla każdego endpointu
- Klucze API — tworzenie i używanie kluczy
kzl_ - Rozliczenia — kredyty, plany i narzut, który stosujemy