DeepSeek V4.1 Flash
Wywołaj DeepSeek V4.1 Flash przez oficjalne API Chat Completions, Responses lub Anthropic Messages: kontekst 1M tokenów, rozumowanie włączane lub wyłączane i obrazy na wejściu.
DeepSeek V4.1 Flash to szybki i tani model DeepSeek (własne API DeepSeek nazywa go deepseek-flash). Domyślnie rozumuje przed odpowiedzią, a ty możesz wyłączyć rozumowanie lub ustawić jego poziom w każdym żądaniu. Wyślij oficjalne żądanie DeepSeek do SeedRouter: zmień bazowy adres URL i klucz API, zachowaj treść żądania.
ID modelu
| ID modelu | Okno kontekstu | Maks. wyjście | Poziom rozumowania | Domyślnie |
|---|---|---|---|---|
deepseek-v4.1-flash | 1M tokenów | 384K tokenów (393,216) | none, low, high, max | Rozumowanie włączone, high |
Wejście: tekst i obrazy. Wyjście: tekst. Aktualne ceny znajdziesz na stronie modelu.
Krótki przykład
curl https://api.seedrouter.ai/v1/chat/completions \
-H "Authorization: Bearer $SEEDROUTER_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "deepseek-v4.1-flash",
"messages": [{"role": "user", "content": "Give me three names for a coffee shop."}]
}'Punkty końcowe
| Format | Metoda i ścieżka | Uwierzytelnianie |
|---|---|---|
| Chat Completions | POST https://api.seedrouter.ai/v1/chat/completions | Authorization: Bearer <key> |
| Responses | POST https://api.seedrouter.ai/v1/responses | Authorization: Bearer <key> |
| Anthropic Messages | POST https://api.seedrouter.ai/v1/messages | x-api-key: <key> lub Authorization: Bearer <key>, plus anthropic-version |
Wszystkie trzy zwracają oficjalny format odpowiedzi DeepSeek, ze strumieniowaniem lub bez. Przechowuj klucz API po stronie serwera.
Parametry
Pola Chat Completions:
| Nazwa | Typ | Wymagany | Domyślnie | Uwagi |
|---|---|---|---|---|
model | string | Tak | — | deepseek-v4.1-flash. |
messages | object[] | Tak | — | Wiadomości tekstowe; obrazy jako części image_url (zobacz Obrazy na wejściu). |
thinking.type | enum | Nie | enabled | enabled lub disabled. |
reasoning_effort | enum | Nie | high | none (rozumowanie wyłączone), low, high lub max. minimal działa jak low, a medium i xhigh jak high. |
max_tokens | integer | Nie | 8K lub 64K z rozumowaniem (128K przy poziomie max) | 1–393216. Obejmuje rozumowanie. |
stop | string or string[] | Nie | — | Sekwencje zatrzymania. |
response_format | object | Nie | {"type": "text"} | text lub json_object. json_schema zwraca 400. |
tools | object[] | Nie | — | Narzędzia typu funkcja; strict jest akceptowany. |
tool_choice | string or object | Nie | none bez narzędzi, auto z narzędziami | auto i none są stosowane. required i nazwana funkcja są akceptowane, ale nie wymuszają wywołania. |
stream | boolean | Nie | false | Strumieniuje server-sent events. |
stream_options.include_usage | boolean | Nie | false | Każdy chunk zawiera usage, równe null poza ostatnim. |
temperature | number | Nie | 1 | 0–2. Bez efektu w trybie rozumowania. |
top_p | number | Nie | 1 | 0–1. W trybie rozumowania wartości poniżej 0.95 działają jak 0.95; bez rozumowania pozostaje 1. |
user_id | string | Nie | — | Identyfikator twojego użytkownika końcowego. |
logprobs, top_logprobs | — | Nie | — | Akceptowane (top_logprobs od 0 do 20), ale prawdopodobieństwa logarytmiczne nie są zwracane. |
frequency_penalty, presence_penalty | — | Nie | — | Wycofane przez DeepSeek: akceptowane, bez efektu. |
Rozumowanie i poziom rozumowania
Rozumowanie jest domyślnie włączone na poziomie high. Wyłącz je przez "thinking": {"type": "disabled"} lub "reasoning_effort": "none"; odpowiedź przychodzi wtedy od razu i zużywa mniej tokenów wyjściowych. max przeznacza najwięcej rozumowania na trudne problemy. Rozumowanie wraca w reasoning_content, obok content, i jest naliczane jako tokeny wyjściowe.
Gdy żądanie zawiera tools, odsyłaj każdą wcześniejszą wiadomość asystenta z jej reasoning_content, tak jak wymaga tego DeepSeek w rozmowach z wywołaniami narzędzi.
Obrazy na wejściu
Obrazy umieszczasz w content wiadomości użytkownika jako części image_url: publiczny adres URL http(s) lub data URI w base64:
{"role": "user", "content": [
{"type": "image_url", "image_url": {"url": "https://example.com/chart.png"}},
{"type": "text", "text": "What does this chart show?"}
]}Adres URL może mieć najwyżej 8192 znaki i wskazywać obraz o rozmiarze najwyżej 32 MiB. Zastąp przykładowy adres URL publicznie dostępnym własnym obrazem.
Wymiary rozliczeniowe
Aktualne stawki znajdziesz na stronie modelu. Żądanie jest rozliczane na podstawie użytych tokenów:
- tokeny wejściowe spoza cache (
prompt_cache_miss_tokens), - tokeny wejściowe z cache (
prompt_cache_hit_tokens), - tokeny wyjściowe, w tym rozumowanie.
Stawki zależą od tego, kiedy żądanie jest wykonywane. Godziny szczytu to 01:00–04:00 i 06:00–10:00 UTC, od poniedziałku do piątku; wszystkie pozostałe godziny, łącznie z weekendami, to czas poza godzinami szczytu, z połową stawek z godzin szczytu. Opłata jest pobierana na podstawie usage raportowanego z ukończoną odpowiedzią. Żądanie, które się nie powiedzie, nie jest naliczane. Rekordy użycia konta pokazują dokładną opłatę za każde żądanie.
Wyjście
Żądanie Chat Completions bez strumieniowania zwraca:
{
"id": "bc86988e-...",
"object": "chat.completion",
"created": 1790585983,
"model": "deepseek-v4.1-flash",
"choices": [{
"index": 0,
"finish_reason": "stop",
"logprobs": null,
"message": {"role": "assistant", "reasoning_content": "...", "content": "..."}
}],
"usage": {
"prompt_tokens": 36,
"completion_tokens": 39,
"total_tokens": 75,
"prompt_cache_hit_tokens": 0,
"prompt_cache_miss_tokens": 36,
"prompt_tokens_details": {"cached_tokens": 0},
"completion_tokens_details": {"reasoning_tokens": 0}
}
}Z "stream": true każdy chunk zawiera delta z reasoning_content lub content, a ostatni chunk przed data: [DONE] przekazuje dane o użyciu.
Responses API i Codex
POST /v1/responses przyjmuje treść Responses: input, instructions, max_output_tokens, reasoning.effort (jak reasoning_effort powyżej), text.format (text lub json_object; json_schema jest akceptowany, ale nie egzekwowany), tools (function i niestandardowe narzędzie apply_patch), tool_choice, temperature, top_p, top_logprobs, user i stream. Rozumowanie wraca jako element reasoning z zawartością reasoning_text, a strumień przekazuje numerowane zdarzenia od response.created do response.completed, z rozumowaniem w zdarzeniach response.reasoning_text.delta. API jest bezstanowe: previous_response_id, conversation i wbudowane narzędzia, takie jak web_search, są ignorowane, więc wysyłaj całą rozmowę w input.
Aby używać DeepSeek V4.1 Flash w Codex, dodaj provider do ~/.codex/config.toml i ustaw SEEDROUTER_API_KEY:
model = "deepseek-v4.1-flash"
model_provider = "seedrouter"
show_raw_agent_reasoning = true
[model_providers.seedrouter]
name = "SeedRouter"
base_url = "https://api.seedrouter.ai/v1"
env_key = "SEEDROUTER_API_KEY"
wire_api = "responses"Format Anthropic Messages
Kod napisany dla Anthropic Messages API też może wywoływać DeepSeek V4.1 Flash: wyślij treść Messages na /v1/messages z "model": "deepseek-v4.1-flash". system, max_tokens, tools, tool_choice (auto, none), thinking (enabled, disabled) i temperature (0–2) są stosowane; output_config.effort i metadata.user_id są akceptowane; top_k, stop_sequences i tool_choice any nie mają efektu. Rozumowanie wraca jako bloki thinking. Obrazy przekazujesz jako źródła base64 lub url.
Błędy
Błędy używają {"error": {"code": ..., "message": "..."}} (punkt końcowy Messages używa formatu błędów Anthropic). code to kod z wspólnego katalogu błędów. Żądania, które się nie powiodą, nie są naliczane.
Wskazówki
- Wyłącz rozumowanie przy prostych, szybkich krokach, takich jak klasyfikacja czy ekstrakcja; zostaw je włączone przy rozumowaniu, matematyce i kodzie.
- Umieść długi, ponownie używany kontekst na początku promptu: wejście z cache jest naliczane po ułamku stawki za wejście.
- Uruchamiaj duże zadania wsadowe poza godzinami szczytu, gdy każda stawka jest o połowę niższa.
