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

# Qwen: Qwen3 Coder Flash

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

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

Qwen3-Coder-Flash ialah model pengekodan teks Qwen untuk pemahaman repositori dan interaksi alat berbilang giliran. Spesifikasinya menyenaraikan konteks sejuta token, input maksimum 997,952 token dan output maksimum 65,536 token, dengan ciri alat terhad pada profil penggunaan pengeluar.

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

Tentang model

Huraian ini merangkumi keupayaan model. Input, output dan pilihan yang tersedia di Ailoot disenaraikan di bawah untuk kaedah yang dipilih.

Gambaran keseluruhan: pengekodan berorientasikan repositori

Qwen3-Coder-Flash ialah model penjanaan kod berasaskan Qwen3. Pembuat menyatakan bahawa ia mewarisi keupayaan ejen pengekodan daripada Qwen3-Coder-Plus dan dioptimumkan untuk pemahaman peringkat repositori, panggilan alat yang stabil dan interaksi selama beberapa giliran. Input dan outputnya yang didokumentasikan ialah teks. Gunakannya untuk tugas pengekodan dengan konteks projek yang dibekalkan dan artifak konkrit, seperti cadangan tampalan, fungsi atau penerangan.

Pengeluar kini menerangkan qwen3-coder-flash sebagai setara dari segi fungsi dengan qwen3-coder-flash-2025-07-28 dan mengekalkan versi bertarikh itu sebagai versi bernama. Kekalkan identiti yang diminta ketika merekodkan pemilihan model. Halaman model yang tepat tidak menentukan jumlah parameter atau identiti pemberat checkpoint Coder terbuka, jadi nama Flash tidak seharusnya ditukar menjadi dakwaan saiz atau seni bina yang belum terbukti.

Menyediakan bukti repositori

Berikan modul, antara muka dan keperluan yang relevan serta input yang menunjukkan tingkah laku yang dibincangkan. Minta cadangan pelaksanaan disusun mengikut komponen yang terjejas, kemudian minta artifak yang boleh disunting secara berasingan daripada ulasan. Bagi analisis kecacatan, sertakan ralat atau output yang diperhatikan dan tingkah laku yang dijangka. Bagi ciri, terangkan interaksi dan syarat yang mesti dipenuhi oleh hasil.

Respons yang berguna boleh menunjukkan diagnosis, perubahan yang dicadangkan dan semakan yang diperlukan untuk penilaian. Jika tugas melibatkan projek besar, kekalkan pengecam fail dan fungsi dalam bahan yang dibekalkan supaya penerangan boleh merujuk buktinya. Nilai perubahan yang dicadangkan berdasarkan fail yang dibekalkan, tingkah laku yang dijangka dan hasil yang dikembalikan oleh semakan bersambung.

Alat berbilang giliran dan maklum balas

Pembuat menekankan interaksi alat selama beberapa giliran. Aliran kerja bersambung boleh menyediakan alat pemeriksaan atau pelaksanaan dan mengembalikan pemerhatian sebenar kepada model. Nyatakan tindakan yang dibenarkan dan kriteria selesai yang boleh diperhatikan. Apabila semakan gagal, berikan ralat sebenar dan kod yang relevan, dan bukan sekadar meminta cubaan semula. Model boleh menyemak semula kerja yang dicadangkan menggunakan maklum balas itu; aplikasi yang menjalankan tindakan.

Matriks keupayaan menyokong Function Calling dalam profil China (Beijing) Alibaba dan menandakannya sebagai tidak disokong di Singapura, Jerman (Frankfurt) dan AS (Virginia). Oleh itu, ketersediaan alat adalah bersyarat, bukan janji daripada nama model semata-mata. Cadangan teks, permintaan alat dan operasi yang selesai seharusnya kekal dapat dibezakan dalam laporan akhir. Berikan laporan akhir yang memisahkan cadangan kod, panggilan alat yang diminta dan hasil alat sebenar.

Keupayaan dan pemformatan hasil

Output berstruktur yang dikuatkuasakan dan carian web terbina dalam ditandakan sebagai tidak disokong pada halaman khusus model. Prom boleh meminta jadual atau teks berbentuk JSON, tetapi itu tidak mewujudkan kontrak penguatkuasaan skema. Ejen pengekodan boleh menerima bukti semasa daripada alat yang disediakan aplikasi tanpa model itu sendiri mempunyai keupayaan carian terbina dalam.

Prefix Completion tidak disokong di China (Beijing) dan disokong di Singapura, Jerman (Frankfurt) dan AS (Virginia). Context Caching disokong bagi alias tanpa tarikh dalam keempat-empat profil, manakala versi 28 Julai yang disenaraikan secara berasingan menandakannya sebagai tidak disokong. Kedua-dua edisi menandakan inferens kelompok dan penalaan halus sebagai tidak disokong. Minta artifak akhir yang mudah diperiksa dan kekalkan pemerhatian alat sebenar apabila laporan mendakwa sesuatu telah disemak.

Had konteks dan output

Spesifikasi memberikan tetingkap konteks 1,000,000 token, panjang input maksimum 997,952 token dan panjang output maksimum 65,536 token. Ini ialah had berasingan; input terbesar dan output terbesar tidak seharusnya dianggap boleh dimuatkan serentak dalam konteks. Teks projek, sejarah, hasil alat dan kod sumber terjana memerlukan ruang dalam bajet permintaan sebenar.

