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

# Qwen: Qwen3 Coder Flash

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

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

Qwen3-Coder-Flash yra Qwen tekstinis programavimo modelis, skirtas saugyklai suprasti ir sąveikai su įrankiais per kelis ėjimus. Jo specifikacijoje nurodytas milijono žetonų kontekstas, maksimali 997 952 žetonų įvestis ir maksimali 65 536 žetonų išvestis; įrankių funkcijos taikomos gamintojo diegimo profilio ribose.

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

Apie modelį

Šis aprašas apima modelio galimybes. Pasirinktam metodui Ailoot prieinamos įvestys, išvestys ir parinktys nurodytos toliau.

Apžvalga: programavimas, orientuotas į saugyklą

Qwen3-Coder-Flash yra Qwen3 pagrįstas kodo generavimo modelis. Gamintojas nurodo, kad jis paveldi programavimo agento gebėjimus iš Qwen3-Coder-Plus ir yra optimizuotas saugyklos lygmens supratimui, stabiliems įrankių iškvietimams bei sąveikai per kelis ėjimus. Jo dokumentuota įvestis ir išvestis yra tekstas. Naudokite jį programavimo užduočiai, pateikdami projekto kontekstą ir konkretų artefaktą, pavyzdžiui, siūlomą pataisą, funkciją ar paaiškinimą.

Gamintojas šiuo metu apibūdina qwen3-coder-flash kaip funkciniu požiūriu lygiavertį qwen3-coder-flash-2025-07-28 ir išlaiko tą datuotą momentinę versiją kaip įvardytą versiją. Registruodami modelio pasirinkimą išlaikykite prašytą tapatumą. Konkretaus modelio puslapis nenustato atviros Coder modelio versijos parametrų skaičiaus ar svorių tapatumo, todėl Flash pavadinimo nereikėtų paversti neįrodytu teiginiu apie dydį ar architektūrą.

Saugyklos medžiagos parengimas

Pateikite susijusius modulius, sąsajas, reikalavimus ir įvestį, rodančią aptariamą elgseną. Paprašykite įgyvendinimo pasiūlymo, suskirstyto pagal paveikiamus komponentus, tada redaguojamo artefakto prašykite atskirai nuo komentaro. Defekto analizei pateikite stebėtą klaidą ar išvestį ir laukiamą elgseną. Funkcijos atveju aprašykite sąveikas ir sąlygas, kurias rezultatas turi tenkinti.

Naudingas atsakymas gali parodyti diagnozę, siūlomą pakeitimą ir peržiūrai reikalingas patikras. Jei užduotis susijusi su dideliu projektu, pateiktoje medžiagoje išlaikykite failų ir funkcijų identifikatorius, kad paaiškinimas galėtų nurodyti jo pagrindą. Peržiūrėkite siūlomus pakeitimus pagal pateiktus failus, laukiamą elgseną ir prijungtų patikrų grąžintus rezultatus.

Įrankiai ir grįžtamasis ryšys per kelis ėjimus

Gamintojas pabrėžia sąveiką su įrankiais per kelis ėjimus. Prijungta darbo eiga gali pateikti tikrinimo ar vykdymo įrankius ir grąžinti modeliui tikruosius stebėjimus. Nurodykite leidžiamus veiksmus ir stebimus užbaigimo kriterijus. Kai patikra nepavyksta, pateikite tikrąją klaidą ir susijusį kodą, užuot tik paprašę bandyti dar kartą. Modelis gali peržiūrėti siūlomą darbą pagal šį grįžtamąjį ryšį; veiksmus atlieka programa.

Gebėjimų matrica palaiko Function Calling Alibaba Kinijos (Pekino) profilyje ir pažymi, kad jis nepalaikomas Singapūre, Vokietijoje (Frankfurte) bei JAV (Virdžinijoje). Taigi įrankių prieinamumas yra sąlyginis, o ne vien modelio pavadinimu duodamas pažadas. Galutinėje ataskaitoje tekstinis pasiūlymas, įrankio užklausa ir atliktas veiksmas turėtų likti atskiriami. Pateikite galutinę ataskaitą, atskiriančią kodo pasiūlymą, prašytus įrankių iškvietimus ir tikruosius įrankių rezultatus.

Gebėjimai ir rezultatų formatavimas

Privalomai užtikrinamos struktūrizuotos išvestys ir integruota žiniatinklio paieška specialiame modelio puslapyje pažymėtos kaip nepalaikomos. Užklausa gali prašyti lentelės ar JSON pavidalo teksto, tačiau tai nesukuria schemos užtikrinimo sutarties. Programavimo agentas gali gauti naujausią medžiagą iš programos pateikto įrankio, nors pats modelis neturi integruotos paieškos galimybės.

Prefix Completion nepalaikomas Kinijoje (Pekine) ir palaikomas Singapūre, Vokietijoje (Frankfurte) bei JAV (Virdžinijoje). Context Caching palaikomas nedatuotam alternatyviam vardui visuose keturiuose profiliuose, o atskirai išvardyta liepos 28 dienos momentinė versija jį pažymi kaip nepalaikomą. Abiejose laidose paketinis išvedimas ir papildomas derinimas pažymėti kaip nepalaikomi. Paprašykite galutinio artefakto, kurį lengva patikrinti, ir išlaikykite tikruosius įrankių stebėjimus, kai ataskaita teigia, kad kas nors buvo patikrinta.

Konteksto ir išvesties ribos

Specifikacijoje nurodytas 1 000 000 žetonų konteksto langas, maksimali 997 952 žetonų įvestis ir maksimali 65 536 žetonų išvestis. Tai atskiros ribos; nereikėtų manyti, kad didžiausia įvestis ir didžiausia išvestis kartu vienu metu telpa į kontekstą. Projekto tekstui, istorijai, įrankių rezultatams ir sugeneruotam šaltinio kodui reikia vietos faktiniame užklausos limite.

Didelis kontekstas leidžia vienoje užduotyje pateikti daugiau saugyklos medžiagos. Vis tiek naudinga pašalinti nesusijusius sugeneruotus failus, pasikartojančią medžiagą ir nereikšmingus modulius, išlaikant apibrėžtis bei sąsajas, nuo kurių priklauso pakeitimas. Ilgam artefaktui aiškiai paprašykite reikiamų failų ar funkcijų ir palikite jiems pakankamai atsakymo vietos. Kodo failus ir paaiškinimus laikykite atskirai, kad peržiūrėtojai galėtų patikrinti siūlomus pakeitimus.

