modelos

MoonshotAI: Kimi K3 (batch)

Markdown · JSON

MoonshotAI: Kimi K3 (batch)

Kimi K3 é o modelo nativamente multimodal de raciocínio da Moonshot AI para tarefas longas de programação e trabalho de conhecimento. Lê texto, imagens e vídeo, produz texto e suporta fluxos com ferramentas, com um contexto de 1 048 576 tokens e histórico de raciocínio preservado entre passos.

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.

Kimi K3 é o modelo multimodal de agentes com pesos abertos da Moonshot AI para programação prolongada, trabalho de conhecimento e raciocínio. Combina texto com compreensão visual nativa de imagens e vídeo e produz uma resposta textual ou pedido de ferramenta. O fabricante destaca sessões prolongadas de engenharia, grandes repositórios e tarefas que usam capturas de ecrã ou retorno visual juntamente com código. Um enunciado útil define o artefacto pretendido, os elementos de prova a usar e a condição que marca a conclusão do trabalho.

Arquitetura e contexto longo

A ficha descreve uma mistura esparsa de especialistas com 2,8 biliões de parâmetros no total e 104 mil milhões ativados. A conceção Stable LatentMoE seleciona 16 dos 896 especialistas por token, usando Kimi Delta Attention e Attention Residuals juntamente com atenção com portas de controlo. O comprimento exato de contexto é de 1 048 576 tokens. É espaço para um contexto de tarefa substancial, não motivo para descartar os limites das fontes ou o espaço necessário ao resultado.

O artefacto nativo publicado usa treino que tem em conta a quantização, com pesos MXFP4 e ativações MXFP8. Esse é o formato de lançamento do fabricante, distinto de uma edição quantizada fornecida separadamente ou de uma afirmação sobre como uma rota concreta disponibiliza o modelo. Pesos abertos e uma grande contagem de parâmetros não transformam o valor de parâmetros ativos no requisito total de armazenamento ou hardware.

Prepare uma tarefa substancial de programação

Forneça o material relevante do repositório, o comportamento existente, a alteração pedida e as restrições de compatibilidade. Identifique os ficheiros ou a interface que o resultado deve afetar, as verificações que determinam o sucesso e qualquer erro ou entrada fornecidos que exponham o problema. Um resultado útil pode ser uma alteração focada de código com uma explicação e elementos de prova das verificações efetivamente executadas, em vez de uma descrição de ações nunca realizadas.

Para uma tarefa visual de desenvolvimento, inclua uma captura de ecrã ou uma vista clara do resultado pretendido com o código relevante e uma discrepância específica. O fabricante descreve fluxos de interfaces, jogos e CAD que usam retorno visual. Peça a alteração que liga o código ao resultado observado e preserve a referência para que o artefacto entregue possa ser verificado face a ela.

Preparação de imagens, vídeo e trabalho de conhecimento

O guia de iniciação do produtor usa objetos de conteúdo tipados para mensagens visuais; content é um array, não uma representação serializada desse array. O fluxo de imagem usa dados de imagem codificados ou uma referência de ficheiro suportada, em vez de um endereço público de imagem. O exemplo de vídeo carrega um ficheiro de vídeo e fornece a referência resultante com uma pergunta sobre o conteúdo. Dê uma fonte legível e especifique a observação, o intervalo ou a relação relevantes. O fluxo visual do produtor aceita imagens JPEG, PNG, GIF, WebP, BMP, HEIC e HEIF, e vídeo MP4, MPEG, MOV, AVI, FLV, MPG, WebM, WMV e 3GPP. GIF ou WebP animados podem ser descodificados como vídeo. Forneça código-fonte SVG como texto. O fabricante recomenda imagens até 4096 × 2160 e vídeo até 1920 × 1080; são recomendações de resolução, não limiares de rejeição. Mantenha o corpo do pedido dentro do limite de dimensão documentado de 100M e carregue conteúdo multimédia grande ou reutilizado frequentemente como ficheiros.

Para investigação com muitos documentos, identifique as fontes e indique as perguntas a que o relatório final deve responder. Para uma explicação de vídeo, identifique os acontecimentos ou a sequência a analisar, em vez de pedir comentários sem restrições. K3 usa conteúdo visual como elemento de prova para o raciocínio e devolve texto ou pedidos de ferramentas. Uma aplicação pode passar esses pedidos a ferramentas multimédia para criar artefactos separados de imagem ou vídeo.

