Source: https://ailoot.ai/models/cs/qwen-qwen2-5-32b-instruct/
Canonical: https://ailoot.ai/models/cs/qwen-qwen2-5-32b-instruct/
Language: cs

# Qwen2.5 32B Instruct

[Markdown](https://ailoot.ai/models/cs/qwen-qwen2-5-32b-instruct/index.md) · [JSON](https://ailoot.ai/models/cs/qwen-qwen2-5-32b-instruct/facts.json)

## [Qwen2.5 32B Instruct](https://ailoot.ai/models/cs/qwen-qwen2-5-32b-instruct/)

Qwen2.5-32B-Instruct je vícejazyčný textový model pro podrobné instrukce, programování, matematiku a strukturovaná data. Jeho edice s 32,5 miliardy parametrů klade důraz na porozumění tabulkám, výstup JSON a dlouhé písemné výsledky, se zdokumentovanými nastaveními rozšířeného kontextu.

- [**Ailoot Ultra · OpenAI Chat** `POST /v1/chat/completions` `Qwen/Qwen2.5-32B-Instruct`](https://ailoot.ai/models/cs/qwen-qwen2-5-32b-instruct/#method-0)
- [**Ailoot Ultra · Anthropic Messages** `POST /v1/messages` `Qwen/Qwen2.5-32B-Instruct`](https://ailoot.ai/models/cs/qwen-qwen2-5-32b-instruct/#method-1)
- [**Ailoot Ultra · OpenAI Chat** `POST /v1/chat/completions` `qwen2.5-32b-instruct`](https://ailoot.ai/models/cs/qwen-qwen2-5-32b-instruct/#method-2)
- [**Ailoot Ultra · Anthropic Messages** `POST /v1/messages` `qwen2.5-32b-instruct`](https://ailoot.ai/models/cs/qwen-qwen2-5-32b-instruct/#method-3)

O modelu

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

Qwen2.5-32B-Instruct je instrukčně doladěný textový model velikosti 32B z obecné rodiny Qwen2.5. Kombinuje porozumění jazyku a jeho generování s programováním a matematikou, nejde tedy o samostatně pojmenovaného specialistu Coder nebo Math. Výrobce zdůrazňuje zejména následování podrobných instrukcí, dlouhé psaní, porozumění tabulkám a vytváření strukturovaného textu, především JSON. Rodina je předtrénována na korpusu popisovaném jako dosahující 18 bilionů tokenů.

Strukturovaná data, dlouhé odpovědi a vícejazyčná práce

Užitečná extrakční úloha dodává zdrojovou pasáž a přesná pole potřebná pro další krok aplikace. Určete typy polí, zda se má formulace kopírovat, nebo shrnout, a jak reprezentovat chybějící informace. Záznam produktu může například požadovat identifikátor, provozní podmínky a seznam nevyřešených otázek. Požádejte pouze o záznam JSON, pokud se má parsovat, nebo o samostatné vysvětlení, pokud člověk potřebuje prověřit úvahy za extrahovanými poli.

Porozumění tabulkám je dalším zdokumentovaným zaměřením. Spolu s otázkou dodejte názvy sloupců, jednotky a relevantní řádky. Požádejte model, aby určil řádky splňující podmínku, vysvětlil změnu mezi obdobími nebo převedl tabulku na písemnou zprávu. Praktický výstup může zachovat identifikátor každého řádku vedle zjištění. Tím se udržuje spojení mezi dodanými daty a odpovědí namísto shrnutí bez dohledatelného zdrojového řádku.

Pro dlouhé psaní určete cílové publikum, části a zdrojová fakta, než požádáte o dokument. Technický návrh může požadovat vymezení problému, požadavky, alternativy a doporučení výhradně podle dodaného materiálu. Uveďte, které podmínky jsou povinné a které představují otázky k vyřešení. Výrobce také rozvíjí odolnost vůči různým systémovým promptům, a podporuje tak definovanou roli, tón a podmínky konverzace.

Rodina podporuje více než 29 jazyků, včetně angličtiny, čínštiny, ruštiny, francouzštiny, španělštiny, portugalštiny, němčiny, italštiny, japonštiny, korejštiny, vietnamštiny, thajštiny a arabštiny. U vícejazyčné úlohy odlište jazyk zdroje od požadovaného jazyka výstupu a dodejte terminologický seznam, pokud názvy nebo technické termíny musí zůstat konzistentní. Dvojjazyčná zpráva může požadovat stejná zdrojová fakta ve dvou verzích při zachování identifikátorů a jednotek.

Podrobnosti modelu v této edici

Verze 32B-Instruct má 32,5 miliardy parametrů, z toho 31,0 miliardy parametrů mimo embeddingy, a 64 vrstev Transformer. Používá rotační poziční embeddingy, SwiGLU, RMSNorm a bias QKV v mechanismu pozornosti. Mechanismus grouped-query attention využívá 40 dotazových hlav a 8 hlav klíčů/hodnot. Jde o verzi hustého jazykového modelu s architekturou pouze dekodéru, která prošla předtrénováním a následným dotrénováním; Instruct označuje edici vytrénovanou pro konverzaci, nikoli základní model.

Karta uvádí plný kontext 131 072 tokenů a generování až 8 192 tokenů. Tyto údaje popisují různé části úlohy: kontext uchovává prompt a konverzaci, zatímco údaj o generování omezuje písemnou odpověď. 512 vygenerovaných tokenů v příkladu rychlého startu je pouze příklad v rámci tohoto většího deklarovaného limitu generování. Model přijímá a vrací text; obsah naskenované tabulky nebo snímku obrazovky je nutné zpřístupnit jako text nebo použít samostatný vizuální model.

Konverzace a nástroje

Karta modelu ukazuje oddělené systémové a uživatelské zprávy formátované odpovídající šablonou chatu. Trvalá pravidla odpovědi asistenta vložte do příslušné konverzační role a samotný dokument, tabulku nebo kód připojte k uživatelské úloze. Označte hranici mezi citovaným zdrojovým materiálem a instrukcemi, aby se instrukce v dokumentu nezaměnila se zadáním, které aplikace zamýšlí.

Oficiální oznámení rodiny dokumentuje podporu volání nástrojů prostřednictvím kompatibilních konverzačních šablon a integrací pro zpřístupnění modelu. V takovém postupu aplikace dodává popisy funkcí, přijímá navržené volání, provádí funkci a vrací její výsledek. Může tak spojit textovou otázku s výpočtem nebo vyhledáním dat, samotný výběr modelu však neposkytuje externí nástroj ani jeho data. Generování JSON a volání nástroje jsou rovněž různé výsledky: jedno formátuje text, zatímco druhé žádá aplikaci pracující s modelem o provedení pojmenované operace.

Příprava dlouhého kontextu

Vydaná konfigurace začíná na 32 768 tokenech. Vstupy přesahující toto nastavení vyžadují zdokumentované rozšíření YaRN, jehož příklad používá faktor 4,0 a původní nastavení maximálního počtu pozic na 32 768. Výrobce upozorňuje, že statické škálování může ovlivnit chování u kratších textů, a doporučuje je zapnout, když je potřeba zpracování dlouhého kontextu.

Při porovnávání rozsáhlých dokumentů určete roli každého dokumentu a požádejte o jeden dobře vymezený výsledek: matici požadavků, seznam nesrovnalostí nebo upravenou část. Zachovejte umístění zdrojů vedle extrahovaných zjištění a ponechte v odpovědi dostatek prostoru pro požadovanou strukturu. Kapacita dlouhého kontextu pomáhá udržet relevantní materiál pohromadě; nenahrazuje potřebu určit, co se má porovnávat a jak bude konečný výsledek využit.

Praktická úloha

### Praktická úloha

Technický příklad v angličtině

```
Explain a stock table

Analyze this text table: SKU | opening units | received units | shipped units. A1 | 20 | 10 | 18. B2 | 7 | 0 | 9. Calculate closing stock for each SKU, identify any impossible negative balance and draft a short note naming the row that needs investigation. Preserve column units.
```

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

```
A closing-stock table with row IDs and a short anomaly note supported by the source values.
```

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

```
Recalculate opening plus received minus shipped and verify the B2 discrepancy is flagged rather than corrected.
```

**Ailoot Ultra · OpenAI Chat** `POST /v1/chat/completions` `Qwen/Qwen2.5-32B-Instruct`

[`Qwen/Qwen2.5-32B-Instruct`](https://ailoot.ai/models/cs/#m=Qwen%2FQwen2.5-32B-Instruct&route=Ultra&caller=Qwen%2FQwen2.5-32B-Instruct&fmt=chat)

Alibaba /`Qwen/Qwen2.5-32B-Instruct`

ID modelu

- `Qwen/Qwen2.5-32B-Instruct`
- `qwen2.5-32b-instruct`

### Úvod

Qwen2.5-32B-Instruct je vícejazyčný textový model pro podrobné instrukce, programování, matematiku a strukturovaná data. Jeho edice s 32,5 miliardy parametrů klade důraz na porozumění tabulkám, výstup JSON a dlouhé písemné výsledky, se zdokumentovanými nastaveními rozšířeného kontextu.

Přijímané vstupy

Text

Výsledky

Text

### Dostupné v Ailoot · vstupy a metody

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

Vstup

`text`

Výstup

`text`

Výstupní formát

json nebo SSE

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

Kombinace vstupních materiálů

**Text** · text UTF8

`messages[].content`

Parametry a životní cyklus metody

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

Životní cyklus: `synchronous_or_streamed`

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

Délka kontextu není limitem výstupu.

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

### Tarify

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

Rychlý režim

Neuvedeno Při výběru rychlého režimu

Režim flex

Neuvedeno Při výběru režimu flex

Maximální intenzita uvažování

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

#### Sazby Ailoot

#### Ceny podle konfigurace

| Konfigurace | Tabulka sazeb | Poplatek |
| --- | --- | --- |
| KonfiguraceZákladní sazby za tokeny | Tabulka sazebZákladní sazba | Poplatek Vstup · Vstupní tokeny **$0.00036** / 1K tokenů Výstup · Výstupní tokeny **$0.00036** / 1K tokenů Vstup · Čtení z mezipaměti **$0** / 1K tokenů Vstup · Zápis do mezipaměti **$0** / 1K tokenů Vstup · Zápis do mezipaměti, 1 hodina **—** / 1K tokenů |

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

### Příklady požadavků

#### Ailoot Ultra · OpenAI Chat

curlPython SDKStreamování v Pythonu

```bash
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model": "Qwen/Qwen2.5-32B-Instruct", "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/Qwen2.5-32B-Instruct',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/Qwen2.5-32B-Instruct',messages=[{"role":"user","content":"Explain observations and hypotheses in three sentences."}]) as stream:
    with Path("stream-events.jsonl").open("w",encoding="utf-8") as log:
        for event in stream:
            payload=event.to_dict(mode="json")
            log.write(json.dumps(payload,ensure_ascii=False)+"\n"); log.flush()
            print(json.dumps(payload,ensure_ascii=False))
    final=stream.get_final_completion()
    save_result(final.to_dict(mode="json"),"stream-result")
```

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

#### Ailoot Ultra · OpenAI Chat

json nebo SSE

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

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

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

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

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

Pole odpovědi

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

Chyby a další kroky

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

### Aliasy

#### Aliasy modelu

**Ailoot Ultra** [`Qwen/Qwen2.5-32B-Instruct`](https://ailoot.ai/models/cs/#m=Qwen%2FQwen2.5-32B-Instruct&route=Ultra&caller=Qwen%2FQwen2.5-32B-Instruct&fmt=chat), [`qwen2.5-32b-instruct`](https://ailoot.ai/models/cs/#m=Qwen%2FQwen2.5-32B-Instruct&route=Ultra&caller=qwen2.5-32b-instruct&fmt=chat)

#### Aliasy cest metod

`/chat/completions`

#### Související ID modelů

[`Qwen/Qwen2.5-32B-Instruct`](https://ailoot.ai/models/cs/#m=Qwen%2FQwen2.5-32B-Instruct&route=Ultra&caller=Qwen%2FQwen2.5-32B-Instruct&fmt=chat), [`qwen2.5-32b-instruct`](https://ailoot.ai/models/cs/#m=Qwen%2FQwen2.5-32B-Instruct&route=Ultra&caller=qwen2.5-32b-instruct&fmt=chat)

**Ailoot Ultra · Anthropic Messages** `POST /v1/messages` `Qwen/Qwen2.5-32B-Instruct`

[`Qwen/Qwen2.5-32B-Instruct`](https://ailoot.ai/models/cs/#m=Qwen%2FQwen2.5-32B-Instruct&route=Ultra&caller=Qwen%2FQwen2.5-32B-Instruct&fmt=messages)

Alibaba /`Qwen/Qwen2.5-32B-Instruct`

ID modelu

- `Qwen/Qwen2.5-32B-Instruct`
- `qwen2.5-32b-instruct`

### Úvod

Qwen2.5-32B-Instruct je vícejazyčný textový model pro podrobné instrukce, programování, matematiku a strukturovaná data. Jeho edice s 32,5 miliardy parametrů klade důraz na porozumění tabulkám, výstup JSON a dlouhé písemné výsledky, se zdokumentovanými nastaveními rozšířeného kontextu.

Přijímané vstupy

Text

Výsledky

json · sse

### Dostupné v Ailoot · vstupy a metody

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

Vstup

`text`

Výstup

`json`, `sse`

Výstupní formát

JSON nebo SSE

| Pole | Typ | Požadavek | Hodnoty a limity | Výchozí |
| --- | --- | --- | --- | --- |
| Pole`model` | Typ`string` | PožadavekPovinné | Hodnoty a limity Qwen/Qwen2.5-32B-Instruct | Výchozí— |
| Pole`messages` | Typ`message[]` | PožadavekPovinné | Hodnoty a limity | Výchozí— |
| Pole`messages[].role` | Typ`string` | PožadavekPovinné | Hodnoty a limity user, assistant | Výchozí— |
| Pole`messages[].content` | Typ`string` | PožadavekPovinné | Hodnoty a limity | Výchozí— |
| Pole`max_tokens` | Typ`integer` | PožadavekPovinné | Hodnoty a limity | Výchozí— |
| Pole`stream` | Typ`boolean` | PožadavekVolitelné | Hodnoty a limity | Výchozífalse |

Kombinace vstupních materiálů

**Text** · text UTF-8

`řetězec messages[].content`

Parametry a životní cyklus metody

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

Životní cyklus: `synchronous_or_streamed`

### Tarify

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

Rychlý režim

Neuvedeno Při výběru rychlého režimu

Režim flex

Neuvedeno Při výběru režimu flex

Maximální intenzita uvažování

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

#### Sazby Ailoot

#### Ceny podle konfigurace

| Konfigurace | Tabulka sazeb | Poplatek |
| --- | --- | --- |
| KonfiguraceZákladní sazby za tokeny | Tabulka sazebZákladní sazba | Poplatek Vstup · Vstupní tokeny **$0.00036** / 1K tokenů Výstup · Výstupní tokeny **$0.00036** / 1K tokenů Vstup · Čtení z mezipaměti **$0** / 1K tokenů Vstup · Zápis do mezipaměti **$0** / 1K tokenů Vstup · Zápis do mezipaměti, 1 hodina **—** / 1K tokenů |

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

### Příklady požadavků

#### Ailoot Ultra · Anthropic Messages

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

```json
{
  "model": "Qwen/Qwen2.5-32B-Instruct",
  "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/Qwen2.5-32B-Instruct', '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/Qwen2.5-32B-Instruct', 'max_tokens': 128, 'messages': [{'role': 'user', 'content': 'Summarize the incident report.'}]}
payload['messages'][0]['content'] = 'Summarize this material and quote supporting source passages.\n\n' + text
from urllib.request import Request, urlopen
from urllib.error import HTTPError

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

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

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

#### Ailoot Ultra · Anthropic Messages

JSON nebo SSE

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

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

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

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

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

Pole odpovědi

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

Chyby a další kroky

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

### Aliasy

#### Aliasy modelu

**Ailoot Ultra** [`Qwen/Qwen2.5-32B-Instruct`](https://ailoot.ai/models/cs/#m=Qwen%2FQwen2.5-32B-Instruct&route=Ultra&caller=Qwen%2FQwen2.5-32B-Instruct&fmt=messages), [`qwen2.5-32b-instruct`](https://ailoot.ai/models/cs/#m=Qwen%2FQwen2.5-32B-Instruct&route=Ultra&caller=qwen2.5-32b-instruct&fmt=messages)

#### Aliasy cest metod

`/chat/completions`

#### Související ID modelů

[`Qwen/Qwen2.5-32B-Instruct`](https://ailoot.ai/models/cs/#m=Qwen%2FQwen2.5-32B-Instruct&route=Ultra&caller=Qwen%2FQwen2.5-32B-Instruct&fmt=messages), [`qwen2.5-32b-instruct`](https://ailoot.ai/models/cs/#m=Qwen%2FQwen2.5-32B-Instruct&route=Ultra&caller=qwen2.5-32b-instruct&fmt=messages)

**Ailoot Ultra · OpenAI Chat** `POST /v1/chat/completions` `qwen2.5-32b-instruct`

[`qwen2.5-32b-instruct`](https://ailoot.ai/models/cs/#m=Qwen%2FQwen2.5-32B-Instruct&route=Ultra&caller=qwen2.5-32b-instruct&fmt=chat)

Alibaba /`qwen2.5-32b-instruct`

ID modelu

- `Qwen/Qwen2.5-32B-Instruct`
- `qwen2.5-32b-instruct`

### Úvod

Qwen2.5-32B-Instruct je vícejazyčný textový model pro podrobné instrukce, programování, matematiku a strukturovaná data. Jeho edice s 32,5 miliardy parametrů klade důraz na porozumění tabulkám, výstup JSON a dlouhé písemné výsledky, se zdokumentovanými nastaveními rozšířeného kontextu.

Přijímané vstupy

Text

Výsledky

Text

### Dostupné v Ailoot · vstupy a metody

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

Vstup

`text`

Výstup

`text`

Výstupní formát

json nebo SSE

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

Kombinace vstupních materiálů

**Text** · text UTF8

`messages[].content`

Parametry a životní cyklus metody

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

Aliasy metody: `/chat/completions`

Životní cyklus: `synchronous_or_streamed`

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

Délka kontextu není limitem výstupu.

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

### Tarify

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

Rychlý režim

Neuvedeno Při výběru rychlého režimu

Režim flex

Neuvedeno Při výběru režimu flex

Maximální intenzita uvažování

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

#### Sazby Ailoot

#### Ceny podle konfigurace

| Konfigurace | Tabulka sazeb | Poplatek |
| --- | --- | --- |
| KonfiguraceZákladní sazby za tokeny | Tabulka sazebZákladní sazba | Poplatek Vstup · Vstupní tokeny **$0.00036** / 1K tokenů Výstup · Výstupní tokeny **$0.00036** / 1K tokenů Vstup · Čtení z mezipaměti **$0** / 1K tokenů Vstup · Zápis do mezipaměti **$0** / 1K tokenů Vstup · Zápis do mezipaměti, 1 hodina **—** / 1K tokenů |

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

### Příklady požadavků

#### Ailoot Ultra · OpenAI Chat

curlPython SDK

```bash
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model":"qwen2.5-32b-instruct","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="qwen2.5-32b-instruct", messages=[{"role":"user","content":"hello"}], stream=False)
import base64, json
from pathlib import Path

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

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

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

#### Ailoot Ultra · OpenAI Chat

json nebo SSE

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

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

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

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

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

Pole odpovědi

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

Chyby a další kroky

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

### Aliasy

#### Aliasy modelu

**Ailoot Ultra** [`Qwen/Qwen2.5-32B-Instruct`](https://ailoot.ai/models/cs/#m=Qwen%2FQwen2.5-32B-Instruct&route=Ultra&caller=Qwen%2FQwen2.5-32B-Instruct&fmt=chat), [`qwen2.5-32b-instruct`](https://ailoot.ai/models/cs/#m=Qwen%2FQwen2.5-32B-Instruct&route=Ultra&caller=qwen2.5-32b-instruct&fmt=chat)

#### Aliasy cest metod

`/chat/completions`

#### Související ID modelů

[`Qwen/Qwen2.5-32B-Instruct`](https://ailoot.ai/models/cs/#m=Qwen%2FQwen2.5-32B-Instruct&route=Ultra&caller=Qwen%2FQwen2.5-32B-Instruct&fmt=chat), [`qwen2.5-32b-instruct`](https://ailoot.ai/models/cs/#m=Qwen%2FQwen2.5-32B-Instruct&route=Ultra&caller=qwen2.5-32b-instruct&fmt=chat)

**Ailoot Ultra · Anthropic Messages** `POST /v1/messages` `qwen2.5-32b-instruct`

[`qwen2.5-32b-instruct`](https://ailoot.ai/models/cs/#m=Qwen%2FQwen2.5-32B-Instruct&route=Ultra&caller=qwen2.5-32b-instruct&fmt=messages)

Alibaba /`qwen2.5-32b-instruct`

ID modelu

- `Qwen/Qwen2.5-32B-Instruct`
- `qwen2.5-32b-instruct`

### Úvod

Qwen2.5-32B-Instruct je vícejazyčný textový model pro podrobné instrukce, programování, matematiku a strukturovaná data. Jeho edice s 32,5 miliardy parametrů klade důraz na porozumění tabulkám, výstup JSON a dlouhé písemné výsledky, se zdokumentovanými nastaveními rozšířeného kontextu.

Přijímané vstupy

Text

Výsledky

json · sse

### Dostupné v Ailoot · vstupy a metody

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

Vstup

`text`

Výstup

`json`, `sse`

Výstupní formát

JSON nebo SSE

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

Kombinace vstupních materiálů

**Text** · text UTF-8

`řetězec messages[].content`

Parametry a životní cyklus metody

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

Životní cyklus: `synchronous_or_streamed`

### Tarify

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

Rychlý režim

Neuvedeno Při výběru rychlého režimu

Režim flex

Neuvedeno Při výběru režimu flex

Maximální intenzita uvažování

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

#### Sazby Ailoot

#### Ceny podle konfigurace

| Konfigurace | Tabulka sazeb | Poplatek |
| --- | --- | --- |
| KonfiguraceZákladní sazby za tokeny | Tabulka sazebZákladní sazba | Poplatek Vstup · Vstupní tokeny **$0.00036** / 1K tokenů Výstup · Výstupní tokeny **$0.00036** / 1K tokenů Vstup · Čtení z mezipaměti **$0** / 1K tokenů Vstup · Zápis do mezipaměti **$0** / 1K tokenů Vstup · Zápis do mezipaměti, 1 hodina **—** / 1K tokenů |

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

### Příklady požadavků

#### Ailoot Ultra · Anthropic Messages

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

```json
{
  "model": "qwen2.5-32b-instruct",
  "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': 'qwen2.5-32b-instruct', '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': 'qwen2.5-32b-instruct', 'max_tokens': 128, 'messages': [{'role': 'user', 'content': 'Summarize the incident report.'}]}
payload['messages'][0]['content'] = 'Summarize this material and quote supporting source passages.\n\n' + text
from urllib.request import Request, urlopen
from urllib.error import HTTPError

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

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

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

#### Ailoot Ultra · Anthropic Messages

JSON nebo SSE

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

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

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

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

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

Pole odpovědi

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

Chyby a další kroky

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

### Aliasy

#### Aliasy modelu

**Ailoot Ultra** [`Qwen/Qwen2.5-32B-Instruct`](https://ailoot.ai/models/cs/#m=Qwen%2FQwen2.5-32B-Instruct&route=Ultra&caller=Qwen%2FQwen2.5-32B-Instruct&fmt=messages), [`qwen2.5-32b-instruct`](https://ailoot.ai/models/cs/#m=Qwen%2FQwen2.5-32B-Instruct&route=Ultra&caller=qwen2.5-32b-instruct&fmt=messages)

#### Aliasy cest metod

`/chat/completions`

#### Související ID modelů

[`Qwen/Qwen2.5-32B-Instruct`](https://ailoot.ai/models/cs/#m=Qwen%2FQwen2.5-32B-Instruct&route=Ultra&caller=Qwen%2FQwen2.5-32B-Instruct&fmt=messages), [`qwen2.5-32b-instruct`](https://ailoot.ai/models/cs/#m=Qwen%2FQwen2.5-32B-Instruct&route=Ultra&caller=qwen2.5-32b-instruct&fmt=messages)

FAQ · Qwen/Qwen2.5-32B-Instruct

Jaké vstupy a výsledky jsou dostupné?

`POST /v1/chat/completions` · `Qwen/Qwen2.5-32B-Instruct`: `text` → `text` `POST /v1/messages` · `Qwen/Qwen2.5-32B-Instruct`: `text` → `json`, `sse` `POST /v1/chat/completions` · `qwen2.5-32b-instruct`: `text` → `text` `POST /v1/messages` · `qwen2.5-32b-instruct`: `text` → `json`, `sse`

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

`POST /v1/chat/completions` · `Qwen/Qwen2.5-32B-Instruct`: `model`, `messages`, `stream`, `modalities`, `provider` `POST /v1/messages` · `Qwen/Qwen2.5-32B-Instruct`: `model`, `messages`, `max_tokens`, `stream` `POST /v1/chat/completions` · `qwen2.5-32b-instruct`: `model`, `messages`, `stream` `POST /v1/messages` · `qwen2.5-32b-instruct`: `model`, `messages`, `max_tokens`, `stream`

Jaké limity platí?

`POST /v1/chat/completions` · `Qwen/Qwen2.5-32B-Instruct`: `messages.min_items`: `1` `POST /v1/chat/completions` · `qwen2.5-32b-instruct`: `messages.min_items`: `1`

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

## Společnost a její portfolio projektů

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

## Nakupujte tokeny se slevou.

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

Předplatné

Pro pravidelné požadavky vyberte tarif se slevou.

Promo kód až 50%

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

Výdaje v historii

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

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

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

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

Komerční aplikace

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

Licence pro přeprodejce

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

Dokumenty na webu

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

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

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





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





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





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