modely

Mistral: Mistral Medium 3.1

Markdown · JSON

Mistral: Mistral Medium 3.1

Mistral Medium 3.1 je model pro textový a obrazový vstup určený ke konverzačním odpovědím, otázkám k dokumentům a strukturované extrakci. Jeho kontext 128 tisíc tokenů uváděný výrobcem a uvedené funkce volání funkcí, předpovězeného výstupu a prefixů podporují vysvětlení založená na zdrojích a cílené postupy úprav.

O modelu

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

Mistral Medium 3.1 je multimodální edice Mistral AI pro porozumění textu a vizuálním materiálům. Výrobce popisuje tuto revizi jako zlepšení tónu a výkonu v řadě Medium 3. Přijímá text a obrázky a vytváří text: vysvětlení, odpověď k dokumentu, strukturovaný záznam nebo navržené volání funkce. Pevný identifikátor výrobce pro tuto edici je mistral-medium-2508.

Kontext a konkrétní edice

Stránka modelu dokumentuje kontextové okno 128 tisíc tokenů. Využijte je k zachování souvisejících zdrojových pasáží, obrazových podkladů, konverzace a úlohy uživatele pohromadě. Než dodáte rozsáhlou kolekci, určete role dokumentů a otázku k zodpovězení. Dlouhý kontext může podpořit cílené srovnání, zatímco konečný artefakt zůstane krátkou tabulkou nebo upravenou sekcí.

Medium 3.1 si zachovává vlastní specifikaci. Kontext 256 tisíc tokenů, hustou architekturu se 128 miliardami parametrů a nastavitelné hybridní režimy uvažování popsané pro Medium 3.5 nelze přiřazovat této položce. Stránka 3.1 neposkytuje počet parametrů ani samostatný údaj maximální délky odpovědi, které by bylo možné bezpečně nahradit údaji pozdějšího modelu.

Strukturovaný výstup a funkce

Výrobce mezi funkcemi této edice uvádí strukturované výstupy, volání funkcí a předpovězené výstupy. Pro strukturovanou extrakční úlohu definujte požadovaná pole, očekávané typy a zacházení s informacemi chybějícími ve zdroji. Záznam může obsahovat identifikátor dokumentu, extrahované tvrzení, jeho zdrojové umístění a otázku, která zůstává. Požadujte samotný záznam, pokud jej bude parsovat program, nebo ponechte textové vysvětlení oddělené, pokud někdo musí zkontrolovat výklad.

Společná dokumentace strukturovaného výstupu Mistral rozlišuje režim JSON a vlastní schéma. Režim JSON vyžaduje výslovný pokyn k požadovanému formátu JSON, zatímco vlastní cesta definuje konkrétnější strukturu. Jde o formátování textového výsledku, nikoli o novou obsahovou modalitu nebo externí akci.

Při volání funkcí aplikace definuje dostupnou operaci a její argumenty, model vybere vhodné volání a připraví hodnoty argumentů a aplikace operaci provede. Výsledek operace se poté stane podkladem pro další odpověď. Dokumentový asistent může pomocí vyhledání získat chybějící referenční data, ale pouze pokud okolní aplikace toto vyhledání poskytuje a vrací jeho skutečný výsledek. Navržené volání a vrácená data udržujte vzájemně propojené.

Předpovězené úpravy a prefixy odpovědí

Předpovězené výstupy jsou užitečné, když je většina požadovaného výsledku již známa, například dokument nebo soubor kódu potřebující omezenou úpravu. Dodejte existující obsah a popište změnu přesně, včetně toho, co musí zůstat nezměněné. Požadavek může aktualizovat terminologii jedné sekce nebo nahradit jeden implementační detail při zachování zbytku dokumentu. Předpověď obsahuje očekávaný výstupní obsah, nikoli dokončenou změnu aplikovanou na soubor.

Stránka modelu uvádí také pokračování od prefixu odpovědi. V konverzační dokumentaci výrobce prefix dodává známý začátek odpovědi asistenta, po němž generování pokračuje. Známý začátek a předpovězený obsah řeší různé problémy přípravy. Dávkové zpracování a rozhraní agenta či konverzace jsou podobně funkcemi postupu, nikoli samostatnými edicemi Medium 3.1 pro obraz, zvuk nebo uvažování.

Otázky k dokumentům a vizuálním materiálům

Uvedený postup document-QnA spojuje text, strukturu a formátování připravené pomocí OCR s analýzou jazykovým modelem. Ptejte se na konkrétní podmínku, pasáž nebo vztah požadovaný úlohou. Srovnání může určit zdrojové dokumenty a požadovat společná tvrzení, konflikty a nevyřešené detaily při zachování zdrojového umístění vedle každého zjištění.

