modelli

MoonshotAI: Kimi K3 (batch)

Markdown · JSON

MoonshotAI: Kimi K3 (batch)

Kimi K3 è il modello di ragionamento multimodale nativo di Moonshot AI per compiti lunghi di programmazione e lavoro intellettuale. Legge testo, immagini e video, produce testo e supporta flussi guidati da strumenti con un contesto di 1.048.576 token e cronologia del ragionamento conservata tra i passaggi.

Informazioni sul modello

Questa descrizione illustra le funzionalità del modello. Gli input, gli output e le opzioni disponibili in Ailoot per il metodo selezionato sono elencati di seguito.

Kimi K3 è il modello agentico multimodale a pesi aperti di Moonshot AI per programmazione di lunga durata, lavoro intellettuale e ragionamento. Combina testo e comprensione visiva nativa di immagini e video e produce una risposta testuale o una richiesta di strumento. Il produttore evidenzia sessioni di ingegneria estese, repository grandi e compiti che usano screenshot o riscontri visivi insieme al codice. Un brief utile definisce elaborato desiderato, evidenze da usare e condizione che segna il completamento.

Architettura e contesto lungo

La scheda del modello descrive una Mixture of Experts sparsa con 2.800 miliardi di parametri totali e 104 miliardi di parametri attivati. Il design Stable LatentMoE seleziona 16 esperti su 896 per token, usando Kimi Delta Attention e Attention Residuals insieme all’attenzione con gating. La lunghezza esatta del contesto è di 1.048.576 token. È spazio per un contesto di compito consistente, non un motivo per abbandonare i confini delle fonti o lo spazio necessario al risultato.

L’artefatto nativo pubblicato usa un addestramento consapevole della quantizzazione con pesi MXFP4 e attivazioni MXFP8. È il formato di rilascio del produttore, distinto da un’edizione quantizzata fornita separatamente o da un’affermazione su come una particolare rotta eroghi il modello. Pesi aperti e un elevato conteggio dei parametri non trasformano il dato dei parametri attivi nel requisito totale di archiviazione o hardware.

Prepara un compito consistente di programmazione

Fornisci il materiale pertinente del repository, il comportamento esistente, la modifica richiesta e i vincoli di compatibilità. Identifica i file o l’interfaccia che il risultato deve interessare, i controlli che determinano il successo ed eventuali errori o input forniti che rivelano il problema. Un risultato utile può essere una modifica mirata del codice con spiegazione ed evidenze dai controlli effettivamente eseguiti, anziché una descrizione di azioni mai svolte.

Per un compito di sviluppo visivo, includi uno screenshot o una vista chiara del risultato previsto con il codice pertinente e una discrepanza specifica. Il produttore descrive flussi che spaziano da frontend a giochi e CAD e usano riscontri visivi. Chiedi la modifica che colleghi il codice al risultato osservato e conserva il riferimento, affinché l’elaborato consegnato possa essere verificato rispetto a esso.

Preparazione di immagini, video e lavoro intellettuale

La guida rapida del produttore usa oggetti content tipizzati per i messaggi visivi; content è un array, non una rappresentazione serializzata di quell’array. Il flusso per immagini usa dati immagine codificati o un riferimento di file supportato, anziché un indirizzo pubblico di immagine. L’esempio video carica un file video e fornisce il riferimento risultante con una domanda sul contenuto. Fornisci una fonte leggibile e specifica osservazione, intervallo o relazione importanti. Il flusso visivo del produttore accetta immagini JPEG, PNG, GIF, WebP, BMP, HEIC e HEIF e video MP4, MPEG, MOV, AVI, FLV, MPG, WebM, WMV e 3GPP. GIF o WebP animati possono essere decodificati come video. Fornisci il sorgente SVG come testo. Il produttore raccomanda immagini fino a 4096 × 2160 e video fino a 1920 × 1080; sono raccomandazioni di risoluzione, non soglie di rifiuto. Mantieni il corpo della richiesta entro il limite dimensionale documentato di 100M e carica come file i contenuti multimediali grandi o usati ripetutamente.

Per ricerche ricche di documenti, etichetta le fonti e indica le domande a cui il rapporto finale deve rispondere. Per una spiegazione video, identifica eventi o sequenza da analizzare, anziché chiedere commenti senza vincoli. K3 usa il contenuto visivo come evidenza per il ragionamento e restituisce testo o richieste di strumenti. Un’applicazione può inoltrare quelle richieste a strumenti multimediali per creare elaborati separati di immagini o video.

