Wprowadzenie
Kimi K3 to model agentowy Moonshot AI z długim kontekstem, udostępniony tu jako jeden endpoint zgodny z OpenAI pod /v1/chat/completions. Czyta do 1 000 000 tokenów w maksymalnie 256 wiadomościach i może zwrócić do 1 048 576 tokenów w jednej odpowiedzi.
Żądanie ma siedem pól: messages, max_tokens, tools, tool_choice, response_format, reasoning_effort i stop. Poziom rozumowania przyjmuje low, high lub max i startuje od max; temperature i top_p ustala Moonshot, więc tutaj są odrzucane. Wiadomości mogą zawierać części tekstowe i image_url, a odpowiedzi płyną strumieniem przez Server-Sent Events.
Najważniejsze funkcje
reasoning_effort to jedyne pokrętło
Ponieważ próbkowanie ustala Moonshot, sterujesz tym, jak mocno model pracuje: low przy krótkich mechanicznych turach, high przy zwykłym przeglądzie, max przy migracjach i dowodach. Wartość próbkowania skopiowana z innego modelu od razu kończy się błędem, zamiast zostać po cichu zignorowana, więc żądanie znaczy to samo w każdym środowisku.
Przeczytać pakiet, oddać plik
Milion tokenów na wejściu i do 1 048 576 z powrotem: baza kodu wchodzi w całości, a przepisany plik może wrócić w całości. Każdy przebieg nadal widzi resztę repozytorium, czyli dokładnie ten kontekst, który potoki dzielące materiał na kawałki zwykle gubią.
Tekst i obrazy w tej samej wiadomości
Wiadomość użytkownika może łączyć części tekstowe i image_url z parametrem detail ustawionym na auto, low lub high, a każda część jest liczona jako tokeny wejścia. Zrzut ekranu z błędem i kod, który ten ekran renderuje, mogą trafić do modelu razem; części wideo nie ma.
Parametry żądania
| Parametr | Wymagane | Uwaga |
|---|---|---|
messages | Tak | Najwyżej 256 uporządkowanych tur. Treść to zwykły łańcuch znaków albo tablica części: text oraz |
max_tokens | Nie | Ogranicza odpowiedź do 1 048 576. Nawet domyślne 32 768 może po cichu uciąć przepisany w całości plik – dopasuj wartość do wyniku. |
reasoning_effort | Nie | low, high albo max, domyślnie max – poziomy i wartość domyślna, które Moonshot dokumentuje dla K3, więc żądanie pomijające to pole dostaje od razu najstaranniejsze ustawienie. |
stop | Nie | Do 4 sekwencji, każda najwyżej 32 bajty, jako string albo tablica. Odpowiedź kończy się, gdy tylko model zapisze którąś z nich, a dopasowany tekst nie jest zwracany. od 1 znaków · od 1 elementów · do 4 elementów |
tools | Nie | Do 128 definicji funkcji, deklarowanych w pierwszym żądaniu pętli. do 128 elementów |
tool_choice | Nie | auto pozwala modelowi pominąć wywołanie; required wymusza jedno; none zakazuje wszystkich. |
response_format | Nie | Poproś o obiekt JSON, gdy wyjściem są dane ustrukturyzowane, a nie proza. |
Cennik
Wejście $2.70 / Wyjście $13.50 za 1 mln tokenów
Zastosowania
Przepisywanie całego repozytorium, plik po pliku
Wyślij wszystkie pliki pakietu i proś o jeden zmigrowany plik naraz zamiast opisu diffu. Wysoki limit odpowiedzi odsyła w całości nawet duży plik, więc nic nie ginie na granicy kontynuacji w połowie funkcji.
Pętle agentowe o stałym zestawie pól
Zadeklaruj do 128 narzędzi, zostaw tool_choice na auto i uruchom pętlę. Ustal reasoning_effort dla całej pętli, a między iteracjami zmieniać się będzie tylko rozmowa, dzięki czemu ślad agenta pozostaje czytelny, gdy coś pójdzie nie tak.
Tłumaczenie i przebudowa całych książek
Wczytaj cały maszynopis i glosariusz, a potem proś o jeden przetłumaczony lub przebudowany rozdział na wywołanie, podczas gdy model wciąż widzi resztę książki. Terminy i imiona pozostają spójne, bo wcześniejsze rozdziały są w tym samym żądaniu.
Wskazówki
Wybieraj poziom rozumowania świadomie
Pominięte reasoning_effort to już max – najstaranniejsze ustawienie i to, które zużywa najwięcej tokenów wyjścia. Decyduj według zadania: max przy migracji lub dowodzie, high przy przeglądzie, low przy krótkich mechanicznych turach.
Proś o artefakt, a nie o jego opis
POST https://api.spicyapi.ai/v1/chat/completions z {"model": "moonshot/kimi-k3", "messages": [{"role": "system", "content": "Return the migrated files in full. No commentary, no diffs, no omitted regions."}, {"role": "user", "content": "<every file in the package>"}], "max_tokens": 120000}. Dobierz max_tokens do oczekiwanego pliku: domyślne 32 768 może bez błędu uciąć przepisanie całego pliku.
Strumieniowanie i limity
Wywołanie bez strumieniowania na max przy pełnym oknie może trwać długo, więc użyj strumieniowania albo odpowiednio ustaw limit czasu klienta. Okno ma 1 000 000 tokenów, max_tokens powyżej 1 048 576 jest nieprawidłowe, a temperature lub top_p w treści żądania nie przechodzą walidacji.
Szybki start z API
curl --fail-with-body -sN https://api.spicyapi.ai/v1/chat/completions \
-H "Authorization: Bearer $SPICY_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{
"model": "moonshot/kimi-k3/chat",
"messages": [
{
"role": "user",
"content": "Summarise the following release notes into three bullet points."
}
],
"stream": true
}' \
| jq --unbuffered -Rrj 'select(startswith("data: ")) | .[6:] | select(. != "[DONE]") | fromjson | if .error then "\n[error] \(.error.message)\n" else (.choices[0].delta.content? // empty) end'
Uwierzytelnianie, pełny schemat, odpytywanie i obsługę błędów opisuje dokumentacja API.