Vizuální příručka výrobce výslovně zahrnuje Medium 3.1. Přímá vizuální otázka může dodat čitelný graf, obrázek dokumentu nebo snímek obrazovky a ptát se, které viditelné podklady podporují závěr. Zachovejte osy, jednotky, označení a kontext kolem oříznutého pole. Je-li dodáno několik obrázků, určete jejich pořadí a roli místo ponechání modelu, aby odvodil, který je originál, revize nebo reference.

Například spojte písemný požadavek procesu se snímkem obrazovky a požadujte tabulku viditelných shod, rozdílů a otázek vyžadujících více informací. Jiná úloha může dodat dvě verze dokumentu a žádat upravenou pasáž, která zachová jejich společné podmínky a vyřeší pojmenovaný nesoulad. Jde o navržená použití zdokumentovaných vizuálních, dokumentových a editačních schopností s předem definovaným požadovaným výsledkem.

Příprava konečného artefaktu

Dejte asistentovi jasnou roli, zdrojové materiály k použití a podobu odpovědi. Trvalá pravidla odpovědi odlišujte od zkoumaného dokumentu a uveďte cílový jazyk a terminologii. Užitečná odpověď může oddělit extrahovaná fakta, jejich zdroj a výklad, takže se kontroluje snáze než jediné sloučené shrnutí.

Zdokumentovaným výsledkem zůstává text. Externí nástroje, změny souborů a další zpracování dokumentů patří aplikaci připojené ke konverzaci. Zachovejte pojmenovanou edici Medium 3.1 a její kontext 128 tisíc tokenů a požadujte vysvětlení, strukturovaný záznam nebo cílenou revizi, které další krok skutečně potřebuje.

Praktická úloha

Praktická úloha

Technický příklad v angličtině

Apply a narrow terminology edit

Revise only the terminology in this paragraph: 'A subscriber can pause the plan. The subscriber keeps access until the current period ends. Support can help the subscriber resume.' Replace 'subscriber' with 'member', adapting capitalization, and keep every condition and sentence order. Return the revised paragraph alone, without claiming a file was modified.

Očekávaný výsledek

The complete revised paragraph with the requested terminology change only.

Ověření výsledku

The access-until-period-end condition and pause/resume distinction must remain intact.
Ailoot Ultra · OpenAI Chat POST /v1/chat/completions mistralai/mistral-medium-3.1

mistralai/mistral-medium-3.1

Mistral /mistralai/mistral-medium-3.1

Úvod