Praktinis rezultatas ir esminės ribos

Saugyklos pakeitimui paprašykite pataisos su paveikiamais failais, prielaidomis ir tikrais prijungtų patikrų grąžintais rezultatais. Algoritmo atveju, prieš prašydami kodo, nurodykite įvesties apribojimus ir laukiamą išvestį. Dokumentuota įvestis yra tekstas, todėl vaizdiniam pavyzdžiui ar įrašui reikia tinkamo atskiro atvaizdavimo, jei jis užduotyje turi būti naudojamas kaip pagrindžianti medžiaga.

Tikrinkite sugeneruotą sintaksę, sąsajas ir kraštinius atvejus programavimo darbo eigoje. Įtikinamas paaiškinimas ar į įrankius orientuoto modelio aprašymas nėra įrodymas, kad kodas sėkmingai veikė. Praktinis rezultatas yra peržiūrimas tekstinis ar kodo artefaktas, susietas su pateikta saugyklos medžiaga ir išlaikantis tikslų Flash tapatumą, gamintojo ribas bei sąlyginę įrankių sutartį.

Praktinė užduotis

### Praktinė užduotis

Techninis pavyzdys anglų kalba

```
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.
```

#### Laukiamas rezultatas

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

#### Rezultato patikra

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

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

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

Alibaba /`qwen/qwen3-coder-flash`

Modelio ID

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

### Pradžia

Qwen3-Coder-Flash yra Qwen tekstinis programavimo modelis, skirtas saugyklai suprasti ir sąveikai su įrankiais per kelis ėjimus. Jo specifikacijoje nurodytas milijono žetonų kontekstas, maksimali 997 952 žetonų įvestis ir maksimali 65 536 žetonų išvestis; įrankių funkcijos taikomos gamintojo diegimo profilio ribose.

Leidžiamos įvestys

Tekstas

Rezultatai

Tekstas

### Prieinama Ailoot · įvestys ir metodai

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

Įvestis

`text`

Išvestis

`text`

Išvesties formatas

json arba SSE

| Laukas | Tipas | Reikalavimas | Reikšmės ir ribos | Numatyta |
| --- | --- | --- | --- | --- |
| Laukas`model` | Tipas`string` | ReikalavimasPrivaloma | Reikšmės ir ribos qwen/qwen3-coder-flash | Numatyta— |
| Laukas`messages` | Tipas`message[]` | ReikalavimasPrivaloma | Reikšmės ir ribos Mažiausias elementų skaičius: 1 | Numatyta— |
| Laukas`messages[].role` | Tipas`string` | ReikalavimasPrivaloma | Reikšmės ir ribos Pavyzdžiai: system, user, assistant, tool, function Sąlygos: Šie vaidmenys aiškiai išreikšti šaltinio kodo suderinamumo tipuose; tikslus vaidmenų rinkinys priklauso nuo konkretaus modelio. Priklauso nuo modelio | Numatyta— |
| Laukas`messages[].content` | Tipas`string\|content_part[]\|null` | ReikalavimasNeprivaloma | Reikšmės ir ribos | Numatyta— |
| Laukas`messages[].tool_calls` | Tipas`tool_call[]` | ReikalavimasNeprivaloma | Reikšmės ir ribos | Numatyta— |
| Laukas`messages[].tool_call_id` | Tipas`string` | ReikalavimasNeprivaloma | Reikšmės ir ribos Taikoma, kai: role=tool; naudokite tikrąjį grąžintą ID | Numatyta— |
| Laukas`messages[].name` | Tipas`string` | ReikalavimasNeprivaloma | Reikšmės ir ribos | Numatyta— |
| Laukas`messages[].reasoning_content` | Tipas`string` | ReikalavimasNeprivaloma | Reikšmės ir ribos Taikoma, kai: Grąžinkite tikrąjį gautą samprotavimą ten, kur šis modelis jį naudoja | Numatyta— |
| Laukas`messages[].reasoning_details` | Tipas`object\|array` | ReikalavimasNeprivaloma | Reikšmės ir ribos Priklauso nuo modelio | Numatyta— |
| Laukas`max_tokens` | Tipas`integer` | ReikalavimasNeprivaloma | Reikšmės ir ribos Mažiausia reikšmė: 1 Priklauso nuo modelio | Numatyta— |
| Laukas`max_completion_tokens` | Tipas`integer` | ReikalavimasNeprivaloma | Reikšmės ir ribos Mažiausia reikšmė: 1 Priklauso nuo modelio | Numatyta— |
| Laukas`stream` | Tipas`boolean` | ReikalavimasNeprivaloma | Reikšmės ir ribos | Numatytafalse |
| Laukas`stream_options.include_usage` | Tipas`boolean` | ReikalavimasNeprivaloma | Reikšmės ir ribos Priklauso nuo modelio | Numatyta— |
| Laukas`temperature` | Tipas`number` | ReikalavimasNeprivaloma | Reikšmės ir ribos Priklauso nuo modelio | Numatyta— |
| Laukas`top_p` | Tipas`number` | ReikalavimasNeprivaloma | Reikšmės ir ribos Priklauso nuo modelio | Numatyta— |
| Laukas`stop` | Tipas`string\|string[]` | ReikalavimasNeprivaloma | Reikšmės ir ribos Priklauso nuo modelio | Numatyta— |
| Laukas`tools` | Tipas`function_tool[]` | ReikalavimasNeprivaloma | Reikšmės ir ribos Priklauso nuo modelio | Numatyta— |
| Laukas`tools[].type` | Tipas`string` | ReikalavimasNeprivaloma | Reikšmės ir ribos function Priklauso nuo modelio | Numatyta— |
| Laukas`tools[].function.name` | Tipas`string` | ReikalavimasPrivaloma | Reikšmės ir ribos Taikoma, kai: pateiktas funkcijos tipo įrankis | Numatyta— |
| Laukas`tools[].function.description` | Tipas`string` | ReikalavimasNeprivaloma | Reikšmės ir ribos | Numatyta— |
| Laukas`tools[].function.parameters` | Tipas`JSON_schema` | ReikalavimasNeprivaloma | Reikšmės ir ribos | Numatyta— |
| Laukas`tool_choice` | Tipas`string\|object` | ReikalavimasNeprivaloma | Reikšmės ir ribos Priklauso nuo modelio | Numatyta— |
| Laukas`parallel_tool_calls` | Tipas`boolean` | ReikalavimasNeprivaloma | Reikšmės ir ribos Priklauso nuo modelio | Numatyta— |
| Laukas`response_format` | Tipas`object` | ReikalavimasNeprivaloma | Reikšmės ir ribos Priklauso nuo modelio | Numatyta— |
| Laukas`reasoning_effort` | Tipas`string` | ReikalavimasNeprivaloma | Reikšmės ir ribos Priklauso nuo modelio | Numatyta— |
| Laukas`reasoning` | Tipas`object` | ReikalavimasNeprivaloma | Reikšmės ir ribos Priklauso nuo modelio | Numatyta— |
| Laukas`service_tier` | Tipas`string` | ReikalavimasNeprivaloma | Reikšmės ir ribos Priklauso nuo modelio | Numatyta— |
| Laukas`instructions` | Tipas`string` | ReikalavimasNeprivaloma | Reikšmės ir ribos Suderinamumo laukas | Numatyta— |
| Laukas`functions` | Tipas`function[]` | ReikalavimasNeprivaloma | Reikšmės ir ribos Priklauso nuo modelio | Numatyta— |
| Laukas`function_call` | Tipas`string\|object` | ReikalavimasNeprivaloma | Reikšmės ir ribos Priklauso nuo modelio | Numatyta— |
| Laukas`prompt_cache_options` | Tipas`object` | ReikalavimasNeprivaloma | Reikšmės ir ribos Priklauso nuo modelio | Numatyta— |
| Laukas`modalities` | Tipas`string[]` | ReikalavimasNeprivaloma | Reikšmės ir ribos text | Numatyta— |
| Laukas`provider` | Tipas`object` | ReikalavimasNeprivaloma | Reikšmės ir ribos Sąlygos: provider.options šiame Ultra teksto maršrute atmetamas | Numatyta— |
| Laukas`cache_control.ttl` | Tipas`string` | ReikalavimasNeprivaloma | Reikšmės ir ribos Sąlygos: 1h atmetamas tikrosiose užklausų podėlio vietose | Numatyta— |