O raciocínio está sempre ativado

A interface do produtor K3 tem sempre raciocínio ativado. A definição de topo reasoning_effort aceita low, high e max, sendo max a predefinição. Estas escolhas são específicas do modelo; não se deve assumir uma definição sem raciocínio nem um valor de esforço de outra família. As orientações de migração do fabricante distinguem K3 de K2.x através da utilização de reasoning_effort, em vez de transportar a configuração thinking anterior.

O produtor documenta reasoning_content e conteúdo de resposta final separados nos resultados transmitidos continuamente. Para uma conversa de vários turnos ou fluxo de ferramentas, exige que a mensagem completa do assistente devolvida seja reenviada sem alterações, incluindo reasoning_content e tool_calls. Conservar apenas a resposta final visível perde informação que o fluxo de raciocínio preservado do modelo espera no passo seguinte.

Respostas finais estruturadas e continuação parcial

O guia de iniciação documenta saída estrita segundo esquema JSON para o conteúdo da mensagem final. Defina os campos e os significados em função do artefacto de que a aplicação precisa e analise esse conteúdo final, em vez de o combinar com o campo de raciocínio. Um resultado estruturado pode representar informação extraída de material fornecido ou um formato definido de relatório; o esquema restringe o formato, enquanto os elementos de prova da fonte determinam se os valores estão corretos.

O modo parcial pode continuar um prefixo textual fornecido. O exemplo do produtor coloca uma mensagem parcial do assistente no fim do histórico e combina esse prefixo com a continuação devolvida para apresentação. Use-o quando o artefacto exigido tiver um início fixo com significado, mantendo o prefixo distinto do restante texto gerado.

Ferramentas e continuidade dos respetivos resultados

K3 suporta ferramentas de funções personalizadas. O exemplo do produtor exige uma ferramenta no primeiro turno, preserva a mensagem completa do assistente, executa cada chamada devolvida e acrescenta um resultado de ferramenta correspondente antes de pedir a resposta final. Uma chamada proposta não é prova de que a operação teve sucesso; o resultado efetivamente devolvido torna-se o elemento de prova do passo seguinte.

O fluxo de carregamento dinâmico introduz uma definição completa de ferramenta num ponto específico do histórico de mensagens. A definição precisa de nome, finalidade e parâmetros e deve permanecer no histórico subsequente porque o servidor não retém essa declaração de forma independente. Mantenha associadas as capacidades das ferramentas, os argumentos fornecidos e as observações reais para que uma tarefa longa possa continuar a partir do trabalho já concluído.

Controlos de saída e contexto repetido

O produtor documenta um orçamento predefinido de saída de 131 072 tokens, configurável até 1 048 576 dentro das restrições globais de contexto do modelo. A API K3 atual fixa temperature em 1.0, top_p em 0.95, um resultado e penalizações de presença e frequência a zero, indicando aos clientes que omitam esses controlos de amostragem. São as definições exatas do perfil do produtor, não uma lista transferível de controlos ajustáveis.

A colocação em cache de contexto é automática para prefixos repetidos elegíveis, com opções documentadas de TTL de 5 minutos e 1 hora e 5 minutos como predefinição. Os blocos parciais de cache continuam a contar como falhas de cache. Mantenha estável o contexto reutilizável e verifique a utilização efetiva, em vez de afirmar uma ocorrência de cache apenas por haver texto repetido. Para o artefacto final, retenha as fontes fornecidas, os elementos de prova efetivos das ferramentas e a estrutura de saída obrigatória e verifique se uma resposta longa ou resultado de engenharia satisfaz os critérios de conclusão declarados.

Ailoot Ultra · Processamento em lote POST /v1/batches moonshotai/kimi-k3:batch

moonshotai/kimi-k3:batch

MoonshotAI /moonshotai/kimi-k3:batch

Introdução

Kimi K3 é o modelo nativamente multimodal de raciocínio da Moonshot AI para tarefas longas de programação e trabalho de conhecimento. Lê texto, imagens e vídeo, produz texto e suporta fluxos com ferramentas, com um contexto de 1 048 576 tokens e histórico de raciocínio preservado entre passos.

Entradas aceites
Texto
Resultados
Texto

