Modelle

Mistral: Mistral Small 3.1 24B

Markdown · JSON

Mistral: Mistral Small 3.1 24B

Mistral Small 3.1 24B Instruct 2503 ergänzt die Small-3-Linie um Bildverständnis und einen vom Hersteller angegebenen Kontext von 128k. Es verbindet mehrsprachigen Text, Programmierung und mathematisches schlussfolgerndes Denken mit Systemanweisungen, JSON und nativen Funktionsaufrufen in einer eigenen, auf Anweisungen abgestimmten Veröffentlichung.

Über das Modell

Diese Beschreibung erläutert die Fähigkeiten des Modells. Die über Ailoot verfügbaren Eingaben, Ausgaben und Optionen sind unten für die ausgewählte Methode aufgeführt.

Mistral Small 3.1 24B Instruct 2503 baut auf Small 3 2501 auf, ergänzt visuelles Verständnis und erweitert die Unterstützung für lange Kontexte auf 128k Tokens. Es hat 24 Milliarden Parameter und ist auf Basis der gesondert benannten Veröffentlichung Small 3.1 Base auf Anweisungen abgestimmt. Das Modell nimmt Text und Bilder entgegen und erzeugt Text, darunter eine Erklärung, Code oder einen strukturierten Datensatz.

Zentrale Fähigkeiten

Vision ermöglicht dem Modell, sichtbares Material zusammen mit der Frage des Nutzers zu analysieren. Ein Dokumentbild kann das zu prüfende Feld oder die Aussage liefern, eine schematische Darstellung die zu erklärende Beziehung und ein Diagramm die Daten hinter einem Vergleich. Halten Sie Beschriftungen, Einheiten und relevante umgebende Inhalte lesbar, damit sich die Frage auf tatsächlich im Bild vorhandene Belege bezieht.

Der Hersteller nennt mehrsprachige Unterstützung für Dutzende Sprachen, darunter Russisch, Englisch, Französisch, Deutsch, Griechisch, Hindi, Indonesisch, Italienisch, Japanisch, Koreanisch, Malaiisch, Nepali, Polnisch, Portugiesisch, Rumänisch, Serbisch, Spanisch, Schwedisch, Türkisch, Ukrainisch, Vietnamesisch, Arabisch, Bengalisch, Chinesisch und Farsi. Definieren Sie für eine mehrsprachige Antwort die Zielsprache, Zielgruppe und Terminologie. Namen, zitierte Bezeichnungen, Variablenkennungen und Einheiten können unverändert bleiben, während der umgebende Fließtext angepasst wird.

Die Modellkarte beschreibt außerdem Gesprächs- und Reasoning-Fähigkeiten, native Funktionsaufrufe, JSON-Ausgaben und die Einhaltung von Systemprompts. Der Tokenizer ist Tekken mit einem als 131k bezeichneten Vokabular. Dies sind Funktionen der benannten, auf Anweisungen abgestimmten Veröffentlichung; ihre Base-Ausgabe erfüllt eine andere Rolle, und die späteren Veröffentlichungen Small 3.2 und Small 4 behalten ihre eigenen Änderungen und Modi.

Vorbereitung von Dokument-, Programmier- und Mathematikaufgaben

Benennen Sie für eine Aufgabe mit langen Dokumenten die Dokumente und stellen Sie eine klar definierte Frage. Ein Vergleich kann eine Anforderungsmatrix mit Aussage, Quellabschnitt und möglichen Widersprüchen zwischen Dokumenten verlangen. Eine Zusammenfassung kann nur das Material abfragen, das für eine benannte Änderung relevant ist. Der lange Kontext hält diese Quellen zusammen, während die endgültige Antwort knapp bleiben kann.

