Source: https://ailoot.ai/models/cs/qwen-qwen3-coder-flash/
Canonical: https://ailoot.ai/models/cs/qwen-qwen3-coder-flash/
Language: cs

# Qwen: Qwen3 Coder Flash

[Markdown](https://ailoot.ai/models/cs/qwen-qwen3-coder-flash/index.md) · [JSON](https://ailoot.ai/models/cs/qwen-qwen3-coder-flash/facts.json)

## [Qwen: Qwen3 Coder Flash](https://ailoot.ai/models/cs/qwen-qwen3-coder-flash/)

Qwen3-Coder-Flash je textový programátorský model Qwen pro porozumění repozitářům a vícetahovou interakci s nástroji. Specifikace uvádí kontext o délce milionu tokenů, maximální vstup 997 952 tokenů a maximální výstup 65 536 tokenů, s funkcemi nástrojů omezenými na profil nasazení výrobce.

- [**Ailoot Ultra · OpenAI Chat** `POST /v1/chat/completions` `qwen/qwen3-coder-flash`](https://ailoot.ai/models/cs/qwen-qwen3-coder-flash/#method-0)
- [**Ailoot Ultra · Anthropic Messages** `POST /v1/messages` `qwen/qwen3-coder-flash`](https://ailoot.ai/models/cs/qwen-qwen3-coder-flash/#method-1)
- [**Ailoot Ultra · OpenAI Chat** `POST /v1/chat/completions` `qwen3-coder-flash`](https://ailoot.ai/models/cs/qwen-qwen3-coder-flash/#method-2)
- [**Ailoot Ultra · Anthropic Messages** `POST /v1/messages` `qwen3-coder-flash`](https://ailoot.ai/models/cs/qwen-qwen3-coder-flash/#method-3)

O modelu

Tento popis zahrnuje schopnosti modelu. Vstupy, výstupy a možnosti dostupné v Ailoot jsou uvedeny níže pro vybranou metodu.

Přehled: programování zaměřené na repozitář

Qwen3-Coder-Flash je model generování kódu založený na Qwen3. Výrobce uvádí, že dědí schopnosti programátorského agenta z Qwen3-Coder-Plus a je optimalizován pro porozumění na úrovni repozitáře, stabilní volání nástrojů a interakci v několika tazích. Jeho zdokumentovaný vstup i výstup jsou textové. Používejte jej pro programátorskou úlohu s dodaným projektovým kontextem a konkrétním výsledkem, například navrženou opravou, funkcí nebo vysvětlením.

Výrobce aktuálně popisuje qwen3-coder-flash jako funkčně ekvivalentní qwen3-coder-flash-2025-07-28 a tuto datovanou verzi uchovává jako pojmenované vydání. Při zaznamenávání výběru modelu zachovejte požadovanou identitu. Přesná stránka modelu neurčuje počet parametrů ani identitu vah otevřeného checkpointu Coder, takže název Flash by se neměl převádět na neprokázané tvrzení o velikosti nebo architektuře.

Příprava podkladů z repozitáře

Poskytněte relevantní moduly, rozhraní, požadavky a vstup, který ukazuje probírané chování. Požádejte o návrh implementace uspořádaný podle dotčených komponent, poté si vyžádejte upravitelný výsledek odděleně od komentáře. Pro analýzu vady zahrňte pozorovanou chybu nebo výstup a očekávané chování. Pro novou funkci popište interakce a podmínky, které musí výsledek splňovat.

Užitečná odpověď může ukázat diagnózu, navrženou změnu a kontroly potřebné k revizi. Pokud se úloha týká velkého projektu, zachovejte v dodaném materiálu identifikátory souborů a funkcí, aby vysvětlení mohlo odkazovat na své podklady. Ověřte navržené změny proti dodaným souborům, očekávanému chování a výsledkům vráceným připojenými kontrolami.

Vícetahové nástroje a zpětná vazba

Výrobce zdůrazňuje interakci s nástroji v několika tazích. Připojený postup může poskytovat nástroje pro kontrolu nebo provedení a vracet modelu skutečná pozorování. Určete povolené akce a pozorovatelná kritéria dokončení. Pokud kontrola selže, dodejte skutečnou chybu a relevantní kód namísto pouhé žádosti o opakování. Model může pomocí této zpětné vazby upravit navrženou práci; akce provádí aplikace.

Matice schopností podporuje Function Calling v profilu Alibaba pro Čínu (Peking) a označuje jej jako nepodporovaný v Singapuru, Německu (Frankfurt) a USA (Virginie). Dostupnost nástrojů je proto podmíněná, nikoli příslib vyplývající ze samotného názvu modelu. Textový návrh, požadavek na nástroj a dokončená operace by měly v konečné zprávě zůstat rozlišitelné. Vraťte konečnou zprávu, která odděluje návrh kódu, požadovaná volání nástrojů a skutečné výsledky nástrojů.

Schopnosti a formátování výsledku

Vynucované strukturované výstupy a vestavěné webové vyhledávání jsou na vyhrazené stránce modelu označeny jako nepodporované. Prompt může požadovat tabulku nebo text ve tvaru JSON, ale tím nevytváří kontrakt vynucování schématu. Programátorský agent může získat aktuální podklady z nástroje dodaného aplikací, aniž by samotný model měl vestavěnou vyhledávací schopnost.

Prefix Completion není podporován v Číně (Peking) a je podporován v Singapuru, Německu (Frankfurt) a USA (Virginie). Context Caching je pro nedatovaný alias podporován ve všech čtyřech profilech, zatímco samostatně uvedená verze z 28. července jej označuje jako nepodporovaný. Obě edice označují dávkovou inferenci a jemné doladění jako nepodporované. Požádejte o konečný výsledek, který lze snadno prověřit, a uchovejte skutečná pozorování nástrojů, pokud zpráva tvrdí, že bylo něco zkontrolováno.

Limity kontextu a výstupu

Specifikace uvádí kontextové okno 1 000 000 tokenů, maximální délku vstupu 997 952 tokenů a maximální délku výstupu 65 536 tokenů. Jde o samostatné limity; nemělo by se předpokládat, že se největší vstup a největší výstup vejdou do kontextu současně. Projektový text, historie, výsledky nástrojů a vygenerovaný zdroj potřebují místo ve skutečném rozpočtu požadavku.

Velký kontext může umístit více podkladů z repozitáře do jedné úlohy. Stále je užitečné odstranit nesouvisející generované soubory, opakovaný materiál a nerelevantní moduly při zachování definic a rozhraní, na kterých změna závisí. Pro dlouhý výsledek výslovně požadujte potřebné soubory nebo funkce a vyhraďte jim dostatek prostoru v odpovědi. Soubory kódu a vysvětlení uchovávejte odděleně, aby recenzenti mohli prověřit navržené změny.

Praktický výsledek a podstatná omezení

Pro změnu repozitáře požádejte o opravu s dotčenými soubory, předpoklady a skutečnými výsledky vrácenými připojenými kontrolami. U algoritmu určete omezení vstupu a očekávaný výstup, než požádáte o kód. Zdokumentovaným vstupem je text, takže vizuální předloha nebo nahrávka potřebuje vhodnou samostatnou reprezentaci, pokud ji má úloha použít jako podklad.

Prověřte generovanou syntaxi, rozhraní a hraniční případy ve vývojovém postupu. Věrohodné vysvětlení nebo popis modelu orientovaného na nástroje není důkazem, že kód úspěšně běžel. Praktickým výsledkem je kontrolovatelný text nebo kód navázaný na dodaný materiál repozitáře, se zachováním přesné identity Flash, limitů výrobce a podmíněného kontraktu nástrojů.

Praktická úloha

### Praktická úloha

Technický příklad v angličtině

```
Keep repository paths portable

In config.py, DATA_PATH = 'data/items.csv'. In runner.py, open(DATA_PATH) fails when the CLI is launched outside the repository directory. Propose a focused fix that anchors the resource path to the module location rather than the current working directory. Preserve the public CLI arguments and include a regression scenario launched from another directory.
```

#### Očekávaný výsledek

```
A small coordinated code proposal for the named modules and a regression scenario for an unrelated working directory.
```

#### Ověření výsledku

```
The proposed path does not depend on the launch directory and does not change the public CLI arguments.
```

**Ailoot Ultra · OpenAI Chat** `POST /v1/chat/completions` `qwen/qwen3-coder-flash`

[`qwen/qwen3-coder-flash`](https://ailoot.ai/models/cs/#m=qwen%2Fqwen3-coder-flash&route=Ultra&caller=qwen%2Fqwen3-coder-flash&fmt=chat)

Alibaba /`qwen/qwen3-coder-flash`

ID modelu

- `qwen/qwen3-coder-flash`
- `qwen3-coder-flash`

### Úvod

Qwen3-Coder-Flash je textový programátorský model Qwen pro porozumění repozitářům a vícetahovou interakci s nástroji. Specifikace uvádí kontext o délce milionu tokenů, maximální vstup 997 952 tokenů a maximální výstup 65 536 tokenů, s funkcemi nástrojů omezenými na profil nasazení výrobce.

Přijímané vstupy

Text

Výsledky

Text

### Dostupné v Ailoot · vstupy a metody

**Ailoot Ultra · OpenAI Chat** `POST /v1/chat/completions`

Vstup

`text`

Výstup

`text`

Výstupní formát

json nebo SSE

| Pole | Typ | Požadavek | Hodnoty a limity | Výchozí |
| --- | --- | --- | --- | --- |
| Pole`model` | Typ`string` | PožadavekPovinné | Hodnoty a limity qwen/qwen3-coder-flash | Výchozí— |
| Pole`messages` | Typ`message[]` | PožadavekPovinné | Hodnoty a limity Minimální počet položek: 1 | Výchozí— |
| Pole`messages[].role` | Typ`string` | PožadavekPovinné | Hodnoty a limity Příklady: system, user, assistant, tool, function Podmínky: Tyto role jsou výslovně zastoupeny typy kompatibility zdrojového kódu; přesná sada rolí zůstává specifická pro daný model. Závisí na modelu | Výchozí— |
| Pole`messages[].content` | Typ`string\|content_part[]\|null` | PožadavekVolitelné | Hodnoty a limity | Výchozí— |
| Pole`messages[].tool_calls` | Typ`tool_call[]` | PožadavekVolitelné | Hodnoty a limity | Výchozí— |
| Pole`messages[].tool_call_id` | Typ`string` | PožadavekVolitelné | Hodnoty a limity Platí, když: role=tool; použijte skutečně vrácené ID | Výchozí— |
| Pole`messages[].name` | Typ`string` | PožadavekVolitelné | Hodnoty a limity | Výchozí— |
| Pole`messages[].reasoning_content` | Typ`string` | PožadavekVolitelné | Hodnoty a limity Platí, když: Předávejte zpět skutečně vrácené uvažování tam, kde je tento model používá | Výchozí— |
| Pole`messages[].reasoning_details` | Typ`object\|array` | PožadavekVolitelné | Hodnoty a limity Závisí na modelu | Výchozí— |
| Pole`max_tokens` | Typ`integer` | PožadavekVolitelné | Hodnoty a limity Minimum: 1 Závisí na modelu | Výchozí— |
| Pole`max_completion_tokens` | Typ`integer` | PožadavekVolitelné | Hodnoty a limity Minimum: 1 Závisí na modelu | Výchozí— |
| Pole`stream` | Typ`boolean` | PožadavekVolitelné | Hodnoty a limity | Výchozífalse |
| Pole`stream_options.include_usage` | Typ`boolean` | PožadavekVolitelné | Hodnoty a limity Závisí na modelu | Výchozí— |
| Pole`temperature` | Typ`number` | PožadavekVolitelné | Hodnoty a limity Závisí na modelu | Výchozí— |
| Pole`top_p` | Typ`number` | PožadavekVolitelné | Hodnoty a limity Závisí na modelu | Výchozí— |
| Pole`stop` | Typ`string\|string[]` | PožadavekVolitelné | Hodnoty a limity Závisí na modelu | Výchozí— |
| Pole`tools` | Typ`function_tool[]` | PožadavekVolitelné | Hodnoty a limity Závisí na modelu | Výchozí— |
| Pole`tools[].type` | Typ`string` | PožadavekVolitelné | Hodnoty a limity function Závisí na modelu | Výchozí— |
| Pole`tools[].function.name` | Typ`string` | PožadavekPovinné | Hodnoty a limity Platí, když: nástroj typu funkce je dodán | Výchozí— |
| Pole`tools[].function.description` | Typ`string` | PožadavekVolitelné | Hodnoty a limity | Výchozí— |
| Pole`tools[].function.parameters` | Typ`JSON_schema` | PožadavekVolitelné | Hodnoty a limity | Výchozí— |
| Pole`tool_choice` | Typ`string\|object` | PožadavekVolitelné | Hodnoty a limity Závisí na modelu | Výchozí— |
| Pole`parallel_tool_calls` | Typ`boolean` | PožadavekVolitelné | Hodnoty a limity Závisí na modelu | Výchozí— |
| Pole`response_format` | Typ`object` | PožadavekVolitelné | Hodnoty a limity Závisí na modelu | Výchozí— |
| Pole`reasoning_effort` | Typ`string` | PožadavekVolitelné | Hodnoty a limity Závisí na modelu | Výchozí— |
| Pole`reasoning` | Typ`object` | PožadavekVolitelné | Hodnoty a limity Závisí na modelu | Výchozí— |
| Pole`service_tier` | Typ`string` | PožadavekVolitelné | Hodnoty a limity Závisí na modelu | Výchozí— |
| Pole`instructions` | Typ`string` | PožadavekVolitelné | Hodnoty a limity Pole kompatibility | Výchozí— |
| Pole`functions` | Typ`function[]` | PožadavekVolitelné | Hodnoty a limity Závisí na modelu | Výchozí— |
| Pole`function_call` | Typ`string\|object` | PožadavekVolitelné | Hodnoty a limity Závisí na modelu | Výchozí— |
| Pole`prompt_cache_options` | Typ`object` | PožadavekVolitelné | Hodnoty a limity Závisí na modelu | Výchozí— |
| Pole`modalities` | Typ`string[]` | PožadavekVolitelné | Hodnoty a limity text | Výchozí— |
| Pole`provider` | Typ`object` | PožadavekVolitelné | Hodnoty a limity Podmínky: provider.options je na této textové trase Ultra odmítáno | Výchozí— |
| Pole`cache_control.ttl` | Typ`string` | PožadavekVolitelné | Hodnoty a limity Podmínky: Hodnota 1h je ve skutečných umístěních mezipaměti promptů odmítána | Výchozí— |

Kombinace vstupních materiálů

**Text** · text UTF8

`messages[].content`

Parametry a životní cyklus metody

| Parametr | Kontrakt |
| --- | --- |
| Parametr`content_type` | Kontraktapplication/json |
| Parametr`required` | Kontraktmodel, messages |
| Parametr`material_types` | Kontrakttext |
| Parametr`messages` | Kontraktpole zpráv se strukturou role/content |
| Parametr`file_material` | Kontraktskutečný dokument UTF-8 vložený jako doslovný text; ID souboru se neodvozuje |
| Parametr`optional_controls` | Kontraktstream, temperature, top\_p, stop, max\_tokens, max\_completion\_tokens, reasoning, response\_format, tools, tool\_choice |
| Parametr`control_scope` | Kontraktspecifické pro model; nástroje uživatelských funkcí se liší od hostovaných nástrojů |
| Parametr`output_modalities` | Kontrakttext |
| Parametr`hosted_operations` | Kontraktfalse |
| Parametr`multimodal_input_binding` | Kontraktnull |

Životní cyklus: `synchronous_or_streamed`

Odešlete přesné ID modelu spolu s messages.

Délka kontextu není limitem výstupu.

Textový soubor může dodat doslovný text; obrazové/zvukové vstupy a vstupy v podobě souborových objektů vyžadují přesnou vazbu.

### Tarify

Údaje o tarifech nepřidávají možnosti požadavku. Podporované parametry jsou uvedeny u vybrané metody.

Rychlý režim

Standardní sazba Při výběru rychlého režimu

Režim flex

Standardní sazba Při výběru režimu flex

Maximální intenzita uvažování

Standardní sazba Když se při maximální intenzitě uvažování použije výchozí úprava (default)

#### Sazby Ailoot

#### Ceny podle konfigurace

Přiřaďte každý poplatek k uvedeným podmínkám. Pro každou sadu alternativních konfigurací použijte jednu sazbu.

| Konfigurace | Tabulka sazeb | Tokeny kontextu, více než | Tokeny kontextu, do uvedené hodnoty včetně | Poplatek |
| --- | --- | --- | --- | --- |
| KonfiguraceZákladní sazby za tokeny | Tabulka sazebZákladní sazba | Tokeny kontextu, více než— | Tokeny kontextu, do uvedené hodnoty včetněBez horní meze | Poplatek Vstup · Vstupní tokeny **$0.00039** / 1K tokenů Výstup · Výstupní tokeny **$0.00195** / 1K tokenů Vstup · Čtení z mezipaměti **$0.000078** / 1K tokenů Vstup · Zápis do mezipaměti **$0.0004875** / 1K tokenů Vstup · Zápis do mezipaměti, 1 hodina **—** / 1K tokenů |
| KonfiguracePásmo délky požadavku 1 | Tabulka sazeb— | Tokeny kontextu, více než0 | Tokeny kontextu, do uvedené hodnoty včetně32 000 | Poplatek Vstup · Vstupní tokeny **$0.00039** / 1K tokenů Výstup · Výstupní tokeny **$0.00195** / 1K tokenů Vstup · Čtení z mezipaměti **$0.000078** / 1K tokenů Vstup · Zápis do mezipaměti **$0.0004875** / 1K tokenů Vstup · Zápis do mezipaměti, 1 hodina **—** / 1K tokenů |
| KonfiguracePásmo délky požadavku 2 | Tabulka sazeb— | Tokeny kontextu, více než32 000 | Tokeny kontextu, do uvedené hodnoty včetně128 000 | Poplatek Vstup · Vstupní tokeny **$0.00065** / 1K tokenů Výstup · Výstupní tokeny **$0.00325** / 1K tokenů Vstup · Čtení z mezipaměti **$0.00013** / 1K tokenů Vstup · Zápis do mezipaměti **$0.0008125** / 1K tokenů Vstup · Zápis do mezipaměti, 1 hodina **—** / 1K tokenů |
| KonfiguracePásmo 3 podle délky požadavku | Tabulka sazeb— | Tokeny kontextu, více než128 000 | Tokeny kontextu, do uvedené hodnoty včetněBez horní meze | Poplatek Vstup · Vstupní tokeny **$0.00104** / 1K tokenů Výstup · Výstupní tokeny **$0.0052** / 1K tokenů Vstup · Čtení z mezipaměti **$0.000208** / 1K tokenů Vstup · Zápis do mezipaměti **$0.0013** / 1K tokenů Vstup · Zápis do mezipaměti, 1 hodina **—** / 1K tokenů |

Ailoot před požadavkem rezervuje odhadovanou částku. Po výsledku vyúčtuje konečný poplatek podle naměřeného využití. Při streamování se účtování řídí konečným záznamem využití. [Jak funguje rezervace a vyúčtování →](https://ailoot.ai/docs/cs/billing/reserve/)

### Příklady požadavků

#### Ailoot Ultra · OpenAI Chat

curlPython SDKStreamování v Pythonu

```bash
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model": "qwen/qwen3-coder-flash", "messages": [{"role": "user", "content": "Explain the difference between an observation and a hypothesis in three sentences."}]}')

Path("request.json").write_text(json.dumps(p,ensure_ascii=False))
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/chat/completions \
  -H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
  --data-binary @request.json -D response-headers.txt -o result.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path
r=json.loads(Path("result.json").read_text())
for x in r.get("choices",[]):
    if x.get("message",{}).get("content"): print(x["message"]["content"])
PY_RESULT
```

```python
from openai import OpenAI
import os

if not os.environ.get("AILOOT_API_KEY", "").strip(): raise SystemExit("Set AILOOT_API_KEY before making a request")
client=OpenAI(base_url="https://api.ailoot.ai/v1",api_key=os.environ["AILOOT_API_KEY"],max_retries=0)
result=client.chat.completions.create(model='qwen/qwen3-coder-flash',messages=[{"role":"user","content":"Explain observations and hypotheses in three sentences."}])
import base64, json
from pathlib import Path

def save_result(data, stem="result"):
    # Keep every field, including usage, IDs, reasoning and tool requests.
    Path(stem + ".json").write_text(json.dumps(data, ensure_ascii=False, indent=2), encoding="utf-8")
    print(json.dumps(data, ensure_ascii=False, indent=2))
    def save_blob(encoded, suffix, label):
        raw = base64.b64decode(encoded, altchars=b"-_", validate=True)
        ext = "png" if raw.startswith(b"\x89PNG\r\n\x1a\n") else "jpg" if raw.startswith(b"\xff\xd8") else "webp" if raw[:4] == b"RIFF" and raw[8:12] == b"WEBP" else suffix
        file = Path(stem + "-" + label + "." + ext)
        file.write_bytes(raw)
        print("Saved", file)
    for index, block in enumerate(data.get("content") or []):
        print("Content", index, json.dumps(block, ensure_ascii=False))
    for choice in data.get("choices") or []:
        print("Choice", choice.get("index"), json.dumps(choice.get("message", choice.get("delta", {})), ensure_ascii=False))
    for index, item in enumerate(data.get("output") or []):
        print("Output", index, json.dumps(item, ensure_ascii=False))
        if item.get("type") == "image_generation_call" and item.get("result"):
            save_blob(item["result"], item.get("output_format") or "bin", "output-" + str(index))
    for ci, candidate in enumerate(data.get("candidates") or []):
        for pi, part in enumerate((candidate.get("content") or {}).get("parts") or []):
            print("Candidate/part", ci, pi, json.dumps(part, ensure_ascii=False))
            blob = part.get("inlineData") or part.get("inline_data")
            if blob and blob.get("data"):
                mime = blob.get("mimeType") or blob.get("mime_type")
                suffix = {"image/png":"png", "image/jpeg":"jpg", "image/webp":"webp", "audio/wav":"wav", "audio/mpeg":"mp3", "video/mp4":"mp4"}.get(mime, "bin")
                save_blob(blob["data"], suffix, "candidate-" + str(ci) + "-part-" + str(pi))

save_result(result.to_dict(mode="json"))
```

```python
from openai import OpenAI
import os
from pathlib import Path

if not os.environ.get("AILOOT_API_KEY", "").strip(): raise SystemExit("Set AILOOT_API_KEY before making a request")
client=OpenAI(base_url="https://api.ailoot.ai/v1",api_key=os.environ["AILOOT_API_KEY"],max_retries=0)
import base64, json
from pathlib import Path

def save_result(data, stem="result"):
    # Keep every field, including usage, IDs, reasoning and tool requests.
    Path(stem + ".json").write_text(json.dumps(data, ensure_ascii=False, indent=2), encoding="utf-8")
    print(json.dumps(data, ensure_ascii=False, indent=2))
    def save_blob(encoded, suffix, label):
        raw = base64.b64decode(encoded, altchars=b"-_", validate=True)
        ext = "png" if raw.startswith(b"\x89PNG\r\n\x1a\n") else "jpg" if raw.startswith(b"\xff\xd8") else "webp" if raw[:4] == b"RIFF" and raw[8:12] == b"WEBP" else suffix
        file = Path(stem + "-" + label + "." + ext)
        file.write_bytes(raw)
        print("Saved", file)
    for index, block in enumerate(data.get("content") or []):
        print("Content", index, json.dumps(block, ensure_ascii=False))
    for choice in data.get("choices") or []:
        print("Choice", choice.get("index"), json.dumps(choice.get("message", choice.get("delta", {})), ensure_ascii=False))
    for index, item in enumerate(data.get("output") or []):
        print("Output", index, json.dumps(item, ensure_ascii=False))
        if item.get("type") == "image_generation_call" and item.get("result"):
            save_blob(item["result"], item.get("output_format") or "bin", "output-" + str(index))
    for ci, candidate in enumerate(data.get("candidates") or []):
        for pi, part in enumerate((candidate.get("content") or {}).get("parts") or []):
            print("Candidate/part", ci, pi, json.dumps(part, ensure_ascii=False))
            blob = part.get("inlineData") or part.get("inline_data")
            if blob and blob.get("data"):
                mime = blob.get("mimeType") or blob.get("mime_type")
                suffix = {"image/png":"png", "image/jpeg":"jpg", "image/webp":"webp", "audio/wav":"wav", "audio/mpeg":"mp3", "video/mp4":"mp4"}.get(mime, "bin")
                save_blob(blob["data"], suffix, "candidate-" + str(ci) + "-part-" + str(pi))

with client.chat.completions.stream(model='qwen/qwen3-coder-flash',messages=[{"role":"user","content":"Explain observations and hypotheses in three sentences."}]) as stream:
    with Path("stream-events.jsonl").open("w",encoding="utf-8") as log:
        for event in stream:
            payload=event.to_dict(mode="json")
            log.write(json.dumps(payload,ensure_ascii=False)+"\n"); log.flush()
            print(json.dumps(payload,ensure_ascii=False))
    final=stream.get_final_completion()
    save_result(final.to_dict(mode="json"),"stream-result")
```

### Přijímání a ukládání výsledků

#### Ailoot Ultra · OpenAI Chat

json nebo SSE

##### Uchovejte všechny dokončené výsledky

Uchovejte každou úplnou vrácenou odpověď, soubor i část obsahu.

Zachovejte každou volbu a její obsah/volání nástrojů/uvažování. V SSE sestavujte přírůstky podle indexu volby/nástroje a zachovejte konečný důvod ukončení i údaje o využití.

##### Pokud je nutné ověřit původní odpověď

Zachovejte ID požadavků/odpovědí a hlavičky. Není dodána obecná URL pro načtení textové úlohy.

Pole odpovědi

| Pole | Typ |
| --- | --- |
| Pole`choices[].index` | Typinteger |
| Pole`choices[].message.content` | Typstring\|null |
| Pole`choices[].message.tool_calls` | Typtool\_call\[\] |
| Pole`choices[].message.reasoning_content` | Typstring |
| Pole`choices[].message.reasoning_details` | Typobject\|array |
| Pole`choices[].finish_reason` | Typstring\|null |
| Pole`usage` | Typobject |

Chyby a další kroky

| Odpověď | Podmínka | Další krok |
| --- | --- | --- |
| Odpověď400 · `invalid_request_error` | PodmínkaNeplatná povinná pole, reprezentace podkladů nebo hodnota parametru | Další krokPřed novým požadavkem na vytvoření opravte uvedená pole. |

### Aliasy

#### Aliasy modelu

**Ailoot Ultra** [`qwen/qwen3-coder-flash`](https://ailoot.ai/models/cs/#m=qwen%2Fqwen3-coder-flash&route=Ultra&caller=qwen%2Fqwen3-coder-flash&fmt=chat), [`qwen3-coder-flash`](https://ailoot.ai/models/cs/#m=qwen%2Fqwen3-coder-flash&route=Ultra&caller=qwen3-coder-flash&fmt=chat)

#### Aliasy cest metod

`/chat/completions`

#### Související ID modelů

[`qwen/qwen3-coder-flash`](https://ailoot.ai/models/cs/#m=qwen%2Fqwen3-coder-flash&route=Ultra&caller=qwen%2Fqwen3-coder-flash&fmt=chat), [`qwen3-coder-flash`](https://ailoot.ai/models/cs/#m=qwen%2Fqwen3-coder-flash&route=Ultra&caller=qwen3-coder-flash&fmt=chat)

**Ailoot Ultra · Anthropic Messages** `POST /v1/messages` `qwen/qwen3-coder-flash`

[`qwen/qwen3-coder-flash`](https://ailoot.ai/models/cs/#m=qwen%2Fqwen3-coder-flash&route=Ultra&caller=qwen%2Fqwen3-coder-flash&fmt=messages)

Alibaba /`qwen/qwen3-coder-flash`

ID modelu

- `qwen/qwen3-coder-flash`
- `qwen3-coder-flash`

### Úvod

Qwen3-Coder-Flash je textový programátorský model Qwen pro porozumění repozitářům a vícetahovou interakci s nástroji. Specifikace uvádí kontext o délce milionu tokenů, maximální vstup 997 952 tokenů a maximální výstup 65 536 tokenů, s funkcemi nástrojů omezenými na profil nasazení výrobce.

Přijímané vstupy

Text

Výsledky

json · sse

### Dostupné v Ailoot · vstupy a metody

**Ailoot Ultra · Anthropic Messages** `POST /v1/messages`

Vstup

`text`

Výstup

`json`, `sse`

Výstupní formát

JSON nebo SSE

| Pole | Typ | Požadavek | Hodnoty a limity | Výchozí |
| --- | --- | --- | --- | --- |
| Pole`model` | Typ`string` | PožadavekPovinné | Hodnoty a limity qwen/qwen3-coder-flash | Výchozí— |
| Pole`messages` | Typ`message[]` | PožadavekPovinné | Hodnoty a limity | Výchozí— |
| Pole`messages[].role` | Typ`string` | PožadavekPovinné | Hodnoty a limity user, assistant | Výchozí— |
| Pole`messages[].content` | Typ`string` | PožadavekPovinné | Hodnoty a limity | Výchozí— |
| Pole`max_tokens` | Typ`integer` | PožadavekPovinné | Hodnoty a limity | Výchozí— |
| Pole`stream` | Typ`boolean` | PožadavekVolitelné | Hodnoty a limity | Výchozífalse |

Kombinace vstupních materiálů

**Text** · text UTF-8

`řetězec messages[].content`

Parametry a životní cyklus metody

| Parametr | Kontrakt |
| --- | --- |
| Parametr`content_type` | Kontraktapplication/json |
| Parametr`required` | Kontraktmodel, messages, max\_tokens |
| Parametr`optional_controls` | Kontraktstream |
| Parametr`material_types` | Kontrakttext |
| Parametr`text_file_material` | KontraktPřečtěte skutečný dokument UTF-8 a vložte jeho text do uvedeného pole input nebo do řetězce obsahu zprávy. |

Životní cyklus: `synchronous_or_streamed`

### Tarify

Údaje o tarifech nepřidávají možnosti požadavku. Podporované parametry jsou uvedeny u vybrané metody.

Rychlý režim

Standardní sazba Při výběru rychlého režimu

Režim flex

Standardní sazba Při výběru režimu flex

Maximální intenzita uvažování

Standardní sazba Když se při maximální intenzitě uvažování použije výchozí úprava (default)

#### Sazby Ailoot

#### Ceny podle konfigurace

Přiřaďte každý poplatek k uvedeným podmínkám. Pro každou sadu alternativních konfigurací použijte jednu sazbu.

| Konfigurace | Tabulka sazeb | Tokeny kontextu, více než | Tokeny kontextu, do uvedené hodnoty včetně | Poplatek |
| --- | --- | --- | --- | --- |
| KonfiguraceZákladní sazby za tokeny | Tabulka sazebZákladní sazba | Tokeny kontextu, více než— | Tokeny kontextu, do uvedené hodnoty včetněBez horní meze | Poplatek Vstup · Vstupní tokeny **$0.00039** / 1K tokenů Výstup · Výstupní tokeny **$0.00195** / 1K tokenů Vstup · Čtení z mezipaměti **$0.000078** / 1K tokenů Vstup · Zápis do mezipaměti **$0.0004875** / 1K tokenů Vstup · Zápis do mezipaměti, 1 hodina **—** / 1K tokenů |
| KonfiguracePásmo délky požadavku 1 | Tabulka sazeb— | Tokeny kontextu, více než0 | Tokeny kontextu, do uvedené hodnoty včetně32 000 | Poplatek Vstup · Vstupní tokeny **$0.00039** / 1K tokenů Výstup · Výstupní tokeny **$0.00195** / 1K tokenů Vstup · Čtení z mezipaměti **$0.000078** / 1K tokenů Vstup · Zápis do mezipaměti **$0.0004875** / 1K tokenů Vstup · Zápis do mezipaměti, 1 hodina **—** / 1K tokenů |
| KonfiguracePásmo délky požadavku 2 | Tabulka sazeb— | Tokeny kontextu, více než32 000 | Tokeny kontextu, do uvedené hodnoty včetně128 000 | Poplatek Vstup · Vstupní tokeny **$0.00065** / 1K tokenů Výstup · Výstupní tokeny **$0.00325** / 1K tokenů Vstup · Čtení z mezipaměti **$0.00013** / 1K tokenů Vstup · Zápis do mezipaměti **$0.0008125** / 1K tokenů Vstup · Zápis do mezipaměti, 1 hodina **—** / 1K tokenů |
| KonfiguracePásmo 3 podle délky požadavku | Tabulka sazeb— | Tokeny kontextu, více než128 000 | Tokeny kontextu, do uvedené hodnoty včetněBez horní meze | Poplatek Vstup · Vstupní tokeny **$0.00104** / 1K tokenů Výstup · Výstupní tokeny **$0.0052** / 1K tokenů Vstup · Čtení z mezipaměti **$0.000208** / 1K tokenů Vstup · Zápis do mezipaměti **$0.0013** / 1K tokenů Vstup · Zápis do mezipaměti, 1 hodina **—** / 1K tokenů |

Ailoot před požadavkem rezervuje odhadovanou částku. Po výsledku vyúčtuje konečný poplatek podle naměřeného využití. Při streamování se účtování řídí konečným záznamem využití. [Jak funguje rezervace a vyúčtování →](https://ailoot.ai/docs/cs/billing/reserve/)

### Příklady požadavků

#### Ailoot Ultra · Anthropic Messages

Úplné minimální tělo požadavku JSONcurl · použijte svůj dokument UTF-8Python · uložte úplný výsledek

```json
{
  "model": "qwen/qwen3-coder-flash",
  "max_tokens": 128,
  "messages": [
    {
      "role": "user",
      "content": "Summarize the incident report."
    }
  ],
  "stream": false
}
```

```bash
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_TEXT_FILE:?Set your actual UTF-8 document}"
export AILOOT_TEXT_FILE
python3 - <<'PY_REQUEST'
import json, os
from pathlib import Path

source_file = Path(os.environ['AILOOT_TEXT_FILE'])
if not source_file.is_file():
    raise SystemExit('Set AILOOT_TEXT_FILE to your actual UTF-8 document')
text = source_file.read_text(encoding='utf-8')
if not text.strip():
    raise SystemExit('Choose a document containing text')
payload = {'model': 'qwen/qwen3-coder-flash', 'max_tokens': 128, 'messages': [{'role': 'user', 'content': 'Summarize the incident report.'}]}
payload['messages'][0]['content'] = 'Summarize this material and quote supporting source passages.\n\n' + text
Path('request.json').write_text(json.dumps(payload, ensure_ascii=False), encoding='utf-8')
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/messages \
  -H "x-api-key: $AILOOT_API_KEY" -H 'anthropic-version: 2023-06-01' -H 'Content-Type: application/json' \
  --data-binary @request.json -D response-headers.txt -o result.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path

result = json.loads(Path('result.json').read_text(encoding='utf-8'))
print(json.dumps(result, ensure_ascii=False, indent=2))
PY_RESULT
```

```python
import json, os
from pathlib import Path

source_file = Path(os.environ['AILOOT_TEXT_FILE'])
if not source_file.is_file():
    raise SystemExit('Set AILOOT_TEXT_FILE to your actual UTF-8 document')
text = source_file.read_text(encoding='utf-8')
if not text.strip():
    raise SystemExit('Choose a document containing text')
payload = {'model': 'qwen/qwen3-coder-flash', 'max_tokens': 128, 'messages': [{'role': 'user', 'content': 'Summarize the incident report.'}]}
payload['messages'][0]['content'] = 'Summarize this material and quote supporting source passages.\n\n' + text
from urllib.request import Request, urlopen
from urllib.error import HTTPError

api_key = os.environ['AILOOT_API_KEY']
if not api_key.strip():
    raise SystemExit('Set AILOOT_API_KEY before making a request')
headers = {'x-api-key': 'PLACEHOLDER_KEY', 'anthropic-version': '2023-06-01', 'Content-Type': 'application/json'}
headers['x-api-key'] = api_key
request = Request('https://api.ailoot.ai/v1/messages', data=json.dumps(payload, ensure_ascii=False).encode('utf-8'), headers=headers, method='POST')
try:
    with urlopen(request, timeout=120) as response:
        raw = response.read()
        Path('response-headers.txt').write_text(str(response.headers), encoding='utf-8')
except HTTPError as error:
    Path('result.json').write_bytes(error.read())
    Path('response-headers.txt').write_text(str(error.headers), encoding='utf-8')
    raise
Path('result.json').write_bytes(raw)
import json
from pathlib import Path

result = json.loads(Path('result.json').read_text(encoding='utf-8'))
print(json.dumps(result, ensure_ascii=False, indent=2))
```

### Přijímání a ukládání výsledků

#### Ailoot Ultra · Anthropic Messages

JSON nebo SSE

##### Uchovejte všechny dokončené výsledky

Uchovejte každou úplnou vrácenou odpověď, soubor i část obsahu.

Zachovejte všechny bloky obsahu, podpisy uvažování a skutečná ID použití nástrojů. Sestavte všechny přírůstky bloků SSE; první textový blok není úplný výstup.

##### Pokud je nutné ověřit původní odpověď

Zachovejte ID požadavků/odpovědí a hlavičky. Není dodána obecná URL pro načtení textové úlohy.

Pole odpovědi

| Pole | Typ |
| --- | --- |
| Pole`id` | Typstring |
| Pole`model` | Typstring |
| Pole`content[]` | Typtext\|thinking\|tool\_use\|other content block |
| Pole`stop_reason` | Typstring\|null |
| Pole`usage` | Typobject |

Chyby a další kroky

| Odpověď | Podmínka | Další krok |
| --- | --- | --- |
| Odpověď400 · `invalid_request_error` | PodmínkaNeplatná povinná pole, reprezentace podkladů nebo hodnota parametru | Další krokPřed novým požadavkem na vytvoření opravte uvedená pole. |

### Aliasy

#### Aliasy modelu

**Ailoot Ultra** [`qwen/qwen3-coder-flash`](https://ailoot.ai/models/cs/#m=qwen%2Fqwen3-coder-flash&route=Ultra&caller=qwen%2Fqwen3-coder-flash&fmt=messages), [`qwen3-coder-flash`](https://ailoot.ai/models/cs/#m=qwen%2Fqwen3-coder-flash&route=Ultra&caller=qwen3-coder-flash&fmt=messages)

#### Aliasy cest metod

`/chat/completions`

#### Související ID modelů

[`qwen/qwen3-coder-flash`](https://ailoot.ai/models/cs/#m=qwen%2Fqwen3-coder-flash&route=Ultra&caller=qwen%2Fqwen3-coder-flash&fmt=messages), [`qwen3-coder-flash`](https://ailoot.ai/models/cs/#m=qwen%2Fqwen3-coder-flash&route=Ultra&caller=qwen3-coder-flash&fmt=messages)

**Ailoot Ultra · OpenAI Chat** `POST /v1/chat/completions` `qwen3-coder-flash`

[`qwen3-coder-flash`](https://ailoot.ai/models/cs/#m=qwen%2Fqwen3-coder-flash&route=Ultra&caller=qwen3-coder-flash&fmt=chat)

Alibaba /`qwen3-coder-flash`

ID modelu

- `qwen/qwen3-coder-flash`
- `qwen3-coder-flash`

### Úvod

Qwen3-Coder-Flash je textový programátorský model Qwen pro porozumění repozitářům a vícetahovou interakci s nástroji. Specifikace uvádí kontext o délce milionu tokenů, maximální vstup 997 952 tokenů a maximální výstup 65 536 tokenů, s funkcemi nástrojů omezenými na profil nasazení výrobce.

Přijímané vstupy

Text

Výsledky

Text

### Dostupné v Ailoot · vstupy a metody

**Ailoot Ultra · OpenAI Chat** `POST /v1/chat/completions`

Vstup

`text`

Výstup

`text`

Výstupní formát

json nebo SSE

| Pole | Typ | Požadavek | Hodnoty a limity | Výchozí |
| --- | --- | --- | --- | --- |
| Pole`model` | Typ`string` | PožadavekPovinné | Hodnoty a limity qwen3-coder-flash | Výchozí— |
| Pole`messages` | Typ`message[]` | PožadavekPovinné | Hodnoty a limity Minimální počet položek: 1 | Výchozí— |
| Pole`messages[].role` | Typ`string` | PožadavekPovinné | Hodnoty a limity Závisí na modelu | Výchozí— |
| Pole`messages[].content` | Typ`string` | PožadavekVolitelné | Hodnoty a limity Platí, když: Textová konverzace | Výchozí— |
| Pole`stream` | Typ`boolean` | PožadavekVolitelné | Hodnoty a limity | Výchozífalse |

Kombinace vstupních materiálů

**Text** · text UTF8

`messages[].content`

Parametry a životní cyklus metody

| Parametr | Kontrakt |
| --- | --- |
| Parametr`content_type` | Kontraktapplication/json |
| Parametr`required` | Kontraktmodel, messages |
| Parametr`material_types` | Kontrakttext |
| Parametr`messages` | Kontraktpole zpráv se strukturou role/content |
| Parametr`file_material` | Kontraktskutečný dokument UTF-8 vložený jako doslovný text; ID souboru se neodvozuje |
| Parametr`optional_controls` | Kontraktstream |
| Parametr`control_scope` | KontraktTextová konverzace; stream je booleovská hodnota a ve výchozím nastavení je false. |
| Parametr`output_modalities` | Kontrakttext |
| Parametr`hosted_operations` | Kontraktfalse |
| Parametr`multimodal_input_binding` | Kontraktnull |

Aliasy metody: `/chat/completions`

Životní cyklus: `synchronous_or_streamed`

Odešlete přesné ID modelu spolu s messages.

Délka kontextu není limitem výstupu.

Textový soubor může dodat doslovný text; obrazové/zvukové vstupy a vstupy v podobě souborových objektů vyžadují přesnou vazbu.

### Tarify

Údaje o tarifech nepřidávají možnosti požadavku. Podporované parametry jsou uvedeny u vybrané metody.

Rychlý režim

Standardní sazba Při výběru rychlého režimu

Režim flex

Standardní sazba Při výběru režimu flex

Maximální intenzita uvažování

Standardní sazba Když se při maximální intenzitě uvažování použije výchozí úprava (default)

#### Sazby Ailoot

#### Ceny podle konfigurace

Přiřaďte každý poplatek k uvedeným podmínkám. Pro každou sadu alternativních konfigurací použijte jednu sazbu.

| Konfigurace | Tabulka sazeb | Tokeny kontextu, více než | Tokeny kontextu, do uvedené hodnoty včetně | Poplatek |
| --- | --- | --- | --- | --- |
| KonfiguraceZákladní sazby za tokeny | Tabulka sazebZákladní sazba | Tokeny kontextu, více než— | Tokeny kontextu, do uvedené hodnoty včetněBez horní meze | Poplatek Vstup · Vstupní tokeny **$0.00039** / 1K tokenů Výstup · Výstupní tokeny **$0.00195** / 1K tokenů Vstup · Čtení z mezipaměti **$0.000078** / 1K tokenů Vstup · Zápis do mezipaměti **$0.0004875** / 1K tokenů Vstup · Zápis do mezipaměti, 1 hodina **—** / 1K tokenů |
| KonfiguracePásmo délky požadavku 1 | Tabulka sazeb— | Tokeny kontextu, více než0 | Tokeny kontextu, do uvedené hodnoty včetně32 000 | Poplatek Vstup · Vstupní tokeny **$0.00039** / 1K tokenů Výstup · Výstupní tokeny **$0.00195** / 1K tokenů Vstup · Čtení z mezipaměti **$0.000078** / 1K tokenů Vstup · Zápis do mezipaměti **$0.0004875** / 1K tokenů Vstup · Zápis do mezipaměti, 1 hodina **—** / 1K tokenů |
| KonfiguracePásmo délky požadavku 2 | Tabulka sazeb— | Tokeny kontextu, více než32 000 | Tokeny kontextu, do uvedené hodnoty včetně128 000 | Poplatek Vstup · Vstupní tokeny **$0.00065** / 1K tokenů Výstup · Výstupní tokeny **$0.00325** / 1K tokenů Vstup · Čtení z mezipaměti **$0.00013** / 1K tokenů Vstup · Zápis do mezipaměti **$0.0008125** / 1K tokenů Vstup · Zápis do mezipaměti, 1 hodina **—** / 1K tokenů |
| KonfiguracePásmo 3 podle délky požadavku | Tabulka sazeb— | Tokeny kontextu, více než128 000 | Tokeny kontextu, do uvedené hodnoty včetněBez horní meze | Poplatek Vstup · Vstupní tokeny **$0.00104** / 1K tokenů Výstup · Výstupní tokeny **$0.0052** / 1K tokenů Vstup · Čtení z mezipaměti **$0.000208** / 1K tokenů Vstup · Zápis do mezipaměti **$0.0013** / 1K tokenů Vstup · Zápis do mezipaměti, 1 hodina **—** / 1K tokenů |

Ailoot před požadavkem rezervuje odhadovanou částku. Po výsledku vyúčtuje konečný poplatek podle naměřeného využití. Při streamování se účtování řídí konečným záznamem využití. [Jak funguje rezervace a vyúčtování →](https://ailoot.ai/docs/cs/billing/reserve/)

### Příklady požadavků

#### Ailoot Ultra · OpenAI Chat

curlPython SDK

```bash
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model":"qwen3-coder-flash","messages":[{"role":"user","content":"hello"}],"stream":false}')

Path("request.json").write_text(json.dumps(p,ensure_ascii=False))
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/chat/completions \
  -H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
  --data-binary @request.json -D response-headers.txt -o result.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path
r=json.loads(Path("result.json").read_text())
for x in r.get("choices",[]):
    if x.get("message",{}).get("content"): print(x["message"]["content"])
PY_RESULT
```

```python
from openai import OpenAI
import os

if not os.environ.get("AILOOT_API_KEY", "").strip(): raise SystemExit("Set AILOOT_API_KEY before making a request")
client=OpenAI(base_url="https://api.ailoot.ai/v1",api_key=os.environ["AILOOT_API_KEY"],max_retries=0)
result=client.chat.completions.create(model="qwen3-coder-flash", messages=[{"role":"user","content":"hello"}], stream=False)
import base64, json
from pathlib import Path

def save_result(data, stem="result"):
    # Keep every field, including usage, IDs, reasoning and tool requests.
    Path(stem + ".json").write_text(json.dumps(data, ensure_ascii=False, indent=2), encoding="utf-8")
    print(json.dumps(data, ensure_ascii=False, indent=2))
    def save_blob(encoded, suffix, label):
        raw = base64.b64decode(encoded, altchars=b"-_", validate=True)
        ext = "png" if raw.startswith(b"\x89PNG\r\n\x1a\n") else "jpg" if raw.startswith(b"\xff\xd8") else "webp" if raw[:4] == b"RIFF" and raw[8:12] == b"WEBP" else suffix
        file = Path(stem + "-" + label + "." + ext)
        file.write_bytes(raw)
        print("Saved", file)
    for index, block in enumerate(data.get("content") or []):
        print("Content", index, json.dumps(block, ensure_ascii=False))
    for choice in data.get("choices") or []:
        print("Choice", choice.get("index"), json.dumps(choice.get("message", choice.get("delta", {})), ensure_ascii=False))
    for index, item in enumerate(data.get("output") or []):
        print("Output", index, json.dumps(item, ensure_ascii=False))
        if item.get("type") == "image_generation_call" and item.get("result"):
            save_blob(item["result"], item.get("output_format") or "bin", "output-" + str(index))
    for ci, candidate in enumerate(data.get("candidates") or []):
        for pi, part in enumerate((candidate.get("content") or {}).get("parts") or []):
            print("Candidate/part", ci, pi, json.dumps(part, ensure_ascii=False))
            blob = part.get("inlineData") or part.get("inline_data")
            if blob and blob.get("data"):
                mime = blob.get("mimeType") or blob.get("mime_type")
                suffix = {"image/png":"png", "image/jpeg":"jpg", "image/webp":"webp", "audio/wav":"wav", "audio/mpeg":"mp3", "video/mp4":"mp4"}.get(mime, "bin")
                save_blob(blob["data"], suffix, "candidate-" + str(ci) + "-part-" + str(pi))

save_result(result.to_dict(mode="json"))
```

### Přijímání a ukládání výsledků

#### Ailoot Ultra · OpenAI Chat

json nebo SSE

##### Uchovejte všechny dokončené výsledky

Uchovejte každou úplnou vrácenou odpověď, soubor i část obsahu.

Zachovejte každou volbu a její obsah/volání nástrojů/uvažování. V SSE sestavujte přírůstky podle indexu volby/nástroje a zachovejte konečný důvod ukončení i údaje o využití.

##### Pokud je nutné ověřit původní odpověď

Zachovejte ID požadavků/odpovědí a hlavičky. Není dodána obecná URL pro načtení textové úlohy.

Pole odpovědi

| Pole | Typ |
| --- | --- |
| Pole`choices[].index` | Typinteger |
| Pole`choices[].message.content` | Typstring\|null |
| Pole`choices[].message.tool_calls` | Typtool\_call\[\] |
| Pole`choices[].message.reasoning_content` | Typstring |
| Pole`choices[].message.reasoning_details` | Typobject\|array |
| Pole`choices[].finish_reason` | Typstring\|null |
| Pole`usage` | Typobject |

Chyby a další kroky

| Odpověď | Podmínka | Další krok |
| --- | --- | --- |
| Odpověď400 · `invalid_request_error` | PodmínkaNeplatná povinná pole, reprezentace podkladů nebo hodnota parametru | Další krokPřed novým požadavkem na vytvoření opravte uvedená pole. |

### Aliasy

#### Aliasy modelu

**Ailoot Ultra** [`qwen/qwen3-coder-flash`](https://ailoot.ai/models/cs/#m=qwen%2Fqwen3-coder-flash&route=Ultra&caller=qwen%2Fqwen3-coder-flash&fmt=chat), [`qwen3-coder-flash`](https://ailoot.ai/models/cs/#m=qwen%2Fqwen3-coder-flash&route=Ultra&caller=qwen3-coder-flash&fmt=chat)

#### Aliasy cest metod

`/chat/completions`

#### Související ID modelů

[`qwen/qwen3-coder-flash`](https://ailoot.ai/models/cs/#m=qwen%2Fqwen3-coder-flash&route=Ultra&caller=qwen%2Fqwen3-coder-flash&fmt=chat), [`qwen3-coder-flash`](https://ailoot.ai/models/cs/#m=qwen%2Fqwen3-coder-flash&route=Ultra&caller=qwen3-coder-flash&fmt=chat)

**Ailoot Ultra · Anthropic Messages** `POST /v1/messages` `qwen3-coder-flash`

[`qwen3-coder-flash`](https://ailoot.ai/models/cs/#m=qwen%2Fqwen3-coder-flash&route=Ultra&caller=qwen3-coder-flash&fmt=messages)

Alibaba /`qwen3-coder-flash`

ID modelu

- `qwen/qwen3-coder-flash`
- `qwen3-coder-flash`

### Úvod

Qwen3-Coder-Flash je textový programátorský model Qwen pro porozumění repozitářům a vícetahovou interakci s nástroji. Specifikace uvádí kontext o délce milionu tokenů, maximální vstup 997 952 tokenů a maximální výstup 65 536 tokenů, s funkcemi nástrojů omezenými na profil nasazení výrobce.

Přijímané vstupy

Text

Výsledky

json · sse

### Dostupné v Ailoot · vstupy a metody

**Ailoot Ultra · Anthropic Messages** `POST /v1/messages`

Vstup

`text`

Výstup

`json`, `sse`

Výstupní formát

JSON nebo SSE

| Pole | Typ | Požadavek | Hodnoty a limity | Výchozí |
| --- | --- | --- | --- | --- |
| Pole`model` | Typ`string` | PožadavekPovinné | Hodnoty a limity qwen3-coder-flash | Výchozí— |
| Pole`messages` | Typ`message[]` | PožadavekPovinné | Hodnoty a limity | Výchozí— |
| Pole`messages[].role` | Typ`string` | PožadavekPovinné | Hodnoty a limity user, assistant | Výchozí— |
| Pole`messages[].content` | Typ`string` | PožadavekPovinné | Hodnoty a limity | Výchozí— |
| Pole`max_tokens` | Typ`integer` | PožadavekPovinné | Hodnoty a limity | Výchozí— |
| Pole`stream` | Typ`boolean` | PožadavekVolitelné | Hodnoty a limity | Výchozífalse |

Kombinace vstupních materiálů

**Text** · text UTF-8

`řetězec messages[].content`

Parametry a životní cyklus metody

| Parametr | Kontrakt |
| --- | --- |
| Parametr`content_type` | Kontraktapplication/json |
| Parametr`required` | Kontraktmodel, messages, max\_tokens |
| Parametr`optional_controls` | Kontraktstream |
| Parametr`material_types` | Kontrakttext |
| Parametr`text_file_material` | KontraktPřečtěte skutečný dokument UTF-8 a vložte jeho text do uvedeného pole input nebo do řetězce obsahu zprávy. |

Životní cyklus: `synchronous_or_streamed`

### Tarify

Údaje o tarifech nepřidávají možnosti požadavku. Podporované parametry jsou uvedeny u vybrané metody.

Rychlý režim

Standardní sazba Při výběru rychlého režimu

Režim flex

Standardní sazba Při výběru režimu flex

Maximální intenzita uvažování

Standardní sazba Když se při maximální intenzitě uvažování použije výchozí úprava (default)

#### Sazby Ailoot

#### Ceny podle konfigurace

Přiřaďte každý poplatek k uvedeným podmínkám. Pro každou sadu alternativních konfigurací použijte jednu sazbu.

| Konfigurace | Tabulka sazeb | Tokeny kontextu, více než | Tokeny kontextu, do uvedené hodnoty včetně | Poplatek |
| --- | --- | --- | --- | --- |
| KonfiguraceZákladní sazby za tokeny | Tabulka sazebZákladní sazba | Tokeny kontextu, více než— | Tokeny kontextu, do uvedené hodnoty včetněBez horní meze | Poplatek Vstup · Vstupní tokeny **$0.00039** / 1K tokenů Výstup · Výstupní tokeny **$0.00195** / 1K tokenů Vstup · Čtení z mezipaměti **$0.000078** / 1K tokenů Vstup · Zápis do mezipaměti **$0.0004875** / 1K tokenů Vstup · Zápis do mezipaměti, 1 hodina **—** / 1K tokenů |
| KonfiguracePásmo délky požadavku 1 | Tabulka sazeb— | Tokeny kontextu, více než0 | Tokeny kontextu, do uvedené hodnoty včetně32 000 | Poplatek Vstup · Vstupní tokeny **$0.00039** / 1K tokenů Výstup · Výstupní tokeny **$0.00195** / 1K tokenů Vstup · Čtení z mezipaměti **$0.000078** / 1K tokenů Vstup · Zápis do mezipaměti **$0.0004875** / 1K tokenů Vstup · Zápis do mezipaměti, 1 hodina **—** / 1K tokenů |
| KonfiguracePásmo délky požadavku 2 | Tabulka sazeb— | Tokeny kontextu, více než32 000 | Tokeny kontextu, do uvedené hodnoty včetně128 000 | Poplatek Vstup · Vstupní tokeny **$0.00065** / 1K tokenů Výstup · Výstupní tokeny **$0.00325** / 1K tokenů Vstup · Čtení z mezipaměti **$0.00013** / 1K tokenů Vstup · Zápis do mezipaměti **$0.0008125** / 1K tokenů Vstup · Zápis do mezipaměti, 1 hodina **—** / 1K tokenů |
| KonfiguracePásmo 3 podle délky požadavku | Tabulka sazeb— | Tokeny kontextu, více než128 000 | Tokeny kontextu, do uvedené hodnoty včetněBez horní meze | Poplatek Vstup · Vstupní tokeny **$0.00104** / 1K tokenů Výstup · Výstupní tokeny **$0.0052** / 1K tokenů Vstup · Čtení z mezipaměti **$0.000208** / 1K tokenů Vstup · Zápis do mezipaměti **$0.0013** / 1K tokenů Vstup · Zápis do mezipaměti, 1 hodina **—** / 1K tokenů |

Ailoot před požadavkem rezervuje odhadovanou částku. Po výsledku vyúčtuje konečný poplatek podle naměřeného využití. Při streamování se účtování řídí konečným záznamem využití. [Jak funguje rezervace a vyúčtování →](https://ailoot.ai/docs/cs/billing/reserve/)

### Příklady požadavků

#### Ailoot Ultra · Anthropic Messages

Úplné minimální tělo požadavku JSONcurl · použijte svůj dokument UTF-8Python · uložte úplný výsledek

```json
{
  "model": "qwen3-coder-flash",
  "max_tokens": 128,
  "messages": [
    {
      "role": "user",
      "content": "Summarize the incident report."
    }
  ],
  "stream": false
}
```

```bash
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_TEXT_FILE:?Set your actual UTF-8 document}"
export AILOOT_TEXT_FILE
python3 - <<'PY_REQUEST'
import json, os
from pathlib import Path

source_file = Path(os.environ['AILOOT_TEXT_FILE'])
if not source_file.is_file():
    raise SystemExit('Set AILOOT_TEXT_FILE to your actual UTF-8 document')
text = source_file.read_text(encoding='utf-8')
if not text.strip():
    raise SystemExit('Choose a document containing text')
payload = {'model': 'qwen3-coder-flash', 'max_tokens': 128, 'messages': [{'role': 'user', 'content': 'Summarize the incident report.'}]}
payload['messages'][0]['content'] = 'Summarize this material and quote supporting source passages.\n\n' + text
Path('request.json').write_text(json.dumps(payload, ensure_ascii=False), encoding='utf-8')
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/messages \
  -H "x-api-key: $AILOOT_API_KEY" -H 'anthropic-version: 2023-06-01' -H 'Content-Type: application/json' \
  --data-binary @request.json -D response-headers.txt -o result.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path

result = json.loads(Path('result.json').read_text(encoding='utf-8'))
print(json.dumps(result, ensure_ascii=False, indent=2))
PY_RESULT
```

```python
import json, os
from pathlib import Path

source_file = Path(os.environ['AILOOT_TEXT_FILE'])
if not source_file.is_file():
    raise SystemExit('Set AILOOT_TEXT_FILE to your actual UTF-8 document')
text = source_file.read_text(encoding='utf-8')
if not text.strip():
    raise SystemExit('Choose a document containing text')
payload = {'model': 'qwen3-coder-flash', 'max_tokens': 128, 'messages': [{'role': 'user', 'content': 'Summarize the incident report.'}]}
payload['messages'][0]['content'] = 'Summarize this material and quote supporting source passages.\n\n' + text
from urllib.request import Request, urlopen
from urllib.error import HTTPError

api_key = os.environ['AILOOT_API_KEY']
if not api_key.strip():
    raise SystemExit('Set AILOOT_API_KEY before making a request')
headers = {'x-api-key': 'PLACEHOLDER_KEY', 'anthropic-version': '2023-06-01', 'Content-Type': 'application/json'}
headers['x-api-key'] = api_key
request = Request('https://api.ailoot.ai/v1/messages', data=json.dumps(payload, ensure_ascii=False).encode('utf-8'), headers=headers, method='POST')
try:
    with urlopen(request, timeout=120) as response:
        raw = response.read()
        Path('response-headers.txt').write_text(str(response.headers), encoding='utf-8')
except HTTPError as error:
    Path('result.json').write_bytes(error.read())
    Path('response-headers.txt').write_text(str(error.headers), encoding='utf-8')
    raise
Path('result.json').write_bytes(raw)
import json
from pathlib import Path

result = json.loads(Path('result.json').read_text(encoding='utf-8'))
print(json.dumps(result, ensure_ascii=False, indent=2))
```

### Přijímání a ukládání výsledků

#### Ailoot Ultra · Anthropic Messages

JSON nebo SSE

##### Uchovejte všechny dokončené výsledky

Uchovejte každou úplnou vrácenou odpověď, soubor i část obsahu.

Zachovejte všechny bloky obsahu, podpisy uvažování a skutečná ID použití nástrojů. Sestavte všechny přírůstky bloků SSE; první textový blok není úplný výstup.

##### Pokud je nutné ověřit původní odpověď

Zachovejte ID požadavků/odpovědí a hlavičky. Není dodána obecná URL pro načtení textové úlohy.

Pole odpovědi

| Pole | Typ |
| --- | --- |
| Pole`id` | Typstring |
| Pole`model` | Typstring |
| Pole`content[]` | Typtext\|thinking\|tool\_use\|other content block |
| Pole`stop_reason` | Typstring\|null |
| Pole`usage` | Typobject |

Chyby a další kroky

| Odpověď | Podmínka | Další krok |
| --- | --- | --- |
| Odpověď400 · `invalid_request_error` | PodmínkaNeplatná povinná pole, reprezentace podkladů nebo hodnota parametru | Další krokPřed novým požadavkem na vytvoření opravte uvedená pole. |

### Aliasy

#### Aliasy modelu

**Ailoot Ultra** [`qwen/qwen3-coder-flash`](https://ailoot.ai/models/cs/#m=qwen%2Fqwen3-coder-flash&route=Ultra&caller=qwen%2Fqwen3-coder-flash&fmt=messages), [`qwen3-coder-flash`](https://ailoot.ai/models/cs/#m=qwen%2Fqwen3-coder-flash&route=Ultra&caller=qwen3-coder-flash&fmt=messages)

#### Aliasy cest metod

`/chat/completions`

#### Související ID modelů

[`qwen/qwen3-coder-flash`](https://ailoot.ai/models/cs/#m=qwen%2Fqwen3-coder-flash&route=Ultra&caller=qwen%2Fqwen3-coder-flash&fmt=messages), [`qwen3-coder-flash`](https://ailoot.ai/models/cs/#m=qwen%2Fqwen3-coder-flash&route=Ultra&caller=qwen3-coder-flash&fmt=messages)

FAQ · Qwen: Qwen3 Coder Flash

Jaké vstupy a výsledky jsou dostupné?

`POST /v1/chat/completions` · `qwen/qwen3-coder-flash`: `text` → `text` `POST /v1/messages` · `qwen/qwen3-coder-flash`: `text` → `json`, `sse` `POST /v1/chat/completions` · `qwen3-coder-flash`: `text` → `text` `POST /v1/messages` · `qwen3-coder-flash`: `text` → `json`, `sse`

Jaká pole požadavek používá?

`POST /v1/chat/completions` · `qwen/qwen3-coder-flash`: `model`, `messages`, `stream`, `modalities`, `provider` `POST /v1/messages` · `qwen/qwen3-coder-flash`: `model`, `messages`, `max_tokens`, `stream` `POST /v1/chat/completions` · `qwen3-coder-flash`: `model`, `messages`, `stream` `POST /v1/messages` · `qwen3-coder-flash`: `model`, `messages`, `max_tokens`, `stream`

Jaké limity platí?

`POST /v1/chat/completions` · `qwen/qwen3-coder-flash`: `messages.min_items`: `1` `POST /v1/chat/completions` · `qwen3-coder-flash`: `messages.min_items`: `1`

Připojte Ailoot k Claude Code, OpenCode, Hermes nebo vlastní aplikaci.

## Společnost a její portfolio projektů

Společnost a její portfolio projektů: miliony zákazníků; měsíční tržby v miliardách.

## Nakupujte tokeny se slevou.

Sleva předplatného pro pravidelnou práci. Promo kódy až 50% na nákup tokenů.

Předplatné

Pro pravidelné požadavky vyberte tarif se slevou.

Promo kód až 50%

Při nákupu zadejte kód. Cena se přepočítá podle probíhající akce.

Výdaje v historii

U každého požadavku se uloží model, tokeny a částka.

[Vybrat předplatné](https://ailoot.ai/docs/cs/billing/subscriptions/) · [Zobrazit ceny modelů](https://ailoot.ai/models/cs/)

## Připojte API k produktu, který prodáváte.

SaaS, aplikace a boti podle nabídky a licenční smlouvy Ailoot. Pro přeprodej požádejte o licenci přeprodejce.

Komerční aplikace

Začleňte generování textu, obrázků, videa a zvuku do placených funkcí své služby.

Licence pro přeprodejce

Pošlete popis projektu a způsob poskytování přístupu. Vyžádejte písemné podmínky použití a přeprodeje.

Dokumenty na webu

Nabídka, licenční smlouva a zásady zpracování dat jsou dostupné před připojením.

[Požádat o licenci přeprodejce](mailto:support@ailoot.ai) · [Nabídka a licenční smlouva](https://ailoot.ai/legal/offer?lang=cs)

## Ailoot · Společnost a její portfolio projektů





Ailoot staví na dlouhodobých provozních zkušenostech, široké klientské základně, stabilních službách a průběžném sledování KPI.





Společnost a její portfolio projektů: miliony zákazníků; měsíční tržby v miliardách.





Ailoot využívá tyto provozní zkušenosti k poskytování přístupu přes API k funkcím AI v produktech zákazníků, agentech, aplikacích a automatizacích.