Il ragionamento è sempre attivo

L’interfaccia K3 del produttore ha sempre il ragionamento attivo. L’impostazione di primo livello reasoning_effort accetta low, high e max, con max come valore predefinito. Queste scelte sono specifiche del modello; non si deve presumere un’impostazione senza ragionamento o un valore di intensità di un’altra famiglia. Le indicazioni di migrazione del produttore distinguono K3 da K2.x usando reasoning_effort, anziché trasferire la vecchia configurazione thinking.

Il produttore documenta reasoning_content e contenuto della risposta finale separati nei risultati in streaming. Per una conversazione a più turni o un flusso di strumenti, richiede che il messaggio completo restituito dall’assistente venga reinviato invariato, inclusi reasoning_content e tool_calls. Conservare soltanto la risposta finale visibile fa perdere informazioni che il flusso di ragionamento conservato del modello si aspetta nel passaggio successivo.

Risposte finali strutturate e continuazione parziale

La guida rapida documenta output rigorosi basati su schema JSON per il contenuto del messaggio finale. Definisci campi e significati intorno all’elaborato necessario all’applicazione e analizza quel contenuto finale anziché combinarlo con il campo del ragionamento. Un risultato strutturato può rappresentare informazioni estratte dal materiale fornito o un formato di rapporto definito; lo schema ne vincola la forma, mentre le evidenze delle fonti determinano la correttezza dei valori.

La modalità Partial può continuare un prefisso testuale fornito. L’esempio del produttore colloca un messaggio parziale dell’assistente alla fine della cronologia e combina quel prefisso con la continuazione restituita per la visualizzazione. Usala quando l’elaborato richiesto ha un inizio fisso significativo, mantenendo il prefisso distinto dal resto generato.

Strumenti e continuità dei risultati

K3 supporta strumenti di funzione personalizzati. L’esempio del produttore impone uno strumento al primo turno, conserva il messaggio completo dell’assistente, esegue ogni chiamata restituita e aggiunge un risultato di strumento corrispondente prima di richiedere la risposta finale. Una chiamata proposta non è prova che l’operazione sia riuscita; il risultato effettivamente restituito diventa l’evidenza per il passaggio successivo.

Il flusso di caricamento dinamico introduce una definizione completa dello strumento in un punto specifico della cronologia dei messaggi. La definizione richiede nome, scopo e parametri e deve restare nella cronologia successiva perché il server non conserva autonomamente quella dichiarazione. Mantieni associate capacità degli strumenti, argomenti forniti e osservazioni reali, affinché un compito lungo possa continuare dal lavoro già completato.

Controlli di output e contesto ripetuto

Il produttore documenta una disponibilità predefinita di completamento di 131.072 token, configurabile fino a 1.048.576 entro i vincoli complessivi di contesto del modello. L’API K3 corrente fissa temperature a 1.0, top_p a 0.95, un risultato e penalità di presenza e frequenza pari a zero, indicando ai chiamanti di omettere quei controlli di campionamento. Sono impostazioni del profilo esatto del produttore, non un elenco trasferibile di controlli regolabili.

La cache del contesto è automatica per i prefissi ripetuti idonei, con scelte di TTL documentate di 5 minuti e 1 ora e 5 minuti come valore predefinito. I blocchi di cache parziali restano mancati riscontri. Mantieni stabile il contesto riutilizzabile e verifica l’utilizzo effettivo, anziché affermare un riscontro in cache dalla sola ripetizione del testo. Per l’elaborato finale, conserva fonti fornite, evidenze effettive degli strumenti e struttura di output richiesta e verifica che una risposta lunga o un risultato di ingegneria soddisfino i criteri di completamento dichiarati.

Ailoot Ultra · Batch POST /v1/batches moonshotai/kimi-k3:batch

moonshotai/kimi-k3:batch

MoonshotAI /moonshotai/kimi-k3:batch

Introduzione

Kimi K3 è il modello di ragionamento multimodale nativo di Moonshot AI per compiti lunghi di programmazione e lavoro intellettuale. Legge testo, immagini e video, produce testo e supporta flussi guidati da strumenti con un contesto di 1.048.576 token e cronologia del ragionamento conservata tra i passaggi.

Input accettati
Testo
Risultati
Testo

Disponibile in Ailoot · input e metodi