Geben Sie für eine Codeerklärung die Funktion und die Eingabe an, deren Verhalten nachvollzogen werden soll. Fügen Sie relevante Hilfsfunktionen oder Deklarationen bei und fragen Sie, wie sich der Zustand verändert, bevor der Wert zurückgegeben wird. Nennen Sie für eine vorgeschlagene Änderung die Anforderung, die zu bewahrende öffentliche Schnittstelle und die erwartete Ausgabe. Verlangen Sie den überarbeiteten Code getrennt von Erklärung und Beispielen.

Definieren Sie für eine mathematische Aufgabe Symbole und Annahmen zum Definitionsbereich, bevor Sie eine Herleitung verlangen. Geben Sie an, ob das Endergebnis exakt, gerundet oder ein Beweis einer Behauptung sein soll. Steht die Bedingung in einem Bild, halten Sie die Formel und zugehörigen Beschriftungen klar und bitten Sie das Modell, diese Notation in seiner Antwort zu bewahren. Diese Vorbereitungen überführen den dokumentierten Schwerpunkt des Modells auf Programmierung und mathematisches Reasoning in ein überprüfbares Artefakt.

Anweisungsformat und empfohlene Nutzung

Der Hersteller veröffentlicht eine V7-Tekken-Gesprächsvorlage, die System-, Nutzer- und Assistentenrollen unterscheidet, und empfiehlt die passende Tokenizer-Implementierung als maßgebliche Grundlage. Eine Systemanweisung sollte Rolle und Antwortregeln des Assistenten definieren, während die Nutzernachricht die eigentliche Aufgabe und das Quellenmaterial enthält. Eine korrekte Gesprächsformatierung ist etwas anderes als rollenähnliche Bezeichnungen in einem zitierten Dokument.

Die Modellkarte empfiehlt eine relativ niedrige Temperatur, etwa 0.15, und einen auf den Anwendungsfall zugeschnittenen Systemprompt. Definieren Sie die Ausgabefelder oder Abschnitte sowie die Bedingungen, die eine Überarbeitung überstehen müssen. Verlangen Sie für wiederholte Extraktion JSON mit festgelegten Namen und Typen sowie eine Darstellung für Werte, die in der Quelle fehlen. Ein erklärender Absatz kann getrennt zurückgegeben werden, wenn eine Person die Interpretation prüfen muss.

Ablauf von Funktionsaufrufen

Das Modell kann eine Funktion aus den von der Anwendung beschriebenen Werkzeugen auswählen und ihre Argumente erzeugen. Die Anwendung führt die Funktion aus, liefert das Ergebnis mit dem zugehörigen Werkzeugaufruf zurück, und das Modell nutzt dieses Ergebnis in einer nachfolgenden Antwort. Das Beispiel des Herstellers zeigt diesen Gesprächszyklus einschließlich früherer Werkzeugnutzung und einer neuen Nutzerfrage. Eine vorgeschlagene Abfrage unterscheidet sich daher von den tatsächlich durch die Abfrage zurückgegebenen Daten.

Ein praktischer Assistent könnte zuerst eine Frage aus einem Dokument extrahieren und anschließend eine bereitgestellte Referenzfunktion nutzen, um eine fehlende Bedingung zu erhalten. Beschreiben Sie die Funktion klar, fügen Sie ihre erforderlichen Argumente bei und ordnen Sie das zurückgegebene Ergebnis der auslösenden Operation zu. JSON ordnet ein Textergebnis; ein Funktionsaufruf fordert eine verbundene Operation an, statt stillschweigend Code auszuführen oder eine Datenbank zu lesen.

Inhaltliche Grenzen

Die dokumentierte visuelle Fähigkeit liest Bilder; sie erzeugt sie nicht. Die Assistentenhinweise der veröffentlichten Modellkarte grenzen dieses Modell außerdem von Audio- und Videotranskription ab, sodass eine gesprochene oder videobezogene Frage ihren relevanten Inhalt durch einen geeigneten gesonderten Vorbereitungsschritt bereitstellen muss. Webzugriff und externe Aktionen kommen ebenfalls von verbundenen Werkzeugen und nicht vom Text- und Bildmodell allein.

