Source: https://ailoot.ai/models/cs/mistralai-mistral-small-3-1-24b-instruct/
Canonical: https://ailoot.ai/models/cs/mistralai-mistral-small-3-1-24b-instruct/
Language: cs

# Mistral: Mistral Small 3.1 24B

[Markdown](https://ailoot.ai/models/cs/mistralai-mistral-small-3-1-24b-instruct/index.md) · [JSON](https://ailoot.ai/models/cs/mistralai-mistral-small-3-1-24b-instruct/facts.json)

## [Mistral: Mistral Small 3.1 24B](https://ailoot.ai/models/cs/mistralai-mistral-small-3-1-24b-instruct/)

Mistral Small 3.1 24B Instruct 2503 přidává řadě Small 3 porozumění obrázkům a kontext 128 tisíc tokenů uváděný výrobcem. V samostatném vydání vyladěném pro plnění pokynů spojuje vícejazyčný text, programování a matematické uvažování se systémovými pokyny, JSON a nativním voláním funkcí.

- [**Ailoot Ultra · OpenAI Chat** `POST /v1/chat/completions` `mistralai/mistral-small-3.1-24b-instruct`](https://ailoot.ai/models/cs/mistralai-mistral-small-3-1-24b-instruct/#method-0)
- [**Ailoot Ultra · Anthropic Messages** `POST /v1/messages` `mistralai/mistral-small-3.1-24b-instruct`](https://ailoot.ai/models/cs/mistralai-mistral-small-3-1-24b-instruct/#method-1)

O modelu

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

Mistral Small 3.1 24B Instruct 2503 navazuje na Small 3 2501 přidáním vizuálního porozumění a rozšířením podpory dlouhého kontextu na 128 tisíc tokenů. Má 24 miliard parametrů a je vyladěn pro plnění pokynů ze samostatně pojmenovaného vydání Small 3.1 Base. Model přijímá text a obrázky a vytváří text, včetně vysvětlení, kódu nebo strukturovaného záznamu.

Hlavní schopnosti

Vizuální schopnosti umožňují modelu analyzovat viditelné materiály spolu s otázkou uživatele. Obrázek dokumentu může dodat pole či tvrzení k prozkoumání, diagram vztah k vysvětlení a graf data stojící za srovnáním. Označení, jednotky a relevantní okolní obsah ponechte čitelné, aby otázka odkazovala na podklady skutečně přítomné v obrázku.

Výrobce uvádí vícejazyčnou podporu desítek jazyků, včetně ruštiny, angličtiny, francouzštiny, němčiny, řečtiny, hindštiny, indonéštiny, italštiny, japonštiny, korejštiny, malajštiny, nepálštiny, polštiny, portugalštiny, rumunštiny, srbštiny, španělštiny, švédštiny, turečtiny, ukrajinštiny, vietnamštiny, arabštiny, bengálštiny, čínštiny a perštiny. Pro vícejazyčnou odpověď definujte cílový jazyk, čtenáře a terminologii. Názvy, citovaná označení, identifikátory proměnných a jednotky mohou zůstat nezměněné, zatímco okolní text se přizpůsobí.

Karta popisuje také konverzační schopnosti a uvažování, nativní volání funkcí, výstup JSON a dodržování systémových promptů. Jeho tokenizérem je Tekken se slovníkem označeným 131 tisíc. Jde o funkce pojmenovaného vydání vyladěného pro plnění pokynů; edice Base slouží jiné roli a pozdější vydání Small 3.2 a Small 4 si zachovávají vlastní změny a režimy.

Příprava dokumentových, programátorských a matematických úloh

Pro úlohu s dlouhými dokumenty určete dokumenty a položte jednu definovanou otázku. Srovnání může požadovat matici požadavků s tvrzením, jeho zdrojovou sekcí a případným rozporem mezi dokumenty. Shrnutí může požadovat pouze materiály relevantní pro pojmenovanou změnu. Dlouhý kontext zachová tyto zdroje pohromadě, zatímco konečná odpověď může zůstat stručná.

Pro vysvětlení kódu dodejte funkci a vstup, jehož chování se má sledovat. Zahrňte relevantní pomocné funkce nebo deklarace a zeptejte se, jak se stav mění před vrácením hodnoty. Pro navrženou úpravu uveďte požadavek, veřejné rozhraní k zachování a očekávaný výstup. Upravený kód požadujte odděleně od jeho vysvětlení a příkladů.

Pro matematickou úlohu definujte symboly a předpoklady o definičním oboru, než požádáte o odvození. Určete, zda má být konečný výsledek přesný, zaokrouhlený nebo důkazem tvrzení. Je-li podmínka v obrázku, ponechte vzorec a související označení jasné a požádejte model o zachování této notace v odpovědi. Tato příprava převádí zdokumentované zaměření modelu na programování a matematické uvažování do kontrolovatelného artefaktu.

Formát pokynů a doporučené použití

Výrobce zveřejňuje konverzační šablonu V7-Tekken, která rozlišuje role systému, uživatele a asistenta, a doporučuje používat odpovídající implementaci tokenizéru jako závazný zdroj. Systémový pokyn má definovat roli asistenta a pravidla odpovědi, zatímco uživatelská zpráva obsahuje skutečnou úlohu a zdrojové materiály. Správné formátování konverzace se liší od umístění označení podobných rolím do citovaného dokumentu.

Karta doporučuje poměrně nízkou teplotu, například 0.15, a systémový prompt přizpůsobený způsobu použití. Definujte výstupní pole nebo sekce a podmínky, které musí přepis zachovat. Pro opakovanou extrakci požadujte JSON s určenými názvy a typy a reprezentací hodnot chybějících ve zdroji. Vysvětlující odstavec může být vrácen samostatně, pokud člověk potřebuje zkontrolovat výklad.

Postup volání funkcí

Model může vybrat funkci z nástrojů popsaných aplikací a vygenerovat její argumenty. Aplikace funkci provede, vrátí výsledek s odpovídajícím voláním nástroje a model tento výsledek použije v následné odpovědi. Příklad výrobce ukazuje tento konverzační cyklus, včetně předchozího použití nástroje a nové otázky uživatele. Navržené vyhledání se tedy liší od dat skutečně vrácených vyhledáním.

Praktický asistent může nejprve extrahovat otázku z dokumentu a poté použít dodanou referenční funkci k získání chybějící podmínky. Funkci jasně popište, zahrňte její povinné argumenty a vrácený výsledek udržujte propojený s původní operací. JSON uspořádává textový výsledek; volání funkcí žádá připojenou operaci místo tichého vykonávání kódu nebo čtení databáze.

Věcná omezení

Zdokumentovaná vizuální schopnost obrázky čte; negeneruje je. Pokyny pro asistenta ve vydané kartě také odlišují tento model od přepisu zvuku a videa, takže mluvená či video otázka potřebuje relevantní obsah dodat vhodným samostatným přípravným krokem. Přístup k webu a externí akce také pocházejí z připojených nástrojů, nikoli pouze z modelu pro textový a obrazový vstup.

Kontext 128 tisíc tokenů se týká vstupu úlohy a generované konverzace, zatímco příklad generování 512 tokenů v kartě je jen ukázkovým nastavením. Přečtené zdroje nespecifikují samostatnou pevnou kapacitu délky odpovědi. Zachovejte přesnou edici Instruct 2503, její konverzační formát a požadované vysvětlení, záznam nebo artefakt kódu.

Praktická úloha

### Praktická úloha

Technický příklad v angličtině

```
Trace an accumulator function

Trace this Python function on [3, -1, 4]: 'def running_sum(xs):
    total = 0
    out = []
    for x in xs:
        total += x
        out.append(total)
    return out'. Give a row for each iteration showing x, total and out, then the return value. Explain in one sentence why out differs from doubling each element.
```

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

```
A three-row state trace, the final list and one sentence distinguishing cumulative addition from elementwise multiplication.
```

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

```
Each row uses the prior total, including the negative input, rather than restarting the accumulator.
```

**Ailoot Ultra · OpenAI Chat** `POST /v1/chat/completions` `mistralai/mistral-small-3.1-24b-instruct`

[`mistralai/mistral-small-3.1-24b-instruct`](https://ailoot.ai/models/cs/#m=mistralai%2Fmistral-small-3.1-24b-instruct&route=Ultra&caller=mistralai%2Fmistral-small-3.1-24b-instruct&fmt=chat)

Mistral /`mistralai/mistral-small-3.1-24b-instruct`

### Úvod

Mistral Small 3.1 24B Instruct 2503 přidává řadě Small 3 porozumění obrázkům a kontext 128 tisíc tokenů uváděný výrobcem. V samostatném vydání vyladěném pro plnění pokynů spojuje vícejazyčný text, programování a matematické uvažování se systémovými pokyny, JSON a nativním voláním funkcí.

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 mistralai/mistral-small-3.1-24b-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

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

Režim flex

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

Maximální intenzita uvažování

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

#### Sazby Ailoot

#### Ceny podle konfigurace

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

| Konfigurace | Tabulka sazeb | Tokeny kontextu, více než | Tokeny kontextu, do uvedené hodnoty včetně | Poplatek |
| --- | --- | --- | --- | --- |
| KonfiguraceZákladní sazby za tokeny | Tabulka sazebZákladní sazba | Tokeny kontextu, více než— | Tokeny kontextu, do uvedené hodnoty včetněBez horní meze | Poplatek Vstup · Vstupní tokeny **$0.0011** / 1K tokenů Výstup · Výstupní tokeny **$0.00111** / 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ů |
| KonfiguracePásmo délky požadavku 1 | Tabulka sazeb— | Tokeny kontextu, více než0 | Tokeny kontextu, do uvedené hodnoty včetněBez horní meze | Poplatek Vstup · Vstupní tokeny **$0.0011** / 1K tokenů Výstup · Výstupní tokeny **$0.00111** / 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": "mistralai/mistral-small-3.1-24b-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='mistralai/mistral-small-3.1-24b-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='mistralai/mistral-small-3.1-24b-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** [`mistralai/mistral-small-3.1-24b-instruct`](https://ailoot.ai/models/cs/#m=mistralai%2Fmistral-small-3.1-24b-instruct&route=Ultra&caller=mistralai%2Fmistral-small-3.1-24b-instruct&fmt=chat)

#### Aliasy cest metod

Použijte cesty metod uvedené výše.

#### Související ID modelů

[`mistralai/mistral-small-3.1-24b-instruct`](https://ailoot.ai/models/cs/#m=mistralai%2Fmistral-small-3.1-24b-instruct&route=Ultra&caller=mistralai%2Fmistral-small-3.1-24b-instruct&fmt=chat)

**Ailoot Ultra · Anthropic Messages** `POST /v1/messages` `mistralai/mistral-small-3.1-24b-instruct`

[`mistralai/mistral-small-3.1-24b-instruct`](https://ailoot.ai/models/cs/#m=mistralai%2Fmistral-small-3.1-24b-instruct&route=Ultra&caller=mistralai%2Fmistral-small-3.1-24b-instruct&fmt=messages)

Mistral /`mistralai/mistral-small-3.1-24b-instruct`

### Úvod

Mistral Small 3.1 24B Instruct 2503 přidává řadě Small 3 porozumění obrázkům a kontext 128 tisíc tokenů uváděný výrobcem. V samostatném vydání vyladěném pro plnění pokynů spojuje vícejazyčný text, programování a matematické uvažování se systémovými pokyny, JSON a nativním voláním funkcí.

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 mistralai/mistral-small-3.1-24b-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

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

Režim flex

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

Maximální intenzita uvažování

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

#### Sazby Ailoot

#### Ceny podle konfigurace

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

| Konfigurace | Tabulka sazeb | Tokeny kontextu, více než | Tokeny kontextu, do uvedené hodnoty včetně | Poplatek |
| --- | --- | --- | --- | --- |
| KonfiguraceZákladní sazby za tokeny | Tabulka sazebZákladní sazba | Tokeny kontextu, více než— | Tokeny kontextu, do uvedené hodnoty včetněBez horní meze | Poplatek Vstup · Vstupní tokeny **$0.0011** / 1K tokenů Výstup · Výstupní tokeny **$0.00111** / 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ů |
| KonfiguracePásmo délky požadavku 1 | Tabulka sazeb— | Tokeny kontextu, více než0 | Tokeny kontextu, do uvedené hodnoty včetněBez horní meze | Poplatek Vstup · Vstupní tokeny **$0.0011** / 1K tokenů Výstup · Výstupní tokeny **$0.00111** / 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": "mistralai/mistral-small-3.1-24b-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': 'mistralai/mistral-small-3.1-24b-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': 'mistralai/mistral-small-3.1-24b-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** [`mistralai/mistral-small-3.1-24b-instruct`](https://ailoot.ai/models/cs/#m=mistralai%2Fmistral-small-3.1-24b-instruct&route=Ultra&caller=mistralai%2Fmistral-small-3.1-24b-instruct&fmt=messages)

#### Aliasy cest metod

Použijte cesty metod uvedené výše.

#### Související ID modelů

[`mistralai/mistral-small-3.1-24b-instruct`](https://ailoot.ai/models/cs/#m=mistralai%2Fmistral-small-3.1-24b-instruct&route=Ultra&caller=mistralai%2Fmistral-small-3.1-24b-instruct&fmt=messages)

FAQ · Mistral: Mistral Small 3.1 24B

Jaké vstupy a výsledky jsou dostupné?

`POST /v1/chat/completions` · `mistralai/mistral-small-3.1-24b-instruct`: `text` → `text` `POST /v1/messages` · `mistralai/mistral-small-3.1-24b-instruct`: `text` → `json`, `sse`

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

`POST /v1/chat/completions` · `mistralai/mistral-small-3.1-24b-instruct`: `model`, `messages`, `stream`, `modalities`, `provider` `POST /v1/messages` · `mistralai/mistral-small-3.1-24b-instruct`: `model`, `messages`, `max_tokens`, `stream`

Jaké limity platí?

`POST /v1/chat/completions` · `mistralai/mistral-small-3.1-24b-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.