Disponível no Ailoot · entradas e métodos

Ailoot Ultra · Processamento em lote POST /v1/batches
Entrada
text
Saída
text
Formato de saída
JSON em linha de results[].response.body
CampoTipoRequisitoValores e limitesPredefinição
CampoendpointTipostringRequisitoObrigatórioValores e limites
/v1/chat/completions
Predefinição—
CampomodelTipostringRequisitoObrigatórioValores e limites
moonshotai/kimi-k3:batch
Predefinição—
CamporequestsTipobatch_item[]RequisitoObrigatórioValores e limites
Número mínimo de elementos: 1
Predefinição—
Camporequests[].custom_idTipostringRequisitoObrigatórioValores e limitesPredefinição—
Camporequests[].body.messagesTipomessage[]RequisitoObrigatórioValores e limitesPredefinição—
Campocompletion_windowTipostringRequisitoOpcionalValores e limites
24h
Predefinição—
CampoproviderTipoobject|nullRequisitoOpcionalValores e limitesPredefinição—
Camporequests[].body.modelTipostringRequisitoOpcionalValores e limites
moonshotai/kimi-k3:batch, moonshotai/kimi-k3
Predefinição—
Campoprovider.onlyTipostring[]RequisitoOpcionalValores e limites
deepinfra/bf16
Predefinição—
Campoprovider.allow_fallbacksTipoboolean|nullRequisitoOpcionalValores e limites
false, null
Predefinição—
Parâmetros e ciclo de vida do método
ParâmetroContrato
Parâmetrocontent_typeContratoapplication/json
ParâmetrorequiredContratoendpoint, model, requests
Parâmetromaterial_typesContratotext
ParâmetrorepresentationContratorequests[] em linha; cada item tem custom_id e body
Parâmetrorequest_endpoint_profileContrato/v1/chat/completions
Parâmetrofile_materialContratoQuem faz a chamada pode ler localmente o conteúdo JSONL UTF-8 efetivo para requests[]. Não é utilizada qualquer finalidade de carregamento, input_file_id ou referência a ficheiro. Se o material do cliente estiver em falta ou vazio, a preparação é interrompida antes do POST.
Parâmetroserialization_orderContratoendpoint, model, provider (se fornecido), completion_window (se fornecido), requests em último lugar
Parâmetrooptional_controlsContratoprovider.only, provider.allow_fallbacks, completion_window
Parâmetroschema_scopeContratoCorpos de pedidos de texto de Chat Completions na estrutura de lote em linha documentada.

Ciclo de vida: asynchronous

GET /v1/batches/{operation_id} · response.id efetivo da resposta original de criação; mesmo utilizador/chave/grupo

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
Não especificado Quando o modo rápido está selecionado
Modo flex
Não especificado Quando o modo flex está selecionado
Esforço máximo de raciocínio
Não especificado Quando o esforço máximo de raciocínio usa o ajuste predefinido (default)
Preços da cache explícita
Não ativado Quando é pedida cache explícita

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çãoTabela de tarifasTokens de contexto, mais deTokens de contexto, até ao limite inclusiveCusto
ConfiguraçãoTarifas base dos tokensTabela de tarifasTarifa baseTokens de contexto, mais de—Tokens de contexto, até ao limite inclusiveSem limite superiorCusto
Entrada · Tokens de entrada $0.00456 / 1K tokens
Saída · Tokens de saída $0.0228 / 1K tokens
Entrada · Leitura da cache $0.000456 / 1K tokens
Entrada · Escrita na cache — / 1K tokens
Entrada · Escrita na cache, 1 hora — / 1K tokens
ConfiguraçãoEscalão 1 por comprimento do pedidoTabela de tarifas—Tokens de contexto, mais de0Tokens de contexto, até ao limite inclusiveSem limite superiorCusto
Entrada · Tokens de entrada $0.00456 / 1K tokens
Saída · Tokens de saída $0.0228 / 1K tokens
Entrada · Leitura da cache $0.000456 / 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 · Processamento em lote