Įvesties medžiagos deriniai

**Tekstas** · UTF8 tekstas

`messages[].content`

Metodo parametrai ir gyvavimo ciklas

| Parametras | Specifikacija |
| --- | --- |
| Parametras`content_type` | Specifikacijaapplication/json |
| Parametras`required` | Specifikacijamodel, messages |
| Parametras`material_types` | Specifikacijatext |
| Parametras`messages` | Specifikacijapranešimų masyvas su role/content struktūra |
| Parametras`file_material` | Specifikacijatikrasis UTF-8 dokumentas įterptas kaip pažodinis tekstas; failo ID nenumanomas |
| Parametras`optional_controls` | Specifikacijastream, temperature, top\_p, stop, max\_tokens, max\_completion\_tokens, reasoning, response\_format, tools, tool\_choice |
| Parametras`control_scope` | Specifikacijapriklauso nuo modelio; naudotojo funkcijų įrankiai skiriasi nuo priglobtų įrankių |
| Parametras`output_modalities` | Specifikacijatext |
| Parametras`hosted_operations` | Specifikacijafalse |
| Parametras`multimodal_input_binding` | Specifikacijanull |

Gyvavimo ciklas: `synchronous_or_streamed`

Siųskite tikslų modelio ID kartu su messages.

Konteksto ilgis nėra išvesties limitas.

Teksto failas gali pateikti pažodinį tekstą; vaizdų / garso / failų objektų įvestims reikia tikslaus susiejimo.

### Planai

Tarifų informacija neprideda užklausos parinkčių. Palaikomi parametrai nurodyti prie pasirinkto metodo.

Spartusis režimas

Standartinis įkainis Pasirinkus spartųjį režimą

Flex režimas

Standartinis įkainis Pasirinkus flex režimą

Didžiausios samprotavimo pastangos

Standartinis įkainis Kai didžiausioms samprotavimo pastangoms taikomas numatytasis koregavimas (default)

#### Ailoot įkainiai

#### Kainos pagal konfigūraciją

Kiekvieną mokestį susiekite su nurodytomis sąlygomis. Kiekvienam alternatyvių konfigūracijų rinkiniui taikykite vieną įkainį.

| Konfigūracija | Įkainių lentelė | Konteksto tokenų daugiau nei | Konteksto tokenų iki imtinai | Mokestis |
| --- | --- | --- | --- | --- |
| KonfigūracijaBaziniai žetonų įkainiai | Įkainių lentelėBazinis įkainis | Konteksto tokenų daugiau nei— | Konteksto tokenų iki imtinaiBe viršutinės ribos | Mokestis Įvestis · Įvesties tokenai **$0.00039** / 1K tokenų Išvestis · Išvesties tokenai **$0.00195** / 1K tokenų Įvestis · Talpyklos skaitymas **$0.000078** / 1K tokenų Įvestis · Rašymas į talpyklą **$0.0004875** / 1K tokenų Įvestis · Rašymas į talpyklą, 1 val **—** / 1K tokenų |
| KonfigūracijaUžklausos ilgio pakopa 1 | Įkainių lentelė— | Konteksto tokenų daugiau nei0 | Konteksto tokenų iki imtinai32 000 | Mokestis Įvestis · Įvesties tokenai **$0.00039** / 1K tokenų Išvestis · Išvesties tokenai **$0.00195** / 1K tokenų Įvestis · Talpyklos skaitymas **$0.000078** / 1K tokenų Įvestis · Rašymas į talpyklą **$0.0004875** / 1K tokenų Įvestis · Rašymas į talpyklą, 1 val **—** / 1K tokenų |
| KonfigūracijaUžklausos ilgio pakopa 2 | Įkainių lentelė— | Konteksto tokenų daugiau nei32 000 | Konteksto tokenų iki imtinai128 000 | Mokestis Įvestis · Įvesties tokenai **$0.00065** / 1K tokenų Išvestis · Išvesties tokenai **$0.00325** / 1K tokenų Įvestis · Talpyklos skaitymas **$0.00013** / 1K tokenų Įvestis · Rašymas į talpyklą **$0.0008125** / 1K tokenų Įvestis · Rašymas į talpyklą, 1 val **—** / 1K tokenų |
| KonfigūracijaUžklausos ilgio pakopa 3 | Įkainių lentelė— | Konteksto tokenų daugiau nei128 000 | Konteksto tokenų iki imtinaiBe viršutinės ribos | Mokestis Įvestis · Įvesties tokenai **$0.00104** / 1K tokenų Išvestis · Išvesties tokenai **$0.0052** / 1K tokenų Įvestis · Talpyklos skaitymas **$0.000208** / 1K tokenų Įvestis · Rašymas į talpyklą **$0.0013** / 1K tokenų Įvestis · Rašymas į talpyklą, 1 val **—** / 1K tokenų |