Der Kontext von 128k betrifft die Eingabe der Aufgabe und das erzeugte Gespräch, während das Generierungsbeispiel mit 512 Tokens in der Modellkarte nur eine Beispieleinstellung ist. In den gelesenen Quellen wird keine gesonderte harte Kapazität für die Antwortlänge angegeben. Bewahren Sie die genaue Ausgabe Instruct 2503, ihr Gesprächsformat und das gewünschte Erklärungs-, Datensatz- oder Codeartefakt.

Praktische Aufgabe

Praktische Aufgabe

Technisches Beispiel auf Englisch

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.

Erwartetes Ergebnis

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

Ergebnis prüfen

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

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

Einstieg

Mistral Small 3.1 24B Instruct 2503 ergänzt die Small-3-Linie um Bildverständnis und einen vom Hersteller angegebenen Kontext von 128k. Es verbindet mehrsprachigen Text, Programmierung und mathematisches schlussfolgerndes Denken mit Systemanweisungen, JSON und nativen Funktionsaufrufen in einer eigenen, auf Anweisungen abgestimmten Veröffentlichung.

Zulässige Eingaben
Text
Ergebnisse
Text

In Ailoot verfügbar · Eingaben und Methoden

Ailoot Ultra · OpenAI Chat POST /v1/chat/completions
Eingabe
text
Ausgabe
text
Ausgabeformat
json oder SSE
FeldTypAnforderungWerte und LimitsStandard
FeldmodelTypstringAnforderungErforderlichWerte und Limits
mistralai/mistral-small-3.1-24b-instruct
Standard—
FeldmessagesTypmessage[]AnforderungErforderlichWerte und Limits
Mindestanzahl Elemente: 1
Standard—
Feldmessages[].roleTypstringAnforderungErforderlichWerte und Limits
Beispiele: system, user, assistant, tool, function
Bedingungen: Diese Rollen sind in den Kompatibilitätstypen des Quellcodes ausdrücklich dargestellt; der genaue Rollenumfang bleibt modellspezifisch.
Modellabhängig
Standard—
Feldmessages[].contentTypstring|content_part[]|nullAnforderungOptionalWerte und LimitsStandard—
Feldmessages[].tool_callsTyptool_call[]AnforderungOptionalWerte und LimitsStandard—
Feldmessages[].tool_call_idTypstringAnforderungOptionalWerte und Limits
Gilt, wenn: role=tool; die tatsächlich zurückgegebene ID verwenden
Standard—
Feldmessages[].nameTypstringAnforderungOptionalWerte und LimitsStandard—
Feldmessages[].reasoning_contentTypstringAnforderungOptionalWerte und Limits
Gilt, wenn: Tatsächlich zurückgegebene Reasoning-Daten erneut übermitteln, sofern dieses Modell sie verwendet
Standard—
Feldmessages[].reasoning_detailsTypobject|arrayAnforderungOptionalWerte und Limits
Modellabhängig
Standard—
Feldmax_tokensTypintegerAnforderungOptionalWerte und Limits
Minimum: 1
Modellabhängig
Standard—
Feldmax_completion_tokensTypintegerAnforderungOptionalWerte und Limits
Minimum: 1
Modellabhängig
Standard—
FeldstreamTypbooleanAnforderungOptionalWerte und LimitsStandardfalse
Feldstream_options.include_usageTypbooleanAnforderungOptionalWerte und Limits
Modellabhängig
Standard—
FeldtemperatureTypnumberAnforderungOptionalWerte und Limits
Modellabhängig
Standard—
Feldtop_pTypnumberAnforderungOptionalWerte und Limits
Modellabhängig
Standard—
FeldstopTypstring|string[]AnforderungOptionalWerte und Limits
Modellabhängig
Standard—
FeldtoolsTypfunction_tool[]AnforderungOptionalWerte und Limits
Modellabhängig
Standard—
Feldtools[].typeTypstringAnforderungOptionalWerte und Limits
function
Modellabhängig
Standard—
Feldtools[].function.nameTypstringAnforderungErforderlichWerte und Limits
Gilt, wenn: Funktionswerkzeug bereitgestellt
Standard—
Feldtools[].function.descriptionTypstringAnforderungOptionalWerte und LimitsStandard—
Feldtools[].function.parametersTypJSON_schemaAnforderungOptionalWerte und LimitsStandard—
Feldtool_choiceTypstring|objectAnforderungOptionalWerte und Limits
Modellabhängig
Standard—
Feldparallel_tool_callsTypbooleanAnforderungOptionalWerte und Limits
Modellabhängig
Standard—
Feldresponse_formatTypobjectAnforderungOptionalWerte und Limits
Modellabhängig
Standard—
Feldreasoning_effortTypstringAnforderungOptionalWerte und Limits
Modellabhängig
Standard—
FeldreasoningTypobjectAnforderungOptionalWerte und Limits
Modellabhängig
Standard—
Feldservice_tierTypstringAnforderungOptionalWerte und Limits
Modellabhängig
Standard—
FeldinstructionsTypstringAnforderungOptionalWerte und Limits
Kompatibilitätsfeld
Standard—
FeldfunctionsTypfunction[]AnforderungOptionalWerte und Limits
Modellabhängig
Standard—
Feldfunction_callTypstring|objectAnforderungOptionalWerte und Limits
Modellabhängig
Standard—
Feldprompt_cache_optionsTypobjectAnforderungOptionalWerte und Limits
Modellabhängig
Standard—
FeldmodalitiesTypstring[]AnforderungOptionalWerte und Limits
text
Standard—
FeldproviderTypobjectAnforderungOptionalWerte und Limits
Bedingungen: provider.options wird auf dieser Ultra-Textroute abgelehnt
Standard—
Feldcache_control.ttlTypstringAnforderungOptionalWerte und Limits
Bedingungen: 1h wird in den tatsächlichen Prompt-Cache-Feldern abgelehnt
Standard—
Kombinationen von Eingabematerialien