curl · dados de teste preservadosPython HTTP · JSONL real do clientePython · guarde cada resultado concluído
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_REQUEST'
import json
from pathlib import Path
body=json.loads('{"endpoint":"/v1/chat/completions","model":"moonshotai/kimi-k3:batch","requests":[{"custom_id":"req-0001","body":{"messages":[{"role":"user","content":"Hello!"}],"max_tokens":16}}]}')
Path("batch-request.json").write_text(json.dumps(body,ensure_ascii=False),encoding="utf-8")
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/batches \
  -H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
  --data-binary @batch-request.json -D batch-response-headers.txt -o batch-create-response.json
import json, os
from pathlib import Path
from urllib.request import Request, urlopen

def prepare_requests(customer_path):
    path = Path(customer_path)
    if not path.is_file(): raise ValueError("Customer JSONL file is missing")
    items = [json.loads(line) for line in path.read_text(encoding="utf-8").splitlines() if line.strip()]
    if not items: raise ValueError("Customer JSONL contains no requests")
    ids = set()
    for item in items:
        if set(item) != {"custom_id", "body"}: raise ValueError("Each item needs custom_id and body")
        cid = item["custom_id"]
        if not isinstance(cid, str) or not cid.strip() or cid in ids: raise ValueError("custom_id must be nonempty and unique")
        ids.add(cid)
        if not isinstance(item["body"], dict) or not item["body"].get("messages"): raise ValueError("Supply actual text messages")
        supplied_model = item["body"].get("model")
        if supplied_model is not None and supplied_model not in ['moonshotai/kimi-k3:batch', 'moonshotai/kimi-k3']: raise ValueError("body.model must be an exact documented caller or wire ID")
    return {"endpoint":"/v1/chat/completions", "model":"moonshotai/kimi-k3:batch", "requests":items}

if __name__ == "__main__":
    material = os.environ.get("AILOOT_BATCH_REQUESTS_JSONL", "")
    if not material: raise SystemExit("Set AILOOT_BATCH_REQUESTS_JSONL to your actual customer file")
    body = prepare_requests(material)
    key = os.environ.get("AILOOT_API_KEY", "")
    if not key: raise SystemExit("Set AILOOT_API_KEY")
    request = Request("https://api.ailoot.ai/v1/batches", data=json.dumps(body, ensure_ascii=False).encode("utf-8"), headers={"Authorization":"Bearer " + key, "Content-Type":"application/json"}, method="POST")
    with urlopen(request) as response:
        raw = response.read()
        Path("batch-create-response.json").write_bytes(raw)
        print(raw.decode("utf-8"))
import json
from pathlib import Path
raw = Path("batch-status-response.json").read_bytes()
response = json.loads(raw)
if response.get("status") != "completed":
    raise SystemExit("Keep the original operation; read its status without resubmitting")
results = response.get("results")
if not isinstance(results, list) or not results:
    raise SystemExit("Preserve the original response; completed results are missing")
Path("batch-results.jsonl").write_text("".join(json.dumps(item, ensure_ascii=False) + "\n" for item in results), encoding="utf-8")
# Preserve batch-status-response.json with aggregate usage and every result/error.

Receber e guardar os resultados

Ailoot Ultra · Processamento em lote

JSON em linha de results[].response.body

  • GET /v1/batches/{operation_id}
Verificar o estado da tarefa
curl · estado da operação original
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
BATCH_OPERATION_ID="$(python3 - <<'PY_ID'
import json
from pathlib import Path
from urllib.parse import quote
response = json.loads(Path("batch-create-response.json").read_text(encoding="utf-8"))
operation = response.get("id")
if not isinstance(operation, str) or not operation: raise SystemExit("No actual original operation ID; preserve the response and do not resubmit")
print(quote(operation, safe=""))
PY_ID
)"
curl --fail-with-body --silent --show-error "https://api.ailoot.ai/v1/batches/$BATCH_OPERATION_ID" \
  -H "Authorization: Bearer $AILOOT_API_KEY" -o batch-status-response.json
Guardar todos os resultados concluídos

Guarde cada resposta, ficheiro e parte de conteúdo devolvidos na íntegra.

Conserve o JSON completo do estado original, todos os resultados/custom_id e o corpo completo da resposta ou do erro. Guarde os results[] concluídos em formato JSONL, sem filtrar.

Se for necessário verificar a resposta original

Preserve o ID original da operação. A resposta 503 result_pending_check inclui X-Should-Retry:false; nunca volte a enviar um lote original de estado desconhecido.