Ailoot prieš užklausą rezervuoja numatomą sumą. Gavus rezultatą, galutinis mokestis nuskaitomas pagal išmatuotą naudojimą. Srautinio atsakymo atsiskaitymui naudojamas galutinis naudojimo įrašas. [Kaip veikia rezervavimas ir atsiskaitymas →](https://ailoot.ai/docs/lt/billing/reserve/)

### Užklausų pavyzdžiai

#### Ailoot Ultra · OpenAI pokalbis

curlPython SDKPython srautas

```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")
```

### Gauti ir išsaugoti rezultatus

#### Ailoot Ultra · OpenAI pokalbis

json arba SSE

##### Išsaugoti visus baigtus rezultatus

Išsaugokite kiekvieną visą grąžintą atsakymą, failą ir turinio dalį.

Išsaugokite kiekvieną variantą ir jo turinį / įrankių iškvietimus / samprotavimą. SSE prieaugius surinkite pagal varianto / įrankio indeksą; išsaugokite galutinę užbaigimo priežastį ir naudojimo duomenis.

##### Jei reikia patikrinti pradinį atsakymą

Išsaugokite užklausų / atsakymų ID ir antraštes. Bendras teksto užduoties gavimo URL nepateikiamas.

Atsakymo laukai

| Laukas | Tipas |
| --- | --- |
| Laukas`choices[].index` | Tipasinteger |
| Laukas`choices[].message.content` | Tipasstring\|null |
| Laukas`choices[].message.tool_calls` | Tipastool\_call\[\] |
| Laukas`choices[].message.reasoning_content` | Tipasstring |
| Laukas`choices[].message.reasoning_details` | Tipasobject\|array |
| Laukas`choices[].finish_reason` | Tipasstring\|null |
| Laukas`usage` | Tipasobject |

Klaidos ir tolesni veiksmai

| Atsakymas | Sąlyga | Kitas žingsnis |
| --- | --- | --- |
| Atsakymas400 · `invalid_request_error` | SąlygaNetinkami privalomi laukai, medžiagos pateikimo forma arba parametro reikšmė | Kitas žingsnisPrieš naują kūrimo užklausą pataisykite nurodytus laukus. |

### Pseudonimai

#### Modelių pseudonimai

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

#### Metodų kelių pseudonimai

`/chat/completions`

#### Susiję ID iškvietimui

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

**Ailoot Ultra · Anthropic pranešimai** `POST /v1/messages` `qwen/qwen3-coder-flash`

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

Alibaba /`qwen/qwen3-coder-flash`

Modelio ID

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

### Pradžia

Qwen3-Coder-Flash yra Qwen tekstinis programavimo modelis, skirtas saugyklai suprasti ir sąveikai su įrankiais per kelis ėjimus. Jo specifikacijoje nurodytas milijono žetonų kontekstas, maksimali 997 952 žetonų įvestis ir maksimali 65 536 žetonų išvestis; įrankių funkcijos taikomos gamintojo diegimo profilio ribose.

Leidžiamos įvestys

Tekstas

Rezultatai

json · sse

### Prieinama Ailoot · įvestys ir metodai

**Ailoot Ultra · Anthropic pranešimai** `POST /v1/messages`

Įvestis

`text`

Išvestis

`json`, `sse`

Išvesties formatas

JSON arba SSE

| Laukas | Tipas | Reikalavimas | Reikšmės ir ribos | Numatyta |
| --- | --- | --- | --- | --- |
| Laukas`model` | Tipas`string` | ReikalavimasPrivaloma | Reikšmės ir ribos qwen/qwen3-coder-flash | Numatyta— |
| Laukas`messages` | Tipas`message[]` | ReikalavimasPrivaloma | Reikšmės ir ribos | Numatyta— |
| Laukas`messages[].role` | Tipas`string` | ReikalavimasPrivaloma | Reikšmės ir ribos user, assistant | Numatyta— |
| Laukas`messages[].content` | Tipas`string` | ReikalavimasPrivaloma | Reikšmės ir ribos | Numatyta— |
| Laukas`max_tokens` | Tipas`integer` | ReikalavimasPrivaloma | Reikšmės ir ribos | Numatyta— |
| Laukas`stream` | Tipas`boolean` | ReikalavimasNeprivaloma | Reikšmės ir ribos | Numatytafalse |

Įvesties medžiagos deriniai

**Tekstas** · UTF-8 tekstas

`messages[].content eilutė`

Metodo parametrai ir gyvavimo ciklas

| Parametras | Specifikacija |
| --- | --- |
| Parametras`content_type` | Specifikacijaapplication/json |
| Parametras`required` | Specifikacijamodel, messages, max\_tokens |
| Parametras`optional_controls` | Specifikacijastream |
| Parametras`material_types` | Specifikacijatext |
| Parametras`text_file_material` | SpecifikacijaPerskaitykite tikrąjį UTF-8 dokumentą ir įterpkite jo tekstą į nurodytą input lauką arba pranešimo turinio eilutę. |

Gyvavimo ciklas: `synchronous_or_streamed`

### Planai

Tarifų informacija neprideda užklausos parinkčių. Palaikomi parametrai nurodyti prie pasirinkto metodo.

Spartusis režimas

Standartinis įkainis Pasirinkus spartųjį režimą

Flex režimas

Standartinis įkainis Pasirinkus flex režimą

Didžiausios samprotavimo pastangos

Standartinis įkainis Kai didžiausioms samprotavimo pastangoms taikomas numatytasis koregavimas (default)

#### Ailoot įkainiai

#### Kainos pagal konfigūraciją

Kiekvieną mokestį susiekite su nurodytomis sąlygomis. Kiekvienam alternatyvių konfigūracijų rinkiniui taikykite vieną įkainį.

| Konfigūracija | Įkainių lentelė | Konteksto tokenų daugiau nei | Konteksto tokenų iki imtinai | Mokestis |
| --- | --- | --- | --- | --- |
| KonfigūracijaBaziniai žetonų įkainiai | Įkainių lentelėBazinis įkainis | Konteksto tokenų daugiau nei— | Konteksto tokenų iki imtinaiBe viršutinės ribos | Mokestis Įvestis · Įvesties tokenai **$0.00039** / 1K tokenų Išvestis · Išvesties tokenai **$0.00195** / 1K tokenų Įvestis · Talpyklos skaitymas **$0.000078** / 1K tokenų Įvestis · Rašymas į talpyklą **$0.0004875** / 1K tokenų Įvestis · Rašymas į talpyklą, 1 val **—** / 1K tokenų |
| KonfigūracijaUžklausos ilgio pakopa 1 | Įkainių lentelė— | Konteksto tokenų daugiau nei0 | Konteksto tokenų iki imtinai32 000 | Mokestis Įvestis · Įvesties tokenai **$0.00039** / 1K tokenų Išvestis · Išvesties tokenai **$0.00195** / 1K tokenų Įvestis · Talpyklos skaitymas **$0.000078** / 1K tokenų Įvestis · Rašymas į talpyklą **$0.0004875** / 1K tokenų Įvestis · Rašymas į talpyklą, 1 val **—** / 1K tokenų |
| KonfigūracijaUžklausos ilgio pakopa 2 | Įkainių lentelė— | Konteksto tokenų daugiau nei32 000 | Konteksto tokenų iki imtinai128 000 | Mokestis Įvestis · Įvesties tokenai **$0.00065** / 1K tokenų Išvestis · Išvesties tokenai **$0.00325** / 1K tokenų Įvestis · Talpyklos skaitymas **$0.00013** / 1K tokenų Įvestis · Rašymas į talpyklą **$0.0008125** / 1K tokenų Įvestis · Rašymas į talpyklą, 1 val **—** / 1K tokenų |
| KonfigūracijaUžklausos ilgio pakopa 3 | Įkainių lentelė— | Konteksto tokenų daugiau nei128 000 | Konteksto tokenų iki imtinaiBe viršutinės ribos | Mokestis Įvestis · Įvesties tokenai **$0.00104** / 1K tokenų Išvestis · Išvesties tokenai **$0.0052** / 1K tokenų Įvestis · Talpyklos skaitymas **$0.000208** / 1K tokenų Įvestis · Rašymas į talpyklą **$0.0013** / 1K tokenų Įvestis · Rašymas į talpyklą, 1 val **—** / 1K tokenų |

Ailoot prieš užklausą rezervuoja numatomą sumą. Gavus rezultatą, galutinis mokestis nuskaitomas pagal išmatuotą naudojimą. Srautinio atsakymo atsiskaitymui naudojamas galutinis naudojimo įrašas. [Kaip veikia rezervavimas ir atsiskaitymas →](https://ailoot.ai/docs/lt/billing/reserve/)

### Užklausų pavyzdžiai

#### Ailoot Ultra · Anthropic pranešimai

Visas minimalus JSON užklausos turinyscurl · naudokite savo UTF-8 dokumentąPython · išsaugokite visą rezultatą

```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))
```

### Gauti ir išsaugoti rezultatus

#### Ailoot Ultra · Anthropic pranešimai

JSON arba SSE

##### Išsaugoti visus baigtus rezultatus

Išsaugokite kiekvieną visą grąžintą atsakymą, failą ir turinio dalį.

Išsaugokite visus turinio blokus, mąstymo parašus ir tikruosius įrankių naudojimo ID. Surinkite visus SSE blokų prieaugius; pirmasis teksto blokas nėra visa išvestis.

##### Jei reikia patikrinti pradinį atsakymą

Išsaugokite užklausų / atsakymų ID ir antraštes. Bendras teksto užduoties gavimo URL nepateikiamas.

Atsakymo laukai

| Laukas | Tipas |
| --- | --- |
| Laukas`id` | Tipasstring |
| Laukas`model` | Tipasstring |
| Laukas`content[]` | Tipastext\|thinking\|tool\_use\|other content block |
| Laukas`stop_reason` | Tipasstring\|null |
| Laukas`usage` | Tipasobject |

Klaidos ir tolesni veiksmai

| Atsakymas | Sąlyga | Kitas žingsnis |
| --- | --- | --- |
| Atsakymas400 · `invalid_request_error` | SąlygaNetinkami privalomi laukai, medžiagos pateikimo forma arba parametro reikšmė | Kitas žingsnisPrieš naują kūrimo užklausą pataisykite nurodytus laukus. |

### Pseudonimai

#### Modelių pseudonimai

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

#### Metodų kelių pseudonimai

`/chat/completions`

#### Susiję ID iškvietimui

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

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

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

Alibaba /`qwen3-coder-flash`

Modelio ID

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

### Pradžia

Qwen3-Coder-Flash yra Qwen tekstinis programavimo modelis, skirtas saugyklai suprasti ir sąveikai su įrankiais per kelis ėjimus. Jo specifikacijoje nurodytas milijono žetonų kontekstas, maksimali 997 952 žetonų įvestis ir maksimali 65 536 žetonų išvestis; įrankių funkcijos taikomos gamintojo diegimo profilio ribose.

Leidžiamos įvestys

Tekstas

Rezultatai

Tekstas

### Prieinama Ailoot · įvestys ir metodai

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

Įvestis

`text`

Išvestis

`text`

Išvesties formatas

json arba SSE

| Laukas | Tipas | Reikalavimas | Reikšmės ir ribos | Numatyta |
| --- | --- | --- | --- | --- |
| Laukas`model` | Tipas`string` | ReikalavimasPrivaloma | Reikšmės ir ribos qwen3-coder-flash | Numatyta— |
| Laukas`messages` | Tipas`message[]` | ReikalavimasPrivaloma | Reikšmės ir ribos Mažiausias elementų skaičius: 1 | Numatyta— |
| Laukas`messages[].role` | Tipas`string` | ReikalavimasPrivaloma | Reikšmės ir ribos Priklauso nuo modelio | Numatyta— |
| Laukas`messages[].content` | Tipas`string` | ReikalavimasNeprivaloma | Reikšmės ir ribos Taikoma, kai: Tekstinis pokalbis | Numatyta— |
| Laukas`stream` | Tipas`boolean` | ReikalavimasNeprivaloma | Reikšmės ir ribos | Numatytafalse |

Įvesties medžiagos deriniai

**Tekstas** · UTF8 tekstas

`messages[].content`

Metodo parametrai ir gyvavimo ciklas

| Parametras | Specifikacija |
| --- | --- |
| Parametras`content_type` | Specifikacijaapplication/json |
| Parametras`required` | Specifikacijamodel, messages |
| Parametras`material_types` | Specifikacijatext |
| Parametras`messages` | Specifikacijapranešimų masyvas su role/content struktūra |
| Parametras`file_material` | Specifikacijatikrasis UTF-8 dokumentas įterptas kaip pažodinis tekstas; failo ID nenumanomas |
| Parametras`optional_controls` | Specifikacijastream |
| Parametras`control_scope` | SpecifikacijaTekstinis pokalbis; stream yra loginė reikšmė, kurios numatytoji reikšmė yra false. |
| Parametras`output_modalities` | Specifikacijatext |
| Parametras`hosted_operations` | Specifikacijafalse |
| Parametras`multimodal_input_binding` | Specifikacijanull |

Metodo pseudonimai: `/chat/completions`

Gyvavimo ciklas: `synchronous_or_streamed`

Siųskite tikslų modelio ID kartu su messages.

Konteksto ilgis nėra išvesties limitas.

Teksto failas gali pateikti pažodinį tekstą; vaizdų / garso / failų objektų įvestims reikia tikslaus susiejimo.

### Planai

Tarifų informacija neprideda užklausos parinkčių. Palaikomi parametrai nurodyti prie pasirinkto metodo.

Spartusis režimas

Standartinis įkainis Pasirinkus spartųjį režimą

Flex režimas

Standartinis įkainis Pasirinkus flex režimą

Didžiausios samprotavimo pastangos

Standartinis įkainis Kai didžiausioms samprotavimo pastangoms taikomas numatytasis koregavimas (default)

#### Ailoot įkainiai

#### Kainos pagal konfigūraciją

Kiekvieną mokestį susiekite su nurodytomis sąlygomis. Kiekvienam alternatyvių konfigūracijų rinkiniui taikykite vieną įkainį.

| Konfigūracija | Įkainių lentelė | Konteksto tokenų daugiau nei | Konteksto tokenų iki imtinai | Mokestis |
| --- | --- | --- | --- | --- |
| KonfigūracijaBaziniai žetonų įkainiai | Įkainių lentelėBazinis įkainis | Konteksto tokenų daugiau nei— | Konteksto tokenų iki imtinaiBe viršutinės ribos | Mokestis Įvestis · Įvesties tokenai **$0.00039** / 1K tokenų Išvestis · Išvesties tokenai **$0.00195** / 1K tokenų Įvestis · Talpyklos skaitymas **$0.000078** / 1K tokenų Įvestis · Rašymas į talpyklą **$0.0004875** / 1K tokenų Įvestis · Rašymas į talpyklą, 1 val **—** / 1K tokenų |
| KonfigūracijaUžklausos ilgio pakopa 1 | Įkainių lentelė— | Konteksto tokenų daugiau nei0 | Konteksto tokenų iki imtinai32 000 | Mokestis Įvestis · Įvesties tokenai **$0.00039** / 1K tokenų Išvestis · Išvesties tokenai **$0.00195** / 1K tokenų Įvestis · Talpyklos skaitymas **$0.000078** / 1K tokenų Įvestis · Rašymas į talpyklą **$0.0004875** / 1K tokenų Įvestis · Rašymas į talpyklą, 1 val **—** / 1K tokenų |
| KonfigūracijaUžklausos ilgio pakopa 2 | Įkainių lentelė— | Konteksto tokenų daugiau nei32 000 | Konteksto tokenų iki imtinai128 000 | Mokestis Įvestis · Įvesties tokenai **$0.00065** / 1K tokenų Išvestis · Išvesties tokenai **$0.00325** / 1K tokenų Įvestis · Talpyklos skaitymas **$0.00013** / 1K tokenų Įvestis · Rašymas į talpyklą **$0.0008125** / 1K tokenų Įvestis · Rašymas į talpyklą, 1 val **—** / 1K tokenų |
| KonfigūracijaUžklausos ilgio pakopa 3 | Įkainių lentelė— | Konteksto tokenų daugiau nei128 000 | Konteksto tokenų iki imtinaiBe viršutinės ribos | Mokestis Įvestis · Įvesties tokenai **$0.00104** / 1K tokenų Išvestis · Išvesties tokenai **$0.0052** / 1K tokenų Įvestis · Talpyklos skaitymas **$0.000208** / 1K tokenų Įvestis · Rašymas į talpyklą **$0.0013** / 1K tokenų Įvestis · Rašymas į talpyklą, 1 val **—** / 1K tokenų |

Ailoot prieš užklausą rezervuoja numatomą sumą. Gavus rezultatą, galutinis mokestis nuskaitomas pagal išmatuotą naudojimą. Srautinio atsakymo atsiskaitymui naudojamas galutinis naudojimo įrašas. [Kaip veikia rezervavimas ir atsiskaitymas →](https://ailoot.ai/docs/lt/billing/reserve/)

### Užklausų pavyzdžiai

#### Ailoot Ultra · OpenAI pokalbis

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"))
```

### Gauti ir išsaugoti rezultatus

#### Ailoot Ultra · OpenAI pokalbis

json arba SSE

##### Išsaugoti visus baigtus rezultatus

Išsaugokite kiekvieną visą grąžintą atsakymą, failą ir turinio dalį.

Išsaugokite kiekvieną variantą ir jo turinį / įrankių iškvietimus / samprotavimą. SSE prieaugius surinkite pagal varianto / įrankio indeksą; išsaugokite galutinę užbaigimo priežastį ir naudojimo duomenis.

##### Jei reikia patikrinti pradinį atsakymą

Išsaugokite užklausų / atsakymų ID ir antraštes. Bendras teksto užduoties gavimo URL nepateikiamas.

Atsakymo laukai

| Laukas | Tipas |
| --- | --- |
| Laukas`choices[].index` | Tipasinteger |
| Laukas`choices[].message.content` | Tipasstring\|null |
| Laukas`choices[].message.tool_calls` | Tipastool\_call\[\] |
| Laukas`choices[].message.reasoning_content` | Tipasstring |
| Laukas`choices[].message.reasoning_details` | Tipasobject\|array |
| Laukas`choices[].finish_reason` | Tipasstring\|null |
| Laukas`usage` | Tipasobject |

Klaidos ir tolesni veiksmai

| Atsakymas | Sąlyga | Kitas žingsnis |
| --- | --- | --- |
| Atsakymas400 · `invalid_request_error` | SąlygaNetinkami privalomi laukai, medžiagos pateikimo forma arba parametro reikšmė | Kitas žingsnisPrieš naują kūrimo užklausą pataisykite nurodytus laukus. |

### Pseudonimai

#### Modelių pseudonimai

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

#### Metodų kelių pseudonimai

`/chat/completions`

#### Susiję ID iškvietimui

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

**Ailoot Ultra · Anthropic pranešimai** `POST /v1/messages` `qwen3-coder-flash`

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

Alibaba /`qwen3-coder-flash`

Modelio ID

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

### Pradžia

Qwen3-Coder-Flash yra Qwen tekstinis programavimo modelis, skirtas saugyklai suprasti ir sąveikai su įrankiais per kelis ėjimus. Jo specifikacijoje nurodytas milijono žetonų kontekstas, maksimali 997 952 žetonų įvestis ir maksimali 65 536 žetonų išvestis; įrankių funkcijos taikomos gamintojo diegimo profilio ribose.

Leidžiamos įvestys

Tekstas

Rezultatai

json · sse

### Prieinama Ailoot · įvestys ir metodai

**Ailoot Ultra · Anthropic pranešimai** `POST /v1/messages`

Įvestis

`text`

Išvestis

`json`, `sse`

Išvesties formatas

JSON arba SSE

| Laukas | Tipas | Reikalavimas | Reikšmės ir ribos | Numatyta |
| --- | --- | --- | --- | --- |
| Laukas`model` | Tipas`string` | ReikalavimasPrivaloma | Reikšmės ir ribos qwen3-coder-flash | Numatyta— |
| Laukas`messages` | Tipas`message[]` | ReikalavimasPrivaloma | Reikšmės ir ribos | Numatyta— |
| Laukas`messages[].role` | Tipas`string` | ReikalavimasPrivaloma | Reikšmės ir ribos user, assistant | Numatyta— |
| Laukas`messages[].content` | Tipas`string` | ReikalavimasPrivaloma | Reikšmės ir ribos | Numatyta— |
| Laukas`max_tokens` | Tipas`integer` | ReikalavimasPrivaloma | Reikšmės ir ribos | Numatyta— |
| Laukas`stream` | Tipas`boolean` | ReikalavimasNeprivaloma | Reikšmės ir ribos | Numatytafalse |

Įvesties medžiagos deriniai

**Tekstas** · UTF-8 tekstas

`messages[].content eilutė`

Metodo parametrai ir gyvavimo ciklas

| Parametras | Specifikacija |
| --- | --- |
| Parametras`content_type` | Specifikacijaapplication/json |
| Parametras`required` | Specifikacijamodel, messages, max\_tokens |
| Parametras`optional_controls` | Specifikacijastream |
| Parametras`material_types` | Specifikacijatext |
| Parametras`text_file_material` | SpecifikacijaPerskaitykite tikrąjį UTF-8 dokumentą ir įterpkite jo tekstą į nurodytą input lauką arba pranešimo turinio eilutę. |

Gyvavimo ciklas: `synchronous_or_streamed`

### Planai

Tarifų informacija neprideda užklausos parinkčių. Palaikomi parametrai nurodyti prie pasirinkto metodo.

Spartusis režimas

Standartinis įkainis Pasirinkus spartųjį režimą

Flex režimas

Standartinis įkainis Pasirinkus flex režimą

Didžiausios samprotavimo pastangos

Standartinis įkainis Kai didžiausioms samprotavimo pastangoms taikomas numatytasis koregavimas (default)

#### Ailoot įkainiai

#### Kainos pagal konfigūraciją

Kiekvieną mokestį susiekite su nurodytomis sąlygomis. Kiekvienam alternatyvių konfigūracijų rinkiniui taikykite vieną įkainį.

| Konfigūracija | Įkainių lentelė | Konteksto tokenų daugiau nei | Konteksto tokenų iki imtinai | Mokestis |
| --- | --- | --- | --- | --- |
| KonfigūracijaBaziniai žetonų įkainiai | Įkainių lentelėBazinis įkainis | Konteksto tokenų daugiau nei— | Konteksto tokenų iki imtinaiBe viršutinės ribos | Mokestis Įvestis · Įvesties tokenai **$0.00039** / 1K tokenų Išvestis · Išvesties tokenai **$0.00195** / 1K tokenų Įvestis · Talpyklos skaitymas **$0.000078** / 1K tokenų Įvestis · Rašymas į talpyklą **$0.0004875** / 1K tokenų Įvestis · Rašymas į talpyklą, 1 val **—** / 1K tokenų |
| KonfigūracijaUžklausos ilgio pakopa 1 | Įkainių lentelė— | Konteksto tokenų daugiau nei0 | Konteksto tokenų iki imtinai32 000 | Mokestis Įvestis · Įvesties tokenai **$0.00039** / 1K tokenų Išvestis · Išvesties tokenai **$0.00195** / 1K tokenų Įvestis · Talpyklos skaitymas **$0.000078** / 1K tokenų Įvestis · Rašymas į talpyklą **$0.0004875** / 1K tokenų Įvestis · Rašymas į talpyklą, 1 val **—** / 1K tokenų |
| KonfigūracijaUžklausos ilgio pakopa 2 | Įkainių lentelė— | Konteksto tokenų daugiau nei32 000 | Konteksto tokenų iki imtinai128 000 | Mokestis Įvestis · Įvesties tokenai **$0.00065** / 1K tokenų Išvestis · Išvesties tokenai **$0.00325** / 1K tokenų Įvestis · Talpyklos skaitymas **$0.00013** / 1K tokenų Įvestis · Rašymas į talpyklą **$0.0008125** / 1K tokenų Įvestis · Rašymas į talpyklą, 1 val **—** / 1K tokenų |
| KonfigūracijaUžklausos ilgio pakopa 3 | Įkainių lentelė— | Konteksto tokenų daugiau nei128 000 | Konteksto tokenų iki imtinaiBe viršutinės ribos | Mokestis Įvestis · Įvesties tokenai **$0.00104** / 1K tokenų Išvestis · Išvesties tokenai **$0.0052** / 1K tokenų Įvestis · Talpyklos skaitymas **$0.000208** / 1K tokenų Įvestis · Rašymas į talpyklą **$0.0013** / 1K tokenų Įvestis · Rašymas į talpyklą, 1 val **—** / 1K tokenų |

Ailoot prieš užklausą rezervuoja numatomą sumą. Gavus rezultatą, galutinis mokestis nuskaitomas pagal išmatuotą naudojimą. Srautinio atsakymo atsiskaitymui naudojamas galutinis naudojimo įrašas. [Kaip veikia rezervavimas ir atsiskaitymas →](https://ailoot.ai/docs/lt/billing/reserve/)

### Užklausų pavyzdžiai

#### Ailoot Ultra · Anthropic pranešimai

Visas minimalus JSON užklausos turinyscurl · naudokite savo UTF-8 dokumentąPython · išsaugokite visą rezultatą

```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))
```

### Gauti ir išsaugoti rezultatus

#### Ailoot Ultra · Anthropic pranešimai

JSON arba SSE

##### Išsaugoti visus baigtus rezultatus

Išsaugokite kiekvieną visą grąžintą atsakymą, failą ir turinio dalį.

Išsaugokite visus turinio blokus, mąstymo parašus ir tikruosius įrankių naudojimo ID. Surinkite visus SSE blokų prieaugius; pirmasis teksto blokas nėra visa išvestis.

##### Jei reikia patikrinti pradinį atsakymą

Išsaugokite užklausų / atsakymų ID ir antraštes. Bendras teksto užduoties gavimo URL nepateikiamas.

Atsakymo laukai

| Laukas | Tipas |
| --- | --- |
| Laukas`id` | Tipasstring |
| Laukas`model` | Tipasstring |
| Laukas`content[]` | Tipastext\|thinking\|tool\_use\|other content block |
| Laukas`stop_reason` | Tipasstring\|null |
| Laukas`usage` | Tipasobject |

Klaidos ir tolesni veiksmai

| Atsakymas | Sąlyga | Kitas žingsnis |
| --- | --- | --- |
| Atsakymas400 · `invalid_request_error` | SąlygaNetinkami privalomi laukai, medžiagos pateikimo forma arba parametro reikšmė | Kitas žingsnisPrieš naują kūrimo užklausą pataisykite nurodytus laukus. |

### Pseudonimai

#### Modelių pseudonimai

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

#### Metodų kelių pseudonimai

`/chat/completions`

#### Susiję ID iškvietimui

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

FAQ · Qwen: Qwen3 Coder Flash

Kokios įvestys ir rezultatai prieinami?

`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`

Kokius laukus naudoja užklausa?

`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`

Kokie apribojimai taikomi?

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

Prijunkite Ailoot prie Claude Code, OpenCode, Hermes arba savo programos.

## Įmonė ir jos projektų portfelis

Įmonė ir jos projektų portfelis: milijonai klientų; mėnesio pardavimai siekia milijardus.

## Pirkite žetonus su nuolaida.

Prenumeratos nuolaida reguliariam darbui. Kodai — iki 50% žetonų pirkimui.

Prenumerata

Pasirinkite planą su nuolaida reguliarioms užklausoms.

Nuolaidos kodas iki 50%

Įveskite kodą perkant. Kaina perskaičiuojama pagal galiojančios akcijos sąlygas.

Išlaidos istorijoje

Kiekvienai užklausai išsaugomi modelis, žetonai ir suma.

[Pasirinkti prenumeratą](https://ailoot.ai/docs/lt/billing/subscriptions/) · [Peržiūrėti modelių kainas](https://ailoot.ai/models/lt/)

## Prijunkite API prie produkto, kurį parduodate.

SaaS, programos ir botai pagal Ailoot ofertą bei licencijos sutartį. Perpardavimui paprašykite perpardavėjo licencijos.

Komercinė programa

Teksto, vaizdų, video ir garso kūrimą integruokite į mokamas paslaugos funkcijas.

Perpardavėjo licencija

Atsiųskite projekto aprašymą ir prieigos schemą. Paprašykite rašytinių naudojimo ir perpardavimo sąlygų.

Dokumentai svetainėje

Oferta, licencijos sutartis ir duomenų tvarkymo politika prieinamos prieš prisijungiant.

[Paprašyti perpardavėjo licencijos](mailto:support@ailoot.ai) · [Oferta ir licencijos sutartis](https://ailoot.ai/legal/offer?lang=lt)

## Ailoot · Įmonė ir jos projektų portfelis





Ailoot remiasi sukaupta veiklos patirtimi, plačia klientų baze, stabiliomis paslaugomis ir nuolatine KPI kontrole.





Įmonė ir jos projektų portfelis: milijonai klientų; mėnesio pardavimai siekia milijardus.





Ailoot šią veiklos patirtį pritaiko teikdama API prieigą prie DI funkcijų klientų produktuose, agentuose, programose ir automatizavimo sprendimuose.