Text · UTF8-Text

messages[].content

Methodenparameter und Lebenszyklus
ParameterVertrag
Parametercontent_typeVertragapplication/json
ParameterrequiredVertragmodel, messages
Parametermaterial_typesVertragtext
ParametermessagesVertragNachrichtenarray mit role/content-Struktur
Parameterfile_materialVertragTatsächliches UTF-8-Dokument als wörtlicher Text eingefügt; keine Datei-ID abgeleitet
Parameteroptional_controlsVertragstream, temperature, top_p, stop, max_tokens, max_completion_tokens, reasoning, response_format, tools, tool_choice
Parametercontrol_scopeVertragModellspezifisch; benutzerseitige Funktionswerkzeuge unterscheiden sich von gehosteten Werkzeugen
Parameteroutput_modalitiesVertragtext
Parameterhosted_operationsVertragfalse
Parametermultimodal_input_bindingVertragnull

Lebenszyklus: synchronous_or_streamed

Die genaue Modell-ID zusammen mit messages senden.

Die Kontextlänge ist keine Ausgabeobergrenze.

Eine Textdatei kann wörtlichen Text liefern; Bild-, Audio- und Dateiobjekteingaben benötigen eine exakte Zuordnung.

Tarife

Tarifangaben erweitern die Anfrageoptionen nicht. Unterstützte Parameter stehen bei der ausgewählten Methode.

Schnellmodus
Standardtarif Wenn der Schnellmodus ausgewählt ist
Flex-Modus
Standardtarif Wenn der Modus flex ausgewählt ist
Maximaler Denkaufwand
Standardtarif Wenn beim maximalen Denkaufwand die Standardanpassung (default) verwendet wird

Ailoot-Tarife

Preise nach Konfiguration