Konteks besar boleh menempatkan lebih banyak bukti repositori dalam satu tugas. Masih berguna untuk membuang fail terjana yang tidak berkaitan, bahan berulang dan modul tidak relevan, sambil mengekalkan takrif dan antara muka yang menjadi sandaran perubahan. Bagi artifak panjang, minta fail atau fungsi yang diperlukan secara jelas dan peruntukkan ruang respons yang mencukupi. Asingkan fail kod dan penerangan supaya penilai boleh memeriksa perubahan yang dicadangkan.

Hasil praktikal dan had substantif

Bagi perubahan repositori, minta tampalan dengan fail yang terjejas, andaian dan hasil sebenar yang dikembalikan oleh semakan bersambung. Bagi algoritma, nyatakan kekangan input dan output yang dijangka sebelum meminta kod. Input yang didokumentasikan ialah teks, jadi rujukan visual atau rakaman memerlukan representasi berasingan yang sesuai jika tugas hendak menggunakannya sebagai bukti.

Periksa sintaks terjana, antara muka dan kes pinggir dalam aliran kerja pembangunan. Penerangan yang munasabah atau huraian model yang berorientasikan alat bukan bukti bahawa kod berjaya dijalankan. Hasil praktikal ialah artifak teks atau kod yang boleh dinilai dan terikat pada bahan repositori yang dibekalkan, dengan identiti Flash yang tepat, had pengeluar dan kontrak alat bersyarat dikekalkan.

Tugas praktikal

### Tugas praktikal

Contoh teknikal dalam bahasa Inggeris

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

#### Hasil yang dijangka

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

#### Semak hasil