Ailoot Ultra · Batch POST /v1/batches
Tipi di input
text
Tipi di output
text
Formato di output
JSON inline di results[].response.body
CampoTipoRequisitoValori e limitiPredefinito
CampoendpointTipostringRequisitoObbligatorioValori e limiti
/v1/chat/completions
Predefinito—
CampomodelTipostringRequisitoObbligatorioValori e limiti
moonshotai/kimi-k3:batch
Predefinito—
CamporequestsTipobatch_item[]RequisitoObbligatorioValori e limiti
Numero minimo di elementi: 1
Predefinito—
Camporequests[].custom_idTipostringRequisitoObbligatorioValori e limitiPredefinito—
Camporequests[].body.messagesTipomessage[]RequisitoObbligatorioValori e limitiPredefinito—
Campocompletion_windowTipostringRequisitoFacoltativoValori e limiti
24h
Predefinito—
CampoproviderTipoobject|nullRequisitoFacoltativoValori e limitiPredefinito—
Camporequests[].body.modelTipostringRequisitoFacoltativoValori e limiti
moonshotai/kimi-k3:batch, moonshotai/kimi-k3
Predefinito—
Campoprovider.onlyTipostring[]RequisitoFacoltativoValori e limiti
deepinfra/bf16
Predefinito—
Campoprovider.allow_fallbacksTipoboolean|nullRequisitoFacoltativoValori e limiti
false, null
Predefinito—
Parametri e ciclo di vita del metodo
ParametroContratto
Parametrocontent_typeContrattoapplication/json
ParametrorequiredContrattoendpoint, model, requests
Parametromaterial_typesContrattotext
ParametrorepresentationContrattorequests[] inline; ogni elemento contiene custom_id e body
Parametrorequest_endpoint_profileContratto/v1/chat/completions
Parametrofile_materialContrattoIl chiamante può leggere localmente i dati JSONL effettivi in UTF-8 e inserirli in requests[]. Non viene usato alcun purpose di caricamento, input_file_id o riferimento a file. Il materiale del cliente mancante o vuoto interrompe la preparazione prima del POST.
Parametroserialization_orderContrattoendpoint, model, provider (se fornito), completion_window (se fornito), requests per ultimo
Parametrooptional_controlsContrattoprovider.only, provider.allow_fallbacks, completion_window
Parametroschema_scopeContrattoCorpi delle richieste Chat Completions per testo nella struttura inline Batch documentata.

Ciclo di vita: asynchronous

GET /v1/batches/{operation_id} · response.id effettivo della risposta alla creazione originale; stesso utente/chiave/gruppo

Tariffe

Le tariffe non aggiungono opzioni alla richiesta. I parametri supportati sono elencati nel metodo selezionato.

Modalità rapida
Non specificato Quando è selezionata la modalità rapida
Modalità flex
Non specificato Quando è selezionata la modalità flex
Sforzo massimo di ragionamento
Non specificato Quando lo sforzo massimo di ragionamento usa l'adeguamento predefinito (default)
Tariffe della cache esplicita
Non abilitato Quando viene richiesta una cache esplicita

Tariffe Ailoot

Prezzi per configurazione

Associa ogni costo alle condizioni indicate. Usa una sola tariffa per ogni insieme di configurazioni alternative.

ConfigurazioneListino delle tariffeToken di contesto, più diToken di contesto, fino al limite inclusoCosto
ConfigurazioneTariffe di base dei tokenListino delle tariffeTariffa baseToken di contesto, più di—Token di contesto, fino al limite inclusoNessun limite superioreCosto
Input · Token in input $0.00456 / 1K token
Output · Token in output $0.0228 / 1K token
Input · Lettura dalla cache $0.000456 / 1K token
Input · Scrittura nella cache — / 1K token
Input · Scrittura nella cache, 1 ora — / 1K token
ConfigurazioneFascia 1 di lunghezza della richiestaListino delle tariffe—Token di contesto, più di0Token di contesto, fino al limite inclusoNessun limite superioreCosto
Input · Token in input $0.00456 / 1K token
Output · Token in output $0.0228 / 1K token
Input · Lettura dalla cache $0.000456 / 1K token
Input · Scrittura nella cache — / 1K token
Input · Scrittura nella cache, 1 ora — / 1K token

Ailoot prenota un importo stimato prima di una richiesta. Dopo il risultato, addebita il costo finale in base all’utilizzo misurato. Per lo streaming, l’addebito usa il record finale di utilizzo. Come funzionano la prenotazione e l’addebito finale →

Esempi di richieste

Ailoot Ultra · Batch

curl · fixture conservataPython HTTP · JSONL effettivo del clientePython · salva ogni risultato completato
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.