Ordnen Sie jede Gebühr den angezeigten Bedingungen zu. Verwenden Sie für jede Gruppe alternativer Konfigurationen einen Tarif.

KonfigurationTarifstaffelKontexttoken, mehr alsKontexttoken, bis einschließlichGebühr
KonfigurationBasistarife für TokenTarifstaffelGrundtarifKontexttoken, mehr als—Kontexttoken, bis einschließlichKeine ObergrenzeGebühr
Eingabe · Eingabetoken $0.0011 / 1K Tokens
Ausgabe · Ausgabetoken $0.00111 / 1K Tokens
Eingabe · Cache lesen $0 / 1K Tokens
Eingabe · In Cache schreiben $0 / 1K Tokens
Eingabe · In Cache schreiben, 1 Stunde — / 1K Tokens
KonfigurationAnfragelängenstufe 1Tarifstaffel—Kontexttoken, mehr als0Kontexttoken, bis einschließlichKeine ObergrenzeGebühr
Eingabe · Eingabetoken $0.0011 / 1K Tokens
Ausgabe · Ausgabetoken $0.00111 / 1K Tokens
Eingabe · Cache lesen $0 / 1K Tokens
Eingabe · In Cache schreiben $0 / 1K Tokens
Eingabe · In Cache schreiben, 1 Stunde — / 1K Tokens

Ailoot reserviert vor einer Anfrage einen geschätzten Betrag. Nach dem Ergebnis rechnet Ailoot die endgültige Gebühr anhand des gemessenen Verbrauchs ab. Bei Streaming erfolgt die Abrechnung anhand des abschließenden Verbrauchsdatensatzes. So funktionieren Reservierung und Abrechnung →

Beispielanfragen

Ailoot Ultra · OpenAI Chat

curlPython SDKPython-Stream
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
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"))
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")

Ergebnisse abrufen und speichern

Ailoot Ultra · OpenAI Chat

json oder SSE

Alle fertiggestellten Ergebnisse aufbewahren

Bewahren Sie jede vollständig zurückgegebene Antwort, Datei und jeden Inhaltsteil auf.

Alle Antwortvarianten mit ihren Inhalten, Werkzeugaufrufen und Reasoning-Daten beibehalten. In SSE die Deltas nach Varianten- und Werkzeugindex zusammensetzen; endgültigen Beendigungsgrund und Verbrauchsdaten beibehalten.

Wenn die ursprüngliche Antwort geprüft werden muss

Anfrage- und Antwort-IDs sowie Header beibehalten. Eine allgemeine URL zum Abrufen von Textaufträgen wird nicht angegeben.

Antwortfelder
FeldTyp
Feldchoices[].indexTypinteger
Feldchoices[].message.contentTypstring|null
Feldchoices[].message.tool_callsTyptool_call[]
Feldchoices[].message.reasoning_contentTypstring
Feldchoices[].message.reasoning_detailsTypobject|array
Feldchoices[].finish_reasonTypstring|null
FeldusageTypobject
Fehler und nächste Schritte
AntwortBedingungNächster Schritt
Antwort400 · invalid_request_errorBedingungPflichtfelder, Darstellung des Eingabematerials oder Parameterwert ungültigNächster SchrittDie angegebenen Felder vor einer neuen Erstellungsanfrage korrigieren.

Aliasnamen

Modellaliasnamen

Ailoot Ultra mistralai/mistral-small-3.1-24b-instruct

Aliasnamen für Methodenpfade

Verwenden Sie die oben angezeigten Methodenpfade.

Zugehörige Aufrufer-IDs

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

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

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

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

Einstieg

Mistral Small 3.1 24B Instruct 2503 ergänzt die Small-3-Linie um Bildverständnis und einen vom Hersteller angegebenen Kontext von 128k. Es verbindet mehrsprachigen Text, Programmierung und mathematisches schlussfolgerndes Denken mit Systemanweisungen, JSON und nativen Funktionsaufrufen in einer eigenen, auf Anweisungen abgestimmten Veröffentlichung.