Mistral Medium 3.1 je model pro textový a obrazový vstup určený ke konverzačním odpovědím, otázkám k dokumentům a strukturované extrakci. Jeho kontext 128 tisíc tokenů uváděný výrobcem a uvedené funkce volání funkcí, předpovězeného výstupu a prefixů podporují vysvětlení založená na zdrojích a cílené postupy úprav.

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
PoleTypPožadavekHodnoty a limityVýchozí
PolemodelTypstringPožadavekPovinnéHodnoty a limity
mistralai/mistral-medium-3.1
Výchozí—
PolemessagesTypmessage[]PožadavekPovinnéHodnoty a limity
Minimální počet položek: 1
Výchozí—
Polemessages[].roleTypstringPož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í—
Polemessages[].contentTypstring|content_part[]|nullPožadavekVolitelnéHodnoty a limityVýchozí—
Polemessages[].tool_callsTyptool_call[]PožadavekVolitelnéHodnoty a limityVýchozí—
Polemessages[].tool_call_idTypstringPožadavekVolitelnéHodnoty a limity
Platí, když: role=tool; použijte skutečně vrácené ID
Výchozí—
Polemessages[].nameTypstringPožadavekVolitelnéHodnoty a limityVýchozí—
Polemessages[].reasoning_contentTypstringPož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í—
Polemessages[].reasoning_detailsTypobject|arrayPožadavekVolitelnéHodnoty a limity
Závisí na modelu
Výchozí—
Polemax_tokensTypintegerPožadavekVolitelnéHodnoty a limity
Minimum: 1
Závisí na modelu
Výchozí—
Polemax_completion_tokensTypintegerPožadavekVolitelnéHodnoty a limity
Minimum: 1
Závisí na modelu
Výchozí—
PolestreamTypbooleanPožadavekVolitelnéHodnoty a limityVýchozífalse
Polestream_options.include_usageTypbooleanPožadavekVolitelnéHodnoty a limity
Závisí na modelu
Výchozí—
PoletemperatureTypnumberPožadavekVolitelnéHodnoty a limity
Závisí na modelu
Výchozí—
Poletop_pTypnumberPožadavekVolitelnéHodnoty a limity
Závisí na modelu
Výchozí—
PolestopTypstring|string[]PožadavekVolitelnéHodnoty a limity
Závisí na modelu
Výchozí—
PoletoolsTypfunction_tool[]PožadavekVolitelnéHodnoty a limity
Závisí na modelu
Výchozí—
Poletools[].typeTypstringPožadavekVolitelnéHodnoty a limity
function
Závisí na modelu
Výchozí—
Poletools[].function.nameTypstringPožadavekPovinnéHodnoty a limity
Platí, když: nástroj typu funkce je dodán
Výchozí—
Poletools[].function.descriptionTypstringPožadavekVolitelnéHodnoty a limityVýchozí—
Poletools[].function.parametersTypJSON_schemaPožadavekVolitelnéHodnoty a limityVýchozí—
Poletool_choiceTypstring|objectPožadavekVolitelnéHodnoty a limity
Závisí na modelu
Výchozí—
Poleparallel_tool_callsTypbooleanPožadavekVolitelnéHodnoty a limity
Závisí na modelu
Výchozí—
Poleresponse_formatTypobjectPožadavekVolitelnéHodnoty a limity
Závisí na modelu
Výchozí—
Polereasoning_effortTypstringPožadavekVolitelnéHodnoty a limity
Závisí na modelu
Výchozí—
PolereasoningTypobjectPožadavekVolitelnéHodnoty a limity
Závisí na modelu
Výchozí—
Poleservice_tierTypstringPožadavekVolitelnéHodnoty a limity
Závisí na modelu
Výchozí—
PoleinstructionsTypstringPožadavekVolitelnéHodnoty a limity
Pole kompatibility
Výchozí—
PolefunctionsTypfunction[]PožadavekVolitelnéHodnoty a limity
Závisí na modelu
Výchozí—
Polefunction_callTypstring|objectPožadavekVolitelnéHodnoty a limity
Závisí na modelu
Výchozí—
Poleprompt_cache_optionsTypobjectPožadavekVolitelnéHodnoty a limity
Závisí na modelu
Výchozí—
PolemodalitiesTypstring[]PožadavekVolitelnéHodnoty a limity
text
Výchozí—
PoleproviderTypobjectPožadavekVolitelnéHodnoty a limity
Podmínky: provider.options je na této textové trase Ultra odmítáno
Výchozí—
Polecache_control.ttlTypstringPož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
ParametrKontrakt
Parametrcontent_typeKontraktapplication/json
ParametrrequiredKontraktmodel, messages
Parametrmaterial_typesKontrakttext
ParametrmessagesKontraktpole zpráv se strukturou role/content
Parametrfile_materialKontraktskutečný dokument UTF-8 vložený jako doslovný text; ID souboru se neodvozuje
Parametroptional_controlsKontraktstream, temperature, top_p, stop, max_tokens, max_completion_tokens, reasoning, response_format, tools, tool_choice
Parametrcontrol_scopeKontraktspecifické pro model; nástroje uživatelských funkcí se liší od hostovaných nástrojů
Parametroutput_modalitiesKontrakttext
Parametrhosted_operationsKontraktfalse
Parametrmultimodal_input_bindingKontraktnull

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

KonfiguraceTabulka sazebTokeny kontextu, více nežTokeny kontextu, do uvedené hodnoty včetněPoplatek
KonfiguraceZákladní sazby za tokenyTabulka sazebZákladní sazbaTokeny kontextu, více než—Tokeny kontextu, do uvedené hodnoty včetněBez horní mezePoplatek
Vstup · Vstupní tokeny $0.0008 / 1K tokenů
Výstup · Výstupní tokeny $0.004 / 1K tokenů
Vstup · Čtení z mezipaměti $0.00008 / 1K tokenů
Vstup · Zápis do mezipaměti — / 1K tokenů
Vstup · Zápis do mezipaměti, 1 hodina — / 1K tokenů
KonfiguracePásmo délky požadavku 1Tabulka sazeb—Tokeny kontextu, více než0Tokeny kontextu, do uvedené hodnoty včetněBez horní mezePoplatek
Vstup · Vstupní tokeny $0.0008 / 1K tokenů
Výstup · Výstupní tokeny $0.004 / 1K tokenů
Vstup · Čtení z mezipaměti $0.00008 / 1K tokenů
Vstup · Zápis do mezipaměti — / 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í →

Příklady požadavků

Ailoot Ultra · OpenAI Chat

curlPython SDKStreamování v Pythonu
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-medium-3.1", "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
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-medium-3.1',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"))
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-medium-3.1',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
PoleTyp
Polechoices[].indexTypinteger
Polechoices[].message.contentTypstring|null
Polechoices[].message.tool_callsTyptool_call[]
Polechoices[].message.reasoning_contentTypstring
Polechoices[].message.reasoning_detailsTypobject|array
Polechoices[].finish_reasonTypstring|null
PoleusageTypobject
Chyby a další kroky
OdpověďPodmínkaDalší krok
Odpověď400 · invalid_request_errorPodmínkaNeplatná povinná pole, reprezentace podkladů nebo hodnota parametruDalší krokPřed novým požadavkem na vytvoření opravte uvedená pole.