Ricevi e salva i risultati

Ailoot Ultra · Batch

JSON inline di results[].response.body

  • GET /v1/batches/{operation_id}
Verifica lo stato dell’attività
curl · stato dell’operazione originale
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
Conserva tutti i risultati completati

Conserva ogni risposta, file e parte di contenuto restituiti per intero.

Conserva il JSON completo dello stato originale, ogni result/custom_id e il corpo completo della risposta o dell'errore. Salva i results[] completati come JSONL senza filtrarli.

Se occorre verificare la risposta originale

Conserva l'ID dell'operazione originale. La risposta 503 result_pending_check contiene X-Should-Retry:false; non reinviare mai un batch originale il cui esito è sconosciuto.

Campi della risposta
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
Errori e passaggi successivi
RispostaCondizionePassaggio successivo
Risposta400 · invalid_request_errorCondizioneStruttura inline documentata non valida, chiavi duplicate, identità degli elementi non valida o conflitto con le capacità configurate del modello.Passaggio successivoCorreggi i campi indicati prima di qualsiasi nuovo invio.
Risposta401 · authentication_errorCondizioneChiave API non valida.Passaggio successivoUsa la chiave Ailoot autorizzata.
Risposta403 · permission_errorCondizioneGruppo Batch non disponibile.Passaggio successivoVerifica le autorizzazioni della chiave e del gruppo.
Risposta422 · invalid_request_errorCondizioneBatch usa l'addebito sul saldo; la creazione tramite abbonamento viene rifiutata.Passaggio successivoUsa il gruppo autorizzato con addebito sul saldo.
Risposta422 · price_unavailableCondizioneNon è possibile formulare un preventivo per l'input Batch.Passaggio successivoConserva la risposta; usa l'input documentato per la famiglia.
Risposta402 · billing_errorCondizioneRiserva Batch non disponibile.Passaggio successivoRisolvi le condizioni di ammissione prima di una nuova richiesta.
Risposta503 · price_unavailableCondizionePrezzo del metodo Batch o tariffe native non disponibili.Passaggio successivoConserva la risposta; non sostituire i prezzi.
Risposta503 · api_errorCondizioneLa rotta esatta del fornitore non è disponibile.Passaggio successivoConserva la risposta per la riparazione della rotta.
Risposta503 · result_pending_checkCondizioneIl risultato originale richiede una verifica; X-Should-Retry:false.Passaggio successivoConserva operation_id/id originale e leggine lo stato; non ripetere mai il POST originale.
Risposta404 · not_foundCondizioneL'operazione di stato Batch è assente o appartiene a un'altra identità.Passaggio successivoUsa l'id originale esatto e lo stesso utente/chiave/gruppo.

Alias

Alias del modello

Ailoot Ultra moonshotai/kimi-k3:batch

Alias dei percorsi dei metodi

Usa i percorsi dei metodi indicati sopra.

ID di chiamata correlati

moonshotai/kimi-k3:batch

FAQ · MoonshotAI: Kimi K3 (batch)
Quali input e risultati sono disponibili?

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

Quali campi usa la richiesta?

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

Quali limiti si applicano?

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

Maggiori dettagli

Collega Ailoot a Claude Code, OpenCode, Hermes o alla tua applicazione.

L’azienda e il suo portafoglio di progetti

L’azienda e il suo portafoglio di progetti: milioni di clienti; vendite nell’ordine dei miliardi ogni mese.

Acquista token con uno sconto.

Sconto con abbonamento per lavoro regolare. Codici fino al 50% sull’acquisto di token.

Abbonamento
Scegli un piano scontato per richieste regolari.
Codice fino al 50%
Inserisci il codice all’acquisto. Il prezzo si aggiorna secondo la promozione.
Spese nella cronologia
Modello, token e importo sono salvati per ogni richiesta.

Scegli abbonamento · Consulta prezzi dei modelli

Collega l’API al prodotto che vendi.

SaaS, app e bot secondo offerta e accordo di licenza Ailoot. Per rivendere, richiedi una licenza reseller.

Applicazione commerciale
Integra generazione di testo, immagini, video e suono nelle funzioni a pagamento.
Licenza reseller
Invia descrizione del progetto e schema di accesso. Richiedi condizioni scritte per uso e rivendita.
Documenti sul sito
Offerta, accordo di licenza e politica sui dati sono disponibili prima della connessione.

Richiedi licenza reseller · Offerta e accordo di licenza