```
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/ms/#m=qwen%2Fqwen3-coder-flash&route=Ultra&caller=qwen%2Fqwen3-coder-flash&fmt=chat)

Alibaba /`qwen/qwen3-coder-flash`

ID model

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

### Pengenalan

Qwen3-Coder-Flash ialah model pengekodan teks Qwen untuk pemahaman repositori dan interaksi alat berbilang giliran. Spesifikasinya menyenaraikan konteks sejuta token, input maksimum 997,952 token dan output maksimum 65,536 token, dengan ciri alat terhad pada profil penggunaan pengeluar.

Input yang diterima

Teks

Hasil

Teks

### Tersedia di Ailoot · input & kaedah

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

Input

`text`

Output

`text`

Format output

json atau SSE

| Medan | Jenis | Keperluan | Nilai & had | Lalai |
| --- | --- | --- | --- | --- |
| Medan`model` | Jenis`string` | KeperluanDiperlukan | Nilai & had qwen/qwen3-coder-flash | Lalai— |
| Medan`messages` | Jenis`message[]` | KeperluanDiperlukan | Nilai & had Item minimum: 1 | Lalai— |
| Medan`messages[].role` | Jenis`string` | KeperluanDiperlukan | Nilai & had Contoh: system, user, assistant, tool, function Syarat: Peranan ini diwakili secara eksplisit oleh jenis keserasian dalam kod sumber; set peranan model yang tepat kekal khusus untuk setiap model. Bergantung pada model | Lalai— |
| Medan`messages[].content` | Jenis`string\|content_part[]\|null` | KeperluanPilihan | Nilai & had | Lalai— |
| Medan`messages[].tool_calls` | Jenis`tool_call[]` | KeperluanPilihan | Nilai & had | Lalai— |
| Medan`messages[].tool_call_id` | Jenis`string` | KeperluanPilihan | Nilai & had Terpakai apabila: role=tool; gunakan ID sebenar yang dipulangkan | Lalai— |
| Medan`messages[].name` | Jenis`string` | KeperluanPilihan | Nilai & had | Lalai— |
| Medan`messages[].reasoning_content` | Jenis`string` | KeperluanPilihan | Nilai & had Terpakai apabila: Hantar semula penaakulan sebenar yang dipulangkan apabila model ini menggunakannya | Lalai— |
| Medan`messages[].reasoning_details` | Jenis`object\|array` | KeperluanPilihan | Nilai & had Bergantung pada model | Lalai— |
| Medan`max_tokens` | Jenis`integer` | KeperluanPilihan | Nilai & had Minimum: 1 Bergantung pada model | Lalai— |
| Medan`max_completion_tokens` | Jenis`integer` | KeperluanPilihan | Nilai & had Minimum: 1 Bergantung pada model | Lalai— |
| Medan`stream` | Jenis`boolean` | KeperluanPilihan | Nilai & had | Lalaifalse |
| Medan`stream_options.include_usage` | Jenis`boolean` | KeperluanPilihan | Nilai & had Bergantung pada model | Lalai— |
| Medan`temperature` | Jenis`number` | KeperluanPilihan | Nilai & had Bergantung pada model | Lalai— |
| Medan`top_p` | Jenis`number` | KeperluanPilihan | Nilai & had Bergantung pada model | Lalai— |
| Medan`stop` | Jenis`string\|string[]` | KeperluanPilihan | Nilai & had Bergantung pada model | Lalai— |
| Medan`tools` | Jenis`function_tool[]` | KeperluanPilihan | Nilai & had Bergantung pada model | Lalai— |
| Medan`tools[].type` | Jenis`string` | KeperluanPilihan | Nilai & had function Bergantung pada model | Lalai— |
| Medan`tools[].function.name` | Jenis`string` | KeperluanDiperlukan | Nilai & had Terpakai apabila: alat fungsi dibekalkan | Lalai— |
| Medan`tools[].function.description` | Jenis`string` | KeperluanPilihan | Nilai & had | Lalai— |
| Medan`tools[].function.parameters` | Jenis`JSON_schema` | KeperluanPilihan | Nilai & had | Lalai— |
| Medan`tool_choice` | Jenis`string\|object` | KeperluanPilihan | Nilai & had Bergantung pada model | Lalai— |
| Medan`parallel_tool_calls` | Jenis`boolean` | KeperluanPilihan | Nilai & had Bergantung pada model | Lalai— |
| Medan`response_format` | Jenis`object` | KeperluanPilihan | Nilai & had Bergantung pada model | Lalai— |
| Medan`reasoning_effort` | Jenis`string` | KeperluanPilihan | Nilai & had Bergantung pada model | Lalai— |
| Medan`reasoning` | Jenis`object` | KeperluanPilihan | Nilai & had Bergantung pada model | Lalai— |
| Medan`service_tier` | Jenis`string` | KeperluanPilihan | Nilai & had Bergantung pada model | Lalai— |
| Medan`instructions` | Jenis`string` | KeperluanPilihan | Nilai & had Medan keserasian | Lalai— |
| Medan`functions` | Jenis`function[]` | KeperluanPilihan | Nilai & had Bergantung pada model | Lalai— |
| Medan`function_call` | Jenis`string\|object` | KeperluanPilihan | Nilai & had Bergantung pada model | Lalai— |
| Medan`prompt_cache_options` | Jenis`object` | KeperluanPilihan | Nilai & had Bergantung pada model | Lalai— |
| Medan`modalities` | Jenis`string[]` | KeperluanPilihan | Nilai & had text | Lalai— |
| Medan`provider` | Jenis`object` | KeperluanPilihan | Nilai & had Syarat: provider.options ditolak pada laluan teks Ultra ini | Lalai— |
| Medan`cache_control.ttl` | Jenis`string` | KeperluanPilihan | Nilai & had Syarat: 1h ditolak pada lokasi cache prompt yang digunakan | Lalai— |

Gabungan bahan input

**Teks** · Teks UTF8

`messages[].content`

Parameter kaedah dan kitar hayat

| Parameter | Kontrak |
| --- | --- |
| Parameter`content_type` | Kontrakapplication/json |
| Parameter`required` | Kontrakmodel, messages |
| Parameter`material_types` | Kontraktext |
| Parameter`messages` | Kontraktatasusunan mesej dengan struktur role/content |
| Parameter`file_material` | Kontrakdokumen UTF-8 sebenar dimasukkan sebagai teks literal; ID fail tidak diandaikan |
| Parameter`optional_controls` | Kontrakstream, temperature, top\_p, stop, max\_tokens, max\_completion\_tokens, reasoning, response\_format, tools, tool\_choice |
| Parameter`control_scope` | Kontrakkhusus model; alat fungsi pengguna berbeza daripada alat yang dihoskan |
| Parameter`output_modalities` | Kontraktext |
| Parameter`hosted_operations` | Kontrakfalse |
| Parameter`multimodal_input_binding` | Kontraknull |

Kitar hayat: `synchronous_or_streamed`

Hantar ID model yang tepat bersama messages.

Panjang konteks bukan had output.

Fail teks boleh membekalkan teks literal; input imej/audio/objek fail memerlukan pengikatan tepat.

### Pelan harga

Rujukan tarif tidak menambah pilihan permintaan. Parameter yang disokong disenaraikan untuk kaedah yang dipilih.

Mod pantas

Kadar standard Apabila mod pantas dipilih

Mod flex

Kadar standard Apabila mod flex dipilih

Usaha penaakulan maksimum

Kadar standard Apabila usaha penaakulan maksimum menggunakan pelarasan default

#### Kadar Ailoot

#### Harga mengikut konfigurasi

Padankan setiap caj dengan syarat yang dipaparkan. Gunakan satu kadar bagi setiap set konfigurasi alternatif.

| Konfigurasi | Jadual kadar | Token konteks, melebihi | Token konteks, sehingga dan termasuk | Caj |
| --- | --- | --- | --- | --- |
| KonfigurasiKadar asas token | Jadual kadarKadar asas | Token konteks, melebihi— | Token konteks, sehingga dan termasukTiada had atas | Caj Input · Token input **$0.00039** / 1K token Output · Token output **$0.00195** / 1K token Input · Bacaan cache **$0.000078** / 1K token Input · Penulisan cache **$0.0004875** / 1K token Input · Penulisan cache, 1 jam **—** / 1K token |
| KonfigurasiTahap panjang permintaan 1 | Jadual kadar— | Token konteks, melebihi0 | Token konteks, sehingga dan termasuk32,000 | Caj Input · Token input **$0.00039** / 1K token Output · Token output **$0.00195** / 1K token Input · Bacaan cache **$0.000078** / 1K token Input · Penulisan cache **$0.0004875** / 1K token Input · Penulisan cache, 1 jam **—** / 1K token |
| KonfigurasiTahap panjang permintaan 2 | Jadual kadar— | Token konteks, melebihi32,000 | Token konteks, sehingga dan termasuk128,000 | Caj Input · Token input **$0.00065** / 1K token Output · Token output **$0.00325** / 1K token Input · Bacaan cache **$0.00013** / 1K token Input · Penulisan cache **$0.0008125** / 1K token Input · Penulisan cache, 1 jam **—** / 1K token |
| KonfigurasiPeringkat panjang permintaan 3 | Jadual kadar— | Token konteks, melebihi128,000 | Token konteks, sehingga dan termasukTiada had atas | Caj Input · Token input **$0.00104** / 1K token Output · Token output **$0.0052** / 1K token Input · Bacaan cache **$0.000208** / 1K token Input · Penulisan cache **$0.0013** / 1K token Input · Penulisan cache, 1 jam **—** / 1K token |

Ailoot merizabkan anggaran amaun sebelum permintaan. Selepas hasil diterima, caj akhir diselesaikan berdasarkan penggunaan terukur. Penyelesaian caj penstriman menggunakan rekod penggunaan akhir. [Cara rizab dan penyelesaian caj berfungsi →](https://ailoot.ai/docs/ms/billing/reserve/)

### Contoh permintaan

#### Ailoot Ultra · OpenAI Chat

curlPython SDKPenstriman Python

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

### Terima dan simpan hasil

#### Ailoot Ultra · OpenAI Chat

json atau SSE

##### Simpan semua hasil yang selesai

Simpan setiap respons lengkap, fail dan bahagian kandungan yang dikembalikan.

Kekalkan setiap pilihan jawapan bersama kandungan, panggilan alat dan penaakulannya. Dalam SSE, gabungkan delta mengikut indeks pilihan jawapan/alat dan kekalkan sebab penamatan akhir serta data penggunaan.

##### Jika respons asal perlu disemak

Kekalkan ID permintaan/respons dan pengepala. Tiada URL umum bagi pengambilan tugas teks dibekalkan.

Medan respons

| Medan | Jenis |
| --- | --- |
| Medan`choices[].index` | Jenisinteger |
| Medan`choices[].message.content` | Jenisstring\|null |
| Medan`choices[].message.tool_calls` | Jenistool\_call\[\] |
| Medan`choices[].message.reasoning_content` | Jenisstring |
| Medan`choices[].message.reasoning_details` | Jenisobject\|array |
| Medan`choices[].finish_reason` | Jenisstring\|null |
| Medan`usage` | Jenisobject |

Ralat dan langkah seterusnya

| Respons | Syarat | Langkah seterusnya |
| --- | --- | --- |
| Respons400 · `invalid_request_error` | SyaratMedan wajib, perwakilan bahan atau nilai parameter tidak sah | Langkah seterusnyaBetulkan medan yang ditunjukkan sebelum permintaan penciptaan baharu. |

### Alias

#### Alias model

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

#### Alias laluan kaedah

`/chat/completions`

#### ID pemanggil berkaitan

[`qwen/qwen3-coder-flash`](https://ailoot.ai/models/ms/#m=qwen%2Fqwen3-coder-flash&route=Ultra&caller=qwen%2Fqwen3-coder-flash&fmt=chat), [`qwen3-coder-flash`](https://ailoot.ai/models/ms/#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/ms/#m=qwen%2Fqwen3-coder-flash&route=Ultra&caller=qwen%2Fqwen3-coder-flash&fmt=messages)

Alibaba /`qwen/qwen3-coder-flash`

ID model

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

### Pengenalan

Qwen3-Coder-Flash ialah model pengekodan teks Qwen untuk pemahaman repositori dan interaksi alat berbilang giliran. Spesifikasinya menyenaraikan konteks sejuta token, input maksimum 997,952 token dan output maksimum 65,536 token, dengan ciri alat terhad pada profil penggunaan pengeluar.

Input yang diterima

Teks

Hasil

json · sse

### Tersedia di Ailoot · input & kaedah

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

Input

`text`

Output

`json`, `sse`

Format output

JSON atau SSE

| Medan | Jenis | Keperluan | Nilai & had | Lalai |
| --- | --- | --- | --- | --- |
| Medan`model` | Jenis`string` | KeperluanDiperlukan | Nilai & had qwen/qwen3-coder-flash | Lalai— |
| Medan`messages` | Jenis`message[]` | KeperluanDiperlukan | Nilai & had | Lalai— |
| Medan`messages[].role` | Jenis`string` | KeperluanDiperlukan | Nilai & had user, assistant | Lalai— |
| Medan`messages[].content` | Jenis`string` | KeperluanDiperlukan | Nilai & had | Lalai— |
| Medan`max_tokens` | Jenis`integer` | KeperluanDiperlukan | Nilai & had | Lalai— |
| Medan`stream` | Jenis`boolean` | KeperluanPilihan | Nilai & had | Lalaifalse |

Gabungan bahan input

**Teks** · Teks UTF-8

`rentetan messages[].content`

Parameter kaedah dan kitar hayat

| Parameter | Kontrak |
| --- | --- |
| Parameter`content_type` | Kontrakapplication/json |
| Parameter`required` | Kontrakmodel, messages, max\_tokens |
| Parameter`optional_controls` | Kontrakstream |
| Parameter`material_types` | Kontraktext |
| Parameter`text_file_material` | KontrakBaca dokumen UTF-8 sebenar dan letakkan teksnya dalam rentetan input atau kandungan mesej yang ditunjukkan. |

Kitar hayat: `synchronous_or_streamed`

### Pelan harga

Rujukan tarif tidak menambah pilihan permintaan. Parameter yang disokong disenaraikan untuk kaedah yang dipilih.

Mod pantas

Kadar standard Apabila mod pantas dipilih

Mod flex

Kadar standard Apabila mod flex dipilih

Usaha penaakulan maksimum

Kadar standard Apabila usaha penaakulan maksimum menggunakan pelarasan default

#### Kadar Ailoot

#### Harga mengikut konfigurasi

Padankan setiap caj dengan syarat yang dipaparkan. Gunakan satu kadar bagi setiap set konfigurasi alternatif.

| Konfigurasi | Jadual kadar | Token konteks, melebihi | Token konteks, sehingga dan termasuk | Caj |
| --- | --- | --- | --- | --- |
| KonfigurasiKadar asas token | Jadual kadarKadar asas | Token konteks, melebihi— | Token konteks, sehingga dan termasukTiada had atas | Caj Input · Token input **$0.00039** / 1K token Output · Token output **$0.00195** / 1K token Input · Bacaan cache **$0.000078** / 1K token Input · Penulisan cache **$0.0004875** / 1K token Input · Penulisan cache, 1 jam **—** / 1K token |
| KonfigurasiTahap panjang permintaan 1 | Jadual kadar— | Token konteks, melebihi0 | Token konteks, sehingga dan termasuk32,000 | Caj Input · Token input **$0.00039** / 1K token Output · Token output **$0.00195** / 1K token Input · Bacaan cache **$0.000078** / 1K token Input · Penulisan cache **$0.0004875** / 1K token Input · Penulisan cache, 1 jam **—** / 1K token |
| KonfigurasiTahap panjang permintaan 2 | Jadual kadar— | Token konteks, melebihi32,000 | Token konteks, sehingga dan termasuk128,000 | Caj Input · Token input **$0.00065** / 1K token Output · Token output **$0.00325** / 1K token Input · Bacaan cache **$0.00013** / 1K token Input · Penulisan cache **$0.0008125** / 1K token Input · Penulisan cache, 1 jam **—** / 1K token |
| KonfigurasiPeringkat panjang permintaan 3 | Jadual kadar— | Token konteks, melebihi128,000 | Token konteks, sehingga dan termasukTiada had atas | Caj Input · Token input **$0.00104** / 1K token Output · Token output **$0.0052** / 1K token Input · Bacaan cache **$0.000208** / 1K token Input · Penulisan cache **$0.0013** / 1K token Input · Penulisan cache, 1 jam **—** / 1K token |

Ailoot merizabkan anggaran amaun sebelum permintaan. Selepas hasil diterima, caj akhir diselesaikan berdasarkan penggunaan terukur. Penyelesaian caj penstriman menggunakan rekod penggunaan akhir. [Cara rizab dan penyelesaian caj berfungsi →](https://ailoot.ai/docs/ms/billing/reserve/)

### Contoh permintaan

#### Ailoot Ultra · Anthropic Messages

Badan JSON minimum yang lengkapcurl · gunakan dokumen UTF-8 andaPython · simpan hasil lengkap

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

### Terima dan simpan hasil

#### Ailoot Ultra · Anthropic Messages

JSON atau SSE

##### Simpan semua hasil yang selesai

Simpan setiap respons lengkap, fail dan bahagian kandungan yang dikembalikan.

Kekalkan semua blok kandungan, tandatangan penaakulan dan ID penggunaan alat sebenar. Gabungkan semua delta blok SSE; blok teks pertama bukan keseluruhan output.

##### Jika respons asal perlu disemak

Kekalkan ID permintaan/respons dan pengepala. Tiada URL umum bagi pengambilan tugas teks dibekalkan.

Medan respons

| Medan | Jenis |
| --- | --- |
| Medan`id` | Jenisstring |
| Medan`model` | Jenisstring |
| Medan`content[]` | Jenistext\|thinking\|tool\_use\|other content block |
| Medan`stop_reason` | Jenisstring\|null |
| Medan`usage` | Jenisobject |

Ralat dan langkah seterusnya

| Respons | Syarat | Langkah seterusnya |
| --- | --- | --- |
| Respons400 · `invalid_request_error` | SyaratMedan wajib, perwakilan bahan atau nilai parameter tidak sah | Langkah seterusnyaBetulkan medan yang ditunjukkan sebelum permintaan penciptaan baharu. |

### Alias

#### Alias model

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

#### Alias laluan kaedah

`/chat/completions`

#### ID pemanggil berkaitan

[`qwen/qwen3-coder-flash`](https://ailoot.ai/models/ms/#m=qwen%2Fqwen3-coder-flash&route=Ultra&caller=qwen%2Fqwen3-coder-flash&fmt=messages), [`qwen3-coder-flash`](https://ailoot.ai/models/ms/#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/ms/#m=qwen%2Fqwen3-coder-flash&route=Ultra&caller=qwen3-coder-flash&fmt=chat)

Alibaba /`qwen3-coder-flash`

ID model

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

### Pengenalan

Qwen3-Coder-Flash ialah model pengekodan teks Qwen untuk pemahaman repositori dan interaksi alat berbilang giliran. Spesifikasinya menyenaraikan konteks sejuta token, input maksimum 997,952 token dan output maksimum 65,536 token, dengan ciri alat terhad pada profil penggunaan pengeluar.

Input yang diterima

Teks

Hasil

Teks

### Tersedia di Ailoot · input & kaedah

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

Input

`text`

Output

`text`

Format output

json atau SSE

| Medan | Jenis | Keperluan | Nilai & had | Lalai |
| --- | --- | --- | --- | --- |
| Medan`model` | Jenis`string` | KeperluanDiperlukan | Nilai & had qwen3-coder-flash | Lalai— |
| Medan`messages` | Jenis`message[]` | KeperluanDiperlukan | Nilai & had Item minimum: 1 | Lalai— |
| Medan`messages[].role` | Jenis`string` | KeperluanDiperlukan | Nilai & had Bergantung pada model | Lalai— |
| Medan`messages[].content` | Jenis`string` | KeperluanPilihan | Nilai & had Terpakai apabila: Perbualan teks | Lalai— |
| Medan`stream` | Jenis`boolean` | KeperluanPilihan | Nilai & had | Lalaifalse |

Gabungan bahan input

**Teks** · Teks UTF8

`messages[].content`

Parameter kaedah dan kitar hayat

| Parameter | Kontrak |
| --- | --- |
| Parameter`content_type` | Kontrakapplication/json |
| Parameter`required` | Kontrakmodel, messages |
| Parameter`material_types` | Kontraktext |
| Parameter`messages` | Kontraktatasusunan mesej dengan struktur role/content |
| Parameter`file_material` | Kontrakdokumen UTF-8 sebenar dimasukkan sebagai teks literal; ID fail tidak diandaikan |
| Parameter`optional_controls` | Kontrakstream |
| Parameter`control_scope` | KontrakPerbualan teks; stream ialah nilai boolean dengan false sebagai lalai. |
| Parameter`output_modalities` | Kontraktext |
| Parameter`hosted_operations` | Kontrakfalse |
| Parameter`multimodal_input_binding` | Kontraknull |

Alias kaedah: `/chat/completions`

Kitar hayat: `synchronous_or_streamed`

Hantar ID model yang tepat bersama messages.

Panjang konteks bukan had output.

Fail teks boleh membekalkan teks literal; input imej/audio/objek fail memerlukan pengikatan tepat.

### Pelan harga

Rujukan tarif tidak menambah pilihan permintaan. Parameter yang disokong disenaraikan untuk kaedah yang dipilih.

Mod pantas

Kadar standard Apabila mod pantas dipilih

Mod flex

Kadar standard Apabila mod flex dipilih

Usaha penaakulan maksimum

Kadar standard Apabila usaha penaakulan maksimum menggunakan pelarasan default

#### Kadar Ailoot

#### Harga mengikut konfigurasi

Padankan setiap caj dengan syarat yang dipaparkan. Gunakan satu kadar bagi setiap set konfigurasi alternatif.

| Konfigurasi | Jadual kadar | Token konteks, melebihi | Token konteks, sehingga dan termasuk | Caj |
| --- | --- | --- | --- | --- |
| KonfigurasiKadar asas token | Jadual kadarKadar asas | Token konteks, melebihi— | Token konteks, sehingga dan termasukTiada had atas | Caj Input · Token input **$0.00039** / 1K token Output · Token output **$0.00195** / 1K token Input · Bacaan cache **$0.000078** / 1K token Input · Penulisan cache **$0.0004875** / 1K token Input · Penulisan cache, 1 jam **—** / 1K token |
| KonfigurasiTahap panjang permintaan 1 | Jadual kadar— | Token konteks, melebihi0 | Token konteks, sehingga dan termasuk32,000 | Caj Input · Token input **$0.00039** / 1K token Output · Token output **$0.00195** / 1K token Input · Bacaan cache **$0.000078** / 1K token Input · Penulisan cache **$0.0004875** / 1K token Input · Penulisan cache, 1 jam **—** / 1K token |
| KonfigurasiTahap panjang permintaan 2 | Jadual kadar— | Token konteks, melebihi32,000 | Token konteks, sehingga dan termasuk128,000 | Caj Input · Token input **$0.00065** / 1K token Output · Token output **$0.00325** / 1K token Input · Bacaan cache **$0.00013** / 1K token Input · Penulisan cache **$0.0008125** / 1K token Input · Penulisan cache, 1 jam **—** / 1K token |
| KonfigurasiPeringkat panjang permintaan 3 | Jadual kadar— | Token konteks, melebihi128,000 | Token konteks, sehingga dan termasukTiada had atas | Caj Input · Token input **$0.00104** / 1K token Output · Token output **$0.0052** / 1K token Input · Bacaan cache **$0.000208** / 1K token Input · Penulisan cache **$0.0013** / 1K token Input · Penulisan cache, 1 jam **—** / 1K token |

Ailoot merizabkan anggaran amaun sebelum permintaan. Selepas hasil diterima, caj akhir diselesaikan berdasarkan penggunaan terukur. Penyelesaian caj penstriman menggunakan rekod penggunaan akhir. [Cara rizab dan penyelesaian caj berfungsi →](https://ailoot.ai/docs/ms/billing/reserve/)

### Contoh permintaan

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

### Terima dan simpan hasil

#### Ailoot Ultra · OpenAI Chat

json atau SSE

##### Simpan semua hasil yang selesai

Simpan setiap respons lengkap, fail dan bahagian kandungan yang dikembalikan.

Kekalkan setiap pilihan jawapan bersama kandungan, panggilan alat dan penaakulannya. Dalam SSE, gabungkan delta mengikut indeks pilihan jawapan/alat dan kekalkan sebab penamatan akhir serta data penggunaan.

##### Jika respons asal perlu disemak

Kekalkan ID permintaan/respons dan pengepala. Tiada URL umum bagi pengambilan tugas teks dibekalkan.

Medan respons

| Medan | Jenis |
| --- | --- |
| Medan`choices[].index` | Jenisinteger |
| Medan`choices[].message.content` | Jenisstring\|null |
| Medan`choices[].message.tool_calls` | Jenistool\_call\[\] |
| Medan`choices[].message.reasoning_content` | Jenisstring |
| Medan`choices[].message.reasoning_details` | Jenisobject\|array |
| Medan`choices[].finish_reason` | Jenisstring\|null |
| Medan`usage` | Jenisobject |

Ralat dan langkah seterusnya

| Respons | Syarat | Langkah seterusnya |
| --- | --- | --- |
| Respons400 · `invalid_request_error` | SyaratMedan wajib, perwakilan bahan atau nilai parameter tidak sah | Langkah seterusnyaBetulkan medan yang ditunjukkan sebelum permintaan penciptaan baharu. |

### Alias

#### Alias model

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

#### Alias laluan kaedah

`/chat/completions`

#### ID pemanggil berkaitan

[`qwen/qwen3-coder-flash`](https://ailoot.ai/models/ms/#m=qwen%2Fqwen3-coder-flash&route=Ultra&caller=qwen%2Fqwen3-coder-flash&fmt=chat), [`qwen3-coder-flash`](https://ailoot.ai/models/ms/#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/ms/#m=qwen%2Fqwen3-coder-flash&route=Ultra&caller=qwen3-coder-flash&fmt=messages)

Alibaba /`qwen3-coder-flash`

ID model

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

### Pengenalan

Qwen3-Coder-Flash ialah model pengekodan teks Qwen untuk pemahaman repositori dan interaksi alat berbilang giliran. Spesifikasinya menyenaraikan konteks sejuta token, input maksimum 997,952 token dan output maksimum 65,536 token, dengan ciri alat terhad pada profil penggunaan pengeluar.

Input yang diterima

Teks

Hasil

json · sse

### Tersedia di Ailoot · input & kaedah

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

Input

`text`

Output

`json`, `sse`

Format output

JSON atau SSE

| Medan | Jenis | Keperluan | Nilai & had | Lalai |
| --- | --- | --- | --- | --- |
| Medan`model` | Jenis`string` | KeperluanDiperlukan | Nilai & had qwen3-coder-flash | Lalai— |
| Medan`messages` | Jenis`message[]` | KeperluanDiperlukan | Nilai & had | Lalai— |
| Medan`messages[].role` | Jenis`string` | KeperluanDiperlukan | Nilai & had user, assistant | Lalai— |
| Medan`messages[].content` | Jenis`string` | KeperluanDiperlukan | Nilai & had | Lalai— |
| Medan`max_tokens` | Jenis`integer` | KeperluanDiperlukan | Nilai & had | Lalai— |
| Medan`stream` | Jenis`boolean` | KeperluanPilihan | Nilai & had | Lalaifalse |

Gabungan bahan input

**Teks** · Teks UTF-8

`rentetan messages[].content`

Parameter kaedah dan kitar hayat

| Parameter | Kontrak |
| --- | --- |
| Parameter`content_type` | Kontrakapplication/json |
| Parameter`required` | Kontrakmodel, messages, max\_tokens |
| Parameter`optional_controls` | Kontrakstream |
| Parameter`material_types` | Kontraktext |
| Parameter`text_file_material` | KontrakBaca dokumen UTF-8 sebenar dan letakkan teksnya dalam rentetan input atau kandungan mesej yang ditunjukkan. |

Kitar hayat: `synchronous_or_streamed`

### Pelan harga

Rujukan tarif tidak menambah pilihan permintaan. Parameter yang disokong disenaraikan untuk kaedah yang dipilih.

Mod pantas

Kadar standard Apabila mod pantas dipilih

Mod flex

Kadar standard Apabila mod flex dipilih

Usaha penaakulan maksimum

Kadar standard Apabila usaha penaakulan maksimum menggunakan pelarasan default

#### Kadar Ailoot

#### Harga mengikut konfigurasi

Padankan setiap caj dengan syarat yang dipaparkan. Gunakan satu kadar bagi setiap set konfigurasi alternatif.

| Konfigurasi | Jadual kadar | Token konteks, melebihi | Token konteks, sehingga dan termasuk | Caj |
| --- | --- | --- | --- | --- |
| KonfigurasiKadar asas token | Jadual kadarKadar asas | Token konteks, melebihi— | Token konteks, sehingga dan termasukTiada had atas | Caj Input · Token input **$0.00039** / 1K token Output · Token output **$0.00195** / 1K token Input · Bacaan cache **$0.000078** / 1K token Input · Penulisan cache **$0.0004875** / 1K token Input · Penulisan cache, 1 jam **—** / 1K token |
| KonfigurasiTahap panjang permintaan 1 | Jadual kadar— | Token konteks, melebihi0 | Token konteks, sehingga dan termasuk32,000 | Caj Input · Token input **$0.00039** / 1K token Output · Token output **$0.00195** / 1K token Input · Bacaan cache **$0.000078** / 1K token Input · Penulisan cache **$0.0004875** / 1K token Input · Penulisan cache, 1 jam **—** / 1K token |
| KonfigurasiTahap panjang permintaan 2 | Jadual kadar— | Token konteks, melebihi32,000 | Token konteks, sehingga dan termasuk128,000 | Caj Input · Token input **$0.00065** / 1K token Output · Token output **$0.00325** / 1K token Input · Bacaan cache **$0.00013** / 1K token Input · Penulisan cache **$0.0008125** / 1K token Input · Penulisan cache, 1 jam **—** / 1K token |
| KonfigurasiPeringkat panjang permintaan 3 | Jadual kadar— | Token konteks, melebihi128,000 | Token konteks, sehingga dan termasukTiada had atas | Caj Input · Token input **$0.00104** / 1K token Output · Token output **$0.0052** / 1K token Input · Bacaan cache **$0.000208** / 1K token Input · Penulisan cache **$0.0013** / 1K token Input · Penulisan cache, 1 jam **—** / 1K token |

Ailoot merizabkan anggaran amaun sebelum permintaan. Selepas hasil diterima, caj akhir diselesaikan berdasarkan penggunaan terukur. Penyelesaian caj penstriman menggunakan rekod penggunaan akhir. [Cara rizab dan penyelesaian caj berfungsi →](https://ailoot.ai/docs/ms/billing/reserve/)

### Contoh permintaan

#### Ailoot Ultra · Anthropic Messages

Badan JSON minimum yang lengkapcurl · gunakan dokumen UTF-8 andaPython · simpan hasil lengkap

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

### Terima dan simpan hasil

#### Ailoot Ultra · Anthropic Messages

JSON atau SSE

##### Simpan semua hasil yang selesai

Simpan setiap respons lengkap, fail dan bahagian kandungan yang dikembalikan.

Kekalkan semua blok kandungan, tandatangan penaakulan dan ID penggunaan alat sebenar. Gabungkan semua delta blok SSE; blok teks pertama bukan keseluruhan output.

##### Jika respons asal perlu disemak

Kekalkan ID permintaan/respons dan pengepala. Tiada URL umum bagi pengambilan tugas teks dibekalkan.

Medan respons

| Medan | Jenis |
| --- | --- |
| Medan`id` | Jenisstring |
| Medan`model` | Jenisstring |
| Medan`content[]` | Jenistext\|thinking\|tool\_use\|other content block |
| Medan`stop_reason` | Jenisstring\|null |
| Medan`usage` | Jenisobject |

Ralat dan langkah seterusnya

| Respons | Syarat | Langkah seterusnya |
| --- | --- | --- |
| Respons400 · `invalid_request_error` | SyaratMedan wajib, perwakilan bahan atau nilai parameter tidak sah | Langkah seterusnyaBetulkan medan yang ditunjukkan sebelum permintaan penciptaan baharu. |

### Alias

#### Alias model

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

#### Alias laluan kaedah

`/chat/completions`

#### ID pemanggil berkaitan

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

FAQ · Qwen: Qwen3 Coder Flash

Apakah input dan hasil yang tersedia?

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

Apakah medan yang digunakan oleh permintaan?

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

Apakah had yang terpakai?

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

Sambungkan Ailoot kepada Claude Code, OpenCode, Hermes atau aplikasi anda.

## Syarikat dan portfolio projeknya

Syarikat dan portfolio projeknya: jutaan pelanggan; jualan bernilai berbilion setiap bulan.

## Beli token dengan diskaun.

Diskaun langganan untuk penggunaan berkala. Kod promosi — sehingga 50% bagi pembelian token.

Langganan

Pilih pelan berdiskaun untuk permintaan berkala anda.

Kod promosi sehingga 50%

Masukkan kod semasa pembelian. Harga dikira semula mengikut promosi semasa.

Perbelanjaan dalam sejarah

Model, token dan jumlah disimpan bagi setiap permintaan.

[Pilih langganan](https://ailoot.ai/docs/ms/billing/subscriptions/) · [Lihat harga model](https://ailoot.ai/models/ms/)

## Sambungkan API kepada produk yang anda jual.

SaaS, aplikasi dan bot — di bawah tawaran rasmi serta perjanjian lesen Ailoot. Untuk jualan semula, mohon lesen penjual semula.

Aplikasi komersial

Tambahkan penjanaan teks, imej, video dan audio pada ciri berbayar perkhidmatan anda.

Lesen penjual semula

Hantar keterangan projek dan susunan akses. Minta terma penggunaan serta jualan semula secara bertulis.

Dokumen pada laman

Tawaran, perjanjian lesen dan dasar pemprosesan data tersedia sebelum sambungan.

[Mohon lesen penjual semula](mailto:support@ailoot.ai) · [Tawaran dan perjanjian lesen](https://ailoot.ai/legal/offer?lang=ms)

## Ailoot · Syarikat dan portfolio projeknya





Ailoot berteraskan pengalaman operasi yang mantap, pangkalan pelanggan yang besar, perkhidmatan yang stabil dan pemantauan KPI berterusan.





Syarikat dan portfolio projeknya: jutaan pelanggan; jualan bernilai berbilion setiap bulan.





Ailoot menggunakan pengalaman operasi ini untuk akses API kepada ciri AI dalam produk pelanggan, ejen, aplikasi dan automasi.