Zulässige Eingaben
Text
Ergebnisse
json · sse

In Ailoot verfügbar · Eingaben und Methoden

Ailoot Ultra · Anthropic Messages POST /v1/messages
Eingabe
text
Ausgabe
json, sse
Ausgabeformat
JSON oder SSE
FeldTypAnforderungWerte und LimitsStandard
FeldmodelTypstringAnforderungErforderlichWerte und Limits
mistralai/mistral-small-3.1-24b-instruct
Standard—
FeldmessagesTypmessage[]AnforderungErforderlichWerte und LimitsStandard—
Feldmessages[].roleTypstringAnforderungErforderlichWerte und Limits
user, assistant
Standard—
Feldmessages[].contentTypstringAnforderungErforderlichWerte und LimitsStandard—
Feldmax_tokensTypintegerAnforderungErforderlichWerte und LimitsStandard—
FeldstreamTypbooleanAnforderungOptionalWerte und LimitsStandardfalse
Kombinationen von Eingabematerialien

Text · UTF-8-Text

Zeichenfolge messages[].content

Methodenparameter und Lebenszyklus
ParameterVertrag
Parametercontent_typeVertragapplication/json
ParameterrequiredVertragmodel, messages, max_tokens
Parameteroptional_controlsVertragstream
Parametermaterial_typesVertragtext
Parametertext_file_materialVertragDas tatsächliche UTF-8-Dokument lesen und seinen Text in die angegebene Zeichenfolge für Eingabe oder Nachrichteninhalt einfügen.

Lebenszyklus: synchronous_or_streamed

Tarife

Tarifangaben erweitern die Anfrageoptionen nicht. Unterstützte Parameter stehen bei der ausgewählten Methode.

Schnellmodus
Standardtarif Wenn der Schnellmodus ausgewählt ist
Flex-Modus
Standardtarif Wenn der Modus flex ausgewählt ist
Maximaler Denkaufwand
Standardtarif Wenn beim maximalen Denkaufwand die Standardanpassung (default) verwendet wird

Ailoot-Tarife

Preise nach Konfiguration

Ordnen Sie jede Gebühr den angezeigten Bedingungen zu. Verwenden Sie für jede Gruppe alternativer Konfigurationen einen Tarif.

KonfigurationTarifstaffelKontexttoken, mehr alsKontexttoken, bis einschließlichGebühr
KonfigurationBasistarife für TokenTarifstaffelGrundtarifKontexttoken, mehr als—Kontexttoken, bis einschließlichKeine ObergrenzeGebühr
Eingabe · Eingabetoken $0.0011 / 1K Tokens
Ausgabe · Ausgabetoken $0.00111 / 1K Tokens
Eingabe · Cache lesen $0 / 1K Tokens
Eingabe · In Cache schreiben $0 / 1K Tokens
Eingabe · In Cache schreiben, 1 Stunde — / 1K Tokens
KonfigurationAnfragelängenstufe 1Tarifstaffel—Kontexttoken, mehr als0Kontexttoken, bis einschließlichKeine ObergrenzeGebühr
Eingabe · Eingabetoken $0.0011 / 1K Tokens
Ausgabe · Ausgabetoken $0.00111 / 1K Tokens
Eingabe · Cache lesen $0 / 1K Tokens
Eingabe · In Cache schreiben $0 / 1K Tokens
Eingabe · In Cache schreiben, 1 Stunde — / 1K Tokens

Ailoot reserviert vor einer Anfrage einen geschätzten Betrag. Nach dem Ergebnis rechnet Ailoot die endgültige Gebühr anhand des gemessenen Verbrauchs ab. Bei Streaming erfolgt die Abrechnung anhand des abschließenden Verbrauchsdatensatzes. So funktionieren Reservierung und Abrechnung →

Beispielanfragen

Ailoot Ultra · Anthropic Messages

Vollständiger minimaler JSON-Bodycurl · eigenes UTF-8-Dokument verwendenPython · das vollständige Ergebnis speichern
{
  "model": "mistralai/mistral-small-3.1-24b-instruct",
  "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-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
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))

Ergebnisse abrufen und speichern

Ailoot Ultra · Anthropic Messages

JSON oder SSE

Alle fertiggestellten Ergebnisse aufbewahren

Bewahren Sie jede vollständig zurückgegebene Antwort, Datei und jeden Inhaltsteil auf.

Alle Inhaltsblöcke, Thinking-Signaturen und tatsächlichen Werkzeugaufruf-IDs beibehalten. Alle SSE-Blockdeltas zusammensetzen; der erste Textblock ist nicht die vollständige Ausgabe.

Wenn die ursprüngliche Antwort geprüft werden muss

Anfrage- und Antwort-IDs sowie Header beibehalten. Eine allgemeine URL zum Abrufen von Textaufträgen wird nicht angegeben.

Antwortfelder
FeldTyp
FeldidTypstring
FeldmodelTypstring
Feldcontent[]Typtext|thinking|tool_use|other content block
Feldstop_reasonTypstring|null
FeldusageTypobject
Fehler und nächste Schritte
AntwortBedingungNächster Schritt
Antwort400 · invalid_request_errorBedingungPflichtfelder, Darstellung des Eingabematerials oder Parameterwert ungültigNächster SchrittDie angegebenen Felder vor einer neuen Erstellungsanfrage korrigieren.

Aliasnamen

Modellaliasnamen

Ailoot Ultra mistralai/mistral-small-3.1-24b-instruct

Aliasnamen für Methodenpfade

Verwenden Sie die oben angezeigten Methodenpfade.

Zugehörige Aufrufer-IDs

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

FAQ · Mistral: Mistral Small 3.1 24B
Welche Eingaben und Ergebnisse sind verfügbar?

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

Welche Felder verwendet die Anfrage?

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

Welche Grenzen gelten?

POST /v1/chat/completions · mistralai/mistral-small-3.1-24b-instruct: messages.min_items: 1

Weitere Details

Verbinden Sie Ailoot mit Claude Code, OpenCode, Hermes oder Ihrer eigenen Anwendung.

Das Unternehmen und sein Projektportfolio

Das Unternehmen und sein Projektportfolio: Millionen von Kunden; monatliche Umsätze in Milliardenhöhe.

Tokens mit Rabatt kaufen.

Aborabatt für regelmäßige Arbeit. Aktionscodes bieten bis 50% beim Tokenkauf.

Abo
Wählen Sie einen Tarif mit Rabatt für Ihre regelmäßigen Anfragen.
Aktionscode bis 50%
Geben Sie den Code beim Kauf ein. Der Preis wird nach den gültigen Aktionsbedingungen berechnet.
Ausgaben in der Historie
Modell, Tokens und Betrag werden für jede Anfrage gespeichert.

Abo wählen · Modellpreise ansehen

Verbinden Sie die API mit dem Produkt, das Sie verkaufen.

SaaS, Anwendungen und Bots nach dem offiziellen Angebot und Lizenzvertrag von Ailoot. Fordern Sie für den Weiterverkauf eine Reseller-Lizenz an.

Kommerzielle Anwendung
Integrieren Sie Text-, Bild-, Video- und Audioerzeugung in kostenpflichtige Funktionen Ihres Dienstes.
Reseller-Lizenz
Senden Sie Projektbeschreibung und Zugangsmodell. Fordern Sie schriftliche Nutzungs- und Weiterverkaufsbedingungen an.
Dokumente auf der Website
Offizielles Angebot, Lizenzvertrag und Datenschutzerklärung sind vor der Verbindung zugänglich.

Reseller-Lizenz anfordern · Offizielles Angebot und Lizenzvertrag