Mistral: Mistral Small 3.2 24B
Mistral Small 3.2 24B Instruct é um modelo de instruções com texto e imagem e um contexto de 128k indicado pelo fabricante. A atualização 2506 melhora especificamente o cumprimento preciso de instruções, reduz a repetição e reforça o modelo de formatação de chamadas de funções, preservando as funcionalidades principais do Small 3.1.
- Ailoot Ultra · OpenAI Chat
POST /v1/chat/completionsmistralai/mistral-small-3.2-24b-instruct - Ailoot Ultra · Anthropic Messages
POST /v1/messagesmistralai/mistral-small-3.2-24b-instruct
Sobre o modelo
Esta descrição apresenta as capacidades do modelo. As entradas, saídas e opções disponíveis no Ailoot para o método selecionado estão indicadas abaixo.
Mistral Small 3.2 24B Instruct 2506 é uma atualização dirigida do Mistral Small 3.1 24B Instruct 2503. O fabricante identifica três alterações específicas: seguir instruções precisas com maior rigor, reduzir respostas repetitivas ou que se prolongam indevidamente e tornar mais robusto o modelo de formatação de chamadas de funções. Continua a ser um modelo de texto e imagem ajustado para seguir instruções que gera texto, e não uma nova edição de áudio ou geração de imagens.
O que muda e o que se mantém
A ficha do 3.2 afirma explicitamente que as funcionalidades principais são as mesmas da versão identificada como Small 3.1. Incluem visão, trabalho multilingue, suporte de instruções de sistema, chamadas nativas de funções, saída JSON e uma janela de contexto de 128k. A ficha 3.1 referenciada descreve um modelo de 24 mil milhões de parâmetros e um tokenizador Tekken com um vocabulário identificado como 131k. Esta ligação documentada sustenta a continuidade dessas funcionalidades no 3.2, preservando a atualização 2506 como edição própria.
O foco no seguimento de instruções é relevante quando o resultado tem vários requisitos exatos. Forneça o material de origem, enumere as regras que a saída deve satisfazer e indique o artefacto a devolver. Um pedido de extração documental pode exigir campos especificados, identificadores originais, uma representação definida para valores em falta e ausência de prosa fora do registo. Uma tarefa de escrita pode exigir um público e uma ordem de secções específicos, mantendo inalteradas as condições fornecidas.
A alteração relativa à repetição aborda o comportamento de geração, em vez de acrescentar um novo modo de raciocínio. Para uma resposta longa, defina as secções obrigatórias e a finalidade de cada uma, dando ao pedido um ponto de conclusão claro. A alteração do modelo de funções diz respeito à representação de conversas com ferramentas; use as definições de conversa e tokenizador da edição correspondente, em vez de tratar um exemplo antigo de formatação como intercambiável.
Tarefas visuais e multilingues
A funcionalidade visual herdada permite associar uma pergunta textual a uma imagem. Forneça uma página, gráfico ou diagrama legível e identifique o detalhe necessário à tarefa. Numa comparação de gráficos, preserve eixos, unidades e legenda e peça a observação que sustenta cada conclusão. Para um campo documental, mantenha a etiqueta e o contexto envolvente para interpretar corretamente o valor devolvido.
A cobertura linguística documentada inclui russo, inglês, francês, alemão, espanhol, italiano, português, chinês, japonês, coreano, árabe, persa, hindi, bengali e outras línguas enumeradas pelo fabricante. Especifique a língua final e qualquer terminologia que deva permanecer inalterada. Uma tarefa documental bilingue pode preservar identificadores e unidades enquanto adapta a explicação envolvente ao leitor.
Para uma extração visual prática, peça o identificador do documento, a etiqueta do campo, o texto extraído e a parte da imagem que o sustenta. Pode seguir-se uma explicação separada se o leitor precisar de interpretação. Isto impede que transcrição, campos estruturados e conclusão do modelo se tornem um único resultado indistinguível.
Instruções de sistema e ferramentas
A ficha do 3.2 recomenda um prompt de sistema adaptado ao caso de utilização e uma temperatura relativamente baixa, como 0,15. Defina explicitamente o papel do assistente, as regras de resposta e o tratamento do material de origem. Coloque o documento ou código efetivo junto da tarefa do utilizador, preservando a distinção entre instruções sobre a resposta e instruções citadas na fonte.
As chamadas de funções exigem que a aplicação forneça descrições das ferramentas e argumentos obrigatórios. O modelo prepara uma chamada, a aplicação executa a função e devolve o resultado, e a resposta seguinte usa essa informação. Os exemplos publicados incluem raciocínio visual, chamadas de ferramentas e instruções apenas textuais. Uma tarefa de consulta pode, portanto, pedir ao modelo que selecione uma operação descrita, deixando a consulta efetiva e o seu resultado à aplicação envolvente.
Num pedido de programação, forneça a função relevante, a entrada que expõe o problema e o comportamento que deve resultar. Peça uma correção proposta que preserve a interface original e, depois, exemplos que distingam o comportamento pretendido. Num pedido matemático, defina variáveis e hipóteses e peça os passos importantes justificados e uma expressão final separada. São aplicações das capacidades herdadas de programação e raciocínio; executar código proposto continua a ser uma etapa separada.
Contexto e limites da edição
Use a janela de 128k para os trechos de origem, imagens, conversa e resposta esperada em conjunto. Uma comparação documental extensa pode reter secções relacionadas e devolver uma matriz curta de conclusões. Uma grande dotação configurada para imagens ou um valor de geração num exemplo de disponibilização não constituem uma capacidade máxima do modelo declarada de forma independente.
Small 3.2 é uma atualização de instruções com entrada visual documentada, não o Small 3 2501 apenas textual nem a versão de raciocínio híbrido Small 4. A ficha do fabricante não fornece um teto rígido separado de tokens de saída para esta entrada. Preserve a identidade exata 2506 e a respetiva formatação e defina o registo estruturado, a explicação ou a proposta de código necessários ao passo seguinte.
Tarefa prática
Tarefa prática
Exemplo técnico em inglês
Extract exactly the requested fields
Read this note: 'Service case C-52. Customer: Dana Lee. Device: Lamp Mini. Reported problem: switches off after ten minutes.' Return exactly four labelled lines, in this order: Case ID, Device, Problem, Purchase date. Use unknown for missing information. Omit the customer's name and all introductory or closing prose.Resultado esperado
Exactly four labelled lines containing source-derived values or unknown, in the requested order.Verificar o resultado
Purchase date is unknown, Dana Lee is omitted, and there are no extra lines.Ailoot Ultra · OpenAI Chat POST /v1/chat/completions mistralai/mistral-small-3.2-24b-instruct
mistralai/mistral-small-3.2-24b-instruct
mistralai/mistral-small-3.2-24b-instructIntrodução
Mistral Small 3.2 24B Instruct é um modelo de instruções com texto e imagem e um contexto de 128k indicado pelo fabricante. A atualização 2506 melhora especificamente o cumprimento preciso de instruções, reduz a repetição e reforça o modelo de formatação de chamadas de funções, preservando as funcionalidades principais do Small 3.1.
- Entradas aceites
- Texto
- Resultados
- Texto
Disponível no Ailoot · entradas e métodos
Ailoot Ultra · OpenAI Chat POST /v1/chat/completions
- Entrada
text- Saída
text- Formato de saída
- json ou SSE
| Campo | Tipo | Requisito | Valores e limites | Predefinição |
|---|---|---|---|---|
Campomodel | Tipostring | RequisitoObrigatório | Valores e limites mistralai/mistral-small-3.2-24b-instruct | Predefinição— |
Campomessages | Tipomessage[] | RequisitoObrigatório | Valores e limites Número mínimo de elementos: 1 | Predefinição— |
Campomessages[].role | Tipostring | RequisitoObrigatório | Valores e limites Exemplos: system, user, assistant, tool, function Condições: Estes papéis são representados explicitamente pelos tipos de compatibilidade do código-fonte; o conjunto exato de papéis continua específico do modelo. Depende do modelo | Predefinição— |
Campomessages[].content | Tipostring|content_part[]|null | RequisitoOpcional | Valores e limites | Predefinição— |
Campomessages[].tool_calls | Tipotool_call[] | RequisitoOpcional | Valores e limites | Predefinição— |
Campomessages[].tool_call_id | Tipostring | RequisitoOpcional | Valores e limites Aplica-se quando: role=tool; use o ID realmente devolvido | Predefinição— |
Campomessages[].name | Tipostring | RequisitoOpcional | Valores e limites | Predefinição— |
Campomessages[].reasoning_content | Tipostring | RequisitoOpcional | Valores e limites Aplica-se quando: Reintroduza o raciocínio realmente devolvido quando este modelo o utiliza | Predefinição— |
Campomessages[].reasoning_details | Tipoobject|array | RequisitoOpcional | Valores e limites Depende do modelo | Predefinição— |
Campomax_tokens | Tipointeger | RequisitoOpcional | Valores e limites Mínimo: 1 Depende do modelo | Predefinição— |
Campomax_completion_tokens | Tipointeger | RequisitoOpcional | Valores e limites Mínimo: 1 Depende do modelo | Predefinição— |
Campostream | Tipoboolean | RequisitoOpcional | Valores e limites | Predefiniçãofalse |
Campostream_options.include_usage | Tipoboolean | RequisitoOpcional | Valores e limites Depende do modelo | Predefinição— |
Campotemperature | Tiponumber | RequisitoOpcional | Valores e limites Depende do modelo | Predefinição— |
Campotop_p | Tiponumber | RequisitoOpcional | Valores e limites Depende do modelo | Predefinição— |
Campostop | Tipostring|string[] | RequisitoOpcional | Valores e limites Depende do modelo | Predefinição— |
Campotools | Tipofunction_tool[] | RequisitoOpcional | Valores e limites Depende do modelo | Predefinição— |
Campotools[].type | Tipostring | RequisitoOpcional | Valores e limites function Depende do modelo | Predefinição— |
Campotools[].function.name | Tipostring | RequisitoObrigatório | Valores e limites Aplica-se quando: Função fornecida como ferramenta | Predefinição— |
Campotools[].function.description | Tipostring | RequisitoOpcional | Valores e limites | Predefinição— |
Campotools[].function.parameters | TipoJSON_schema | RequisitoOpcional | Valores e limites | Predefinição— |
Campotool_choice | Tipostring|object | RequisitoOpcional | Valores e limites Depende do modelo | Predefinição— |
Campoparallel_tool_calls | Tipoboolean | RequisitoOpcional | Valores e limites Depende do modelo | Predefinição— |
Camporesponse_format | Tipoobject | RequisitoOpcional | Valores e limites Depende do modelo | Predefinição— |
Camporeasoning_effort | Tipostring | RequisitoOpcional | Valores e limites Depende do modelo | Predefinição— |
Camporeasoning | Tipoobject | RequisitoOpcional | Valores e limites Depende do modelo | Predefinição— |
Camposervice_tier | Tipostring | RequisitoOpcional | Valores e limites Depende do modelo | Predefinição— |
Campoinstructions | Tipostring | RequisitoOpcional | Valores e limites Campo de compatibilidade | Predefinição— |
Campofunctions | Tipofunction[] | RequisitoOpcional | Valores e limites Depende do modelo | Predefinição— |
Campofunction_call | Tipostring|object | RequisitoOpcional | Valores e limites Depende do modelo | Predefinição— |
Campoprompt_cache_options | Tipoobject | RequisitoOpcional | Valores e limites Depende do modelo | Predefinição— |
Campomodalities | Tipostring[] | RequisitoOpcional | Valores e limites text | Predefinição— |
Campoprovider | Tipoobject | RequisitoOpcional | Valores e limites Condições: provider.options é rejeitado nesta rota textual Ultra | Predefinição— |
Campocache_control.ttl | Tipostring | RequisitoOpcional | Valores e limites Condições: 1h é rejeitado nos locais efetivos da cache de prompts | Predefinição— |
Combinações de materiais de entrada
Texto · Texto UTF8
messages[].content
Parâmetros e ciclo de vida do método
| Parâmetro | Contrato |
|---|---|
Parâmetrocontent_type | Contratoapplication/json |
Parâmetrorequired | Contratomodel, messages |
Parâmetromaterial_types | Contratotext |
Parâmetromessages | ContratoLista de mensagens com estrutura role/content |
Parâmetrofile_material | ContratoDocumento UTF-8 real inserido como texto literal; nenhum ID de ficheiro inferido |
Parâmetrooptional_controls | Contratostream, temperature, top_p, stop, max_tokens, max_completion_tokens, reasoning, response_format, tools, tool_choice |
Parâmetrocontrol_scope | ContratoEspecífico do modelo; as ferramentas de funções do utilizador diferem das ferramentas alojadas |
Parâmetrooutput_modalities | Contratotext |
Parâmetrohosted_operations | Contratofalse |
Parâmetromultimodal_input_binding | Contratonull |
Ciclo de vida: synchronous_or_streamed
Envie o ID exato do modelo com messages.
O comprimento do contexto não é um limite de saída.
Um ficheiro de texto pode fornecer texto literal; as entradas de imagem/áudio/objeto de ficheiro exigem uma associação exata.
Tarifários
As referências tarifárias não acrescentam opções ao pedido. Os parâmetros suportados constam do método selecionado.
- Modo rápido
- Tarifa normal Quando o modo rápido está selecionado
- Modo flex
- Tarifa normal Quando o modo flex está selecionado
- Esforço máximo de raciocínio
- Tarifa normal Quando o esforço máximo de raciocínio usa o ajuste predefinido (default)
Tarifas Ailoot
Preços por configuração
Associe cada custo às condições apresentadas. Use uma única tarifa para cada conjunto de configurações alternativas.
| Configuração | Tabela de tarifas | Tokens de contexto, mais de | Tokens de contexto, até ao limite inclusive | Custo |
|---|---|---|---|---|
| ConfiguraçãoTarifas base dos tokens | Tabela de tarifasTarifa base | Tokens de contexto, mais de— | Tokens de contexto, até ao limite inclusiveSem limite superior | Custo Entrada · Tokens de entrada $0.0002 / 1K tokens Saída · Tokens de saída $0.0006 / 1K tokens Entrada · Leitura da cache $0.00002 / 1K tokens Entrada · Escrita na cache — / 1K tokens Entrada · Escrita na cache, 1 hora — / 1K tokens |
| ConfiguraçãoEscalão 1 por comprimento do pedido | Tabela de tarifas— | Tokens de contexto, mais de0 | Tokens de contexto, até ao limite inclusiveSem limite superior | Custo Entrada · Tokens de entrada $0.0002 / 1K tokens Saída · Tokens de saída $0.0006 / 1K tokens Entrada · Leitura da cache $0.00002 / 1K tokens Entrada · Escrita na cache — / 1K tokens Entrada · Escrita na cache, 1 hora — / 1K tokens |
O Ailoot reserva um montante estimado antes de um pedido. Após o resultado, liquida o custo final com base na utilização medida. No streaming, a liquidação usa o registo final de utilização. Como funcionam a reserva e a liquidação →
Exemplos de pedidos
Ailoot Ultra · OpenAI Chat
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.2-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.2-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.2-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")
Receber e guardar os resultados
Ailoot Ultra · OpenAI Chat
json ou SSE
Guardar todos os resultados concluídos
Guarde cada resposta, ficheiro e parte de conteúdo devolvidos na íntegra.
Conserve cada opção com o conteúdo, as chamadas de ferramentas e o raciocínio. Em SSE, junte os deltas por índice de opção e ferramenta e mantenha o motivo final de conclusão e os dados de utilização.
Se for necessário verificar a resposta original
Conserve os ID e cabeçalhos de pedido/resposta. Não é fornecido um URL genérico para obter uma tarefa textual.
Campos da resposta
| Campo | Tipo |
|---|---|
Campochoices[].index | Tipointeger |
Campochoices[].message.content | Tipostring|null |
Campochoices[].message.tool_calls | Tipotool_call[] |
Campochoices[].message.reasoning_content | Tipostring |
Campochoices[].message.reasoning_details | Tipoobject|array |
Campochoices[].finish_reason | Tipostring|null |
Campousage | Tipoobject |
Erros e passos seguintes
| Resposta | Condição | Passo seguinte |
|---|---|---|
Resposta400 · invalid_request_error | CondiçãoCampos obrigatórios, representação do material ou valor do parâmetro inválidos | Passo seguinteCorrija os campos indicados antes de um novo pedido de criação. |
Aliases
Aliases do modelo
Ailoot Ultra mistralai/mistral-small-3.2-24b-instruct
Aliases dos caminhos dos métodos
Use os caminhos dos métodos indicados acima.
IDs de chamada relacionados
Ailoot Ultra · Anthropic Messages POST /v1/messages mistralai/mistral-small-3.2-24b-instruct
mistralai/mistral-small-3.2-24b-instruct
mistralai/mistral-small-3.2-24b-instructIntrodução
Mistral Small 3.2 24B Instruct é um modelo de instruções com texto e imagem e um contexto de 128k indicado pelo fabricante. A atualização 2506 melhora especificamente o cumprimento preciso de instruções, reduz a repetição e reforça o modelo de formatação de chamadas de funções, preservando as funcionalidades principais do Small 3.1.
- Entradas aceites
- Texto
- Resultados
- json · sse
Disponível no Ailoot · entradas e métodos
Ailoot Ultra · Anthropic Messages POST /v1/messages
- Entrada
text- Saída
json,sse- Formato de saída
- JSON ou SSE
| Campo | Tipo | Requisito | Valores e limites | Predefinição |
|---|---|---|---|---|
Campomodel | Tipostring | RequisitoObrigatório | Valores e limites mistralai/mistral-small-3.2-24b-instruct | Predefinição— |
Campomessages | Tipomessage[] | RequisitoObrigatório | Valores e limites | Predefinição— |
Campomessages[].role | Tipostring | RequisitoObrigatório | Valores e limites user, assistant | Predefinição— |
Campomessages[].content | Tipostring | RequisitoObrigatório | Valores e limites | Predefinição— |
Campomax_tokens | Tipointeger | RequisitoObrigatório | Valores e limites | Predefinição— |
Campostream | Tipoboolean | RequisitoOpcional | Valores e limites | Predefiniçãofalse |
Combinações de materiais de entrada
Texto · Texto UTF-8
Cadeia de caracteres messages[].content
Parâmetros e ciclo de vida do método
| Parâmetro | Contrato |
|---|---|
Parâmetrocontent_type | Contratoapplication/json |
Parâmetrorequired | Contratomodel, messages, max_tokens |
Parâmetrooptional_controls | Contratostream |
Parâmetromaterial_types | Contratotext |
Parâmetrotext_file_material | ContratoLeia o documento UTF-8 real e coloque o texto na entrada indicada ou na cadeia de conteúdo da mensagem. |
Ciclo de vida: synchronous_or_streamed
Tarifários
As referências tarifárias não acrescentam opções ao pedido. Os parâmetros suportados constam do método selecionado.
- Modo rápido
- Tarifa normal Quando o modo rápido está selecionado
- Modo flex
- Tarifa normal Quando o modo flex está selecionado
- Esforço máximo de raciocínio
- Tarifa normal Quando o esforço máximo de raciocínio usa o ajuste predefinido (default)
Tarifas Ailoot
Preços por configuração
Associe cada custo às condições apresentadas. Use uma única tarifa para cada conjunto de configurações alternativas.
| Configuração | Tabela de tarifas | Tokens de contexto, mais de | Tokens de contexto, até ao limite inclusive | Custo |
|---|---|---|---|---|
| ConfiguraçãoTarifas base dos tokens | Tabela de tarifasTarifa base | Tokens de contexto, mais de— | Tokens de contexto, até ao limite inclusiveSem limite superior | Custo Entrada · Tokens de entrada $0.0002 / 1K tokens Saída · Tokens de saída $0.0006 / 1K tokens Entrada · Leitura da cache $0.00002 / 1K tokens Entrada · Escrita na cache — / 1K tokens Entrada · Escrita na cache, 1 hora — / 1K tokens |
| ConfiguraçãoEscalão 1 por comprimento do pedido | Tabela de tarifas— | Tokens de contexto, mais de0 | Tokens de contexto, até ao limite inclusiveSem limite superior | Custo Entrada · Tokens de entrada $0.0002 / 1K tokens Saída · Tokens de saída $0.0006 / 1K tokens Entrada · Leitura da cache $0.00002 / 1K tokens Entrada · Escrita na cache — / 1K tokens Entrada · Escrita na cache, 1 hora — / 1K tokens |
O Ailoot reserva um montante estimado antes de um pedido. Após o resultado, liquida o custo final com base na utilização medida. No streaming, a liquidação usa o registo final de utilização. Como funcionam a reserva e a liquidação →
Exemplos de pedidos
Ailoot Ultra · Anthropic Messages
{
"model": "mistralai/mistral-small-3.2-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.2-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.2-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))
Receber e guardar os resultados
Ailoot Ultra · Anthropic Messages
JSON ou SSE
Guardar todos os resultados concluídos
Guarde cada resposta, ficheiro e parte de conteúdo devolvidos na íntegra.
Conserve todos os blocos de conteúdo, as assinaturas de raciocínio e os ID reais de utilização de ferramentas. Junte todos os deltas de blocos SSE; o primeiro bloco de texto não é a saída completa.
Se for necessário verificar a resposta original
Conserve os ID e cabeçalhos de pedido/resposta. Não é fornecido um URL genérico para obter uma tarefa textual.
Campos da resposta
| Campo | Tipo |
|---|---|
Campoid | Tipostring |
Campomodel | Tipostring |
Campocontent[] | Tipotext|thinking|tool_use|other content block |
Campostop_reason | Tipostring|null |
Campousage | Tipoobject |
Erros e passos seguintes
| Resposta | Condição | Passo seguinte |
|---|---|---|
Resposta400 · invalid_request_error | CondiçãoCampos obrigatórios, representação do material ou valor do parâmetro inválidos | Passo seguinteCorrija os campos indicados antes de um novo pedido de criação. |
Aliases
Aliases do modelo
Ailoot Ultra mistralai/mistral-small-3.2-24b-instruct
Aliases dos caminhos dos métodos
Use os caminhos dos métodos indicados acima.
IDs de chamada relacionados
FAQ · Mistral: Mistral Small 3.2 24B
- Que entradas e resultados estão disponíveis?
POST /v1/chat/completions·mistralai/mistral-small-3.2-24b-instruct:text→textPOST /v1/messages·mistralai/mistral-small-3.2-24b-instruct:text→json,sse- Que campos utiliza o pedido?
POST /v1/chat/completions·mistralai/mistral-small-3.2-24b-instruct:model,messages,stream,modalities,providerPOST /v1/messages·mistralai/mistral-small-3.2-24b-instruct:model,messages,max_tokens,stream- Que limites se aplicam?
POST /v1/chat/completions·mistralai/mistral-small-3.2-24b-instruct:messages.min_items:1