Campos da resposta
CampoTipo
Camporesults[].custom_idTipostring
Camporesults[].response.body.choices[].message.contentTipostring|null
Camporesults[].errorTipoobject|null
CampousageTipoobject|null
CampoidTipostring
CampomodelTipostring
CampoendpointTipostring
CampostatusTipostring
Camporequest_countsTipoobject
Camporesults[].idTipostring
Camporesults[].response.status_codeTipointeger
Camporesults[].response.request_idTipostring
Erros e passos seguintes
RespostaCondiçãoPasso seguinte
Resposta400 · invalid_request_errorCondiçãoEstrutura em linha documentada inválida, chaves duplicadas, identidade do item inválida ou conflito com as capacidades configuradas do modelo.Passo seguinteCorrija os campos indicados antes de qualquer novo envio.
Resposta401 · authentication_errorCondiçãoChave de API inválida.Passo seguinteUse a chave Ailoot autorizada.
Resposta403 · permission_errorCondiçãoGrupo de processamento em lote indisponível.Passo seguinteVerifique os direitos de acesso da chave/do grupo.
Resposta422 · invalid_request_errorCondiçãoO processamento em lote usa faturação por débito do saldo; a criação com subscrição é rejeitada.Passo seguinteUse o grupo autorizado com faturação por débito do saldo.
Resposta422 · price_unavailableCondiçãoNão é possível calcular uma estimativa de preço para os dados de entrada do lote.Passo seguinteConserve a resposta; use os dados de entrada documentados para a família.
Resposta402 · billing_errorCondiçãoReserva para processamento em lote indisponível.Passo seguinteResolva a questão da admissão antes de um novo pedido.
Resposta503 · price_unavailableCondiçãoPreço do método de processamento em lote/tarifas nativas indisponíveis.Passo seguinteConserve a resposta; não substitua os preços.
Resposta503 · api_errorCondiçãoA rota exata do fornecedor está indisponível.Passo seguinteConserve a resposta para corrigir a rota.
Resposta503 · result_pending_checkCondiçãoO resultado original requer verificação; X-Should-Retry:false.Passo seguinteGuarde o operation_id/id original e consulte o respetivo estado; nunca repita o POST original.
Resposta404 · not_foundCondiçãoA operação de consulta do estado do lote não existe ou pertence a outra identidade.Passo seguinteUse o id original exato e o mesmo utilizador/chave/grupo.

Aliases

Aliases do modelo

Ailoot Ultra moonshotai/kimi-k3:batch

Aliases dos caminhos dos métodos

Use os caminhos dos métodos indicados acima.

IDs de chamada relacionados

moonshotai/kimi-k3:batch

FAQ · MoonshotAI: Kimi K3 (batch)
Que entradas e resultados estão disponíveis?

POST /v1/batches · moonshotai/kimi-k3:batch: text → text

Que campos utiliza o pedido?

POST /v1/batches · moonshotai/kimi-k3:batch: endpoint, model, requests, completion_window, provider

Que limites se aplicam?

POST /v1/batches · moonshotai/kimi-k3:batch: requests.min_items: 1

Mais detalhes

Ligue o Ailoot ao Claude Code, OpenCode, Hermes ou à sua aplicação.

A empresa e a sua carteira de projetos

A empresa e a sua carteira de projetos: milhões de clientes; vendas mensais na ordem dos milhares de milhões.

Compre tokens com desconto.

Desconto por subscrição para trabalho regular. Códigos promocionais — até 50% na compra de tokens.

Subscrição
Escolha um plano com desconto para os pedidos regulares.
Código promocional até 50%
Introduza o código na compra. O preço é recalculado conforme a campanha em vigor.
Custos no histórico
O modelo, os tokens e o montante são guardados para cada pedido.

Escolher subscrição · Ver preços dos modelos

Ligue a API ao produto que vende.

SaaS, aplicações e bots — ao abrigo da oferta e do contrato de licença Ailoot. Para revenda, peça uma licença de revendedor.

Aplicação comercial
Integre geração de texto, imagens, vídeo e som nas funcionalidades pagas do seu serviço.
Licença de revendedor
Envie uma descrição do projeto e do modelo de acesso. Peça condições escritas de utilização e revenda.
Documentos no site
A oferta, o contrato de licença e a política de tratamento de dados estão disponíveis antes da ligação.

Pedir licença de revendedor · Oferta e contrato de licença