Aliasy

Aliasy modelu

Ailoot Ultra mistralai/mistral-medium-3.1

Aliasy cest metod

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

Související ID modelů

mistralai/mistral-medium-3.1

Ailoot Ultra · Anthropic Messages POST /v1/messages mistralai/mistral-medium-3.1

mistralai/mistral-medium-3.1

Mistral /mistralai/mistral-medium-3.1

Úvod

Mistral Medium 3.1 je model pro textový a obrazový vstup určený ke konverzačním odpovědím, otázkám k dokumentům a strukturované extrakci. Jeho kontext 128 tisíc tokenů uváděný výrobcem a uvedené funkce volání funkcí, předpovězeného výstupu a prefixů podporují vysvětlení založená na zdrojích a cílené postupy úprav.

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
PoleTypPožadavekHodnoty a limityVýchozí
PolemodelTypstringPožadavekPovinnéHodnoty a limity
mistralai/mistral-medium-3.1
Výchozí—
PolemessagesTypmessage[]PožadavekPovinnéHodnoty a limityVýchozí—
Polemessages[].roleTypstringPožadavekPovinnéHodnoty a limity
user, assistant
Výchozí—
Polemessages[].contentTypstringPožadavekPovinnéHodnoty a limityVýchozí—
Polemax_tokensTypintegerPožadavekPovinnéHodnoty a limityVýchozí—
PolestreamTypbooleanPožadavekVolitelnéHodnoty a limityVýchozífalse
Kombinace vstupních materiálů

Text · text UTF-8

řetězec messages[].content

Parametry a životní cyklus metody
ParametrKontrakt
Parametrcontent_typeKontraktapplication/json
ParametrrequiredKontraktmodel, messages, max_tokens
Parametroptional_controlsKontraktstream
Parametrmaterial_typesKontrakttext
Parametrtext_file_materialKontraktPř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.

KonfiguraceTabulka sazebTokeny kontextu, více nežTokeny kontextu, do uvedené hodnoty včetněPoplatek
KonfiguraceZákladní sazby za tokenyTabulka sazebZákladní sazbaTokeny kontextu, více než—Tokeny kontextu, do uvedené hodnoty včetněBez horní mezePoplatek
Vstup · Vstupní tokeny $0.0008 / 1K tokenů
Výstup · Výstupní tokeny $0.004 / 1K tokenů
Vstup · Čtení z mezipaměti $0.00008 / 1K tokenů
Vstup · Zápis do mezipaměti — / 1K tokenů
Vstup · Zápis do mezipaměti, 1 hodina — / 1K tokenů
KonfiguracePásmo délky požadavku 1Tabulka sazeb—Tokeny kontextu, více než0Tokeny kontextu, do uvedené hodnoty včetněBez horní mezePoplatek
Vstup · Vstupní tokeny $0.0008 / 1K tokenů
Výstup · Výstupní tokeny $0.004 / 1K tokenů
Vstup · Čtení z mezipaměti $0.00008 / 1K tokenů
Vstup · Zápis do mezipaměti — / 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í →

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
{
  "model": "mistralai/mistral-medium-3.1",
  "max_tokens": 128,
  "messages": [
    {
      "role": "user",
      "content": "Summarize the incident report."
    }
  ],
  "stream": false
}
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-medium-3.1', '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
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-medium-3.1', '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
PoleTyp
PoleidTypstring
PolemodelTypstring
Polecontent[]Typtext|thinking|tool_use|other content block
Polestop_reasonTypstring|null
PoleusageTypobject
Chyby a další kroky
OdpověďPodmínkaDalší krok
Odpověď400 · invalid_request_errorPodmínkaNeplatná povinná pole, reprezentace podkladů nebo hodnota parametruDalší krokPřed novým požadavkem na vytvoření opravte uvedená pole.

Aliasy

Aliasy modelu

Ailoot Ultra mistralai/mistral-medium-3.1

Aliasy cest metod

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

Související ID modelů

mistralai/mistral-medium-3.1

FAQ · Mistral: Mistral Medium 3.1
Jaké vstupy a výsledky jsou dostupné?

POST /v1/chat/completions · mistralai/mistral-medium-3.1: text → text

POST /v1/messages · mistralai/mistral-medium-3.1: text → json, sse

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

POST /v1/chat/completions · mistralai/mistral-medium-3.1: model, messages, stream, modalities, provider

POST /v1/messages · mistralai/mistral-medium-3.1: model, messages, max_tokens, stream

Jaké limity platí?

POST /v1/chat/completions · mistralai/mistral-medium-3.1: messages.min_items: 1

Další podrobnosti

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é · Zobrazit ceny modelů

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 · Nabídka a licenční smlouva