modeller

grok-4-1-fast-non-reasoning

Markdown · JSON

grok-4-1-fast-non-reasoning

Grok 4.1 Fast Non-Reasoning er xAIs variant for direkte svar i tekstsamtaler og verktøystøttede oppgaver. Familiens kontekst på to millioner tokener og trening over flere samtaleturer bidrar til å holde omfattende oppgavehistorikk, instruksjoner og returnert verktøyinformasjon samlet.

Om modellen

Denne beskrivelsen dekker modellens funksjoner. Tilgjengelige inndata, utdata og alternativer i Ailoot er oppført nedenfor for den valgte metoden.

Grok 4.1 Fast Non-Reasoning er xAIs navngitte variant for direkte svar i Grok 4.1 Fast-familien. Produsenten utgir den separat fra resonneringsvarianten og fremhever den som valget for umiddelbare svar. Den er nyttig for en tekstsamtale eller et verktøystøttet trinn med tydelig instruksjon, kjente inndata og et definert resultat. Non-Reasoning velger svarmodusen; Grok 4.1 Fast er fortsatt en egen familie, atskilt fra den vanlige Grok 4.1-modellen og fra Grok 4 Fast.

xAI utvikler Grok 4.1 Fast med utgangspunkt i virkelig verktøybruk. Treningen med forsterkningslæring bruker simulerte miljøer med ulike verktøy på mange områder, og kundestøtte fremheves som en praktisk anvendelse. For en slik oppgave gir du modellen brukerens forespørsel, relevante regler og funksjonene applikasjonen tillater. Oppgi hvilken informasjon som trengs for å velge neste handling. En illustrerende arbeidsflyt er å identifisere brukerens nåværende problem, be om en manglende detalj, velge et oppslag og deretter utarbeide et kort svar basert på informasjonen som returneres.

Produsenten fremhever også forsterkningslæring over mange trinn og scenarier med flere samtaleturer. Dette er relevant når en forespørsel fortsetter gjennom flere handlinger eller avklaringer. Bevar det opprinnelige målet, viktige begrensninger, tidligere svar og faktiske funksjonsresultater, slik at neste svar kan gjenspeile oppgavens nåværende tilstand. Hvis et verktøy rapporterer at informasjon mangler eller en handling mislyktes, tar du med dette resultatet fremfor å anta at handlingen lyktes. Be modellen forklare neste nødvendige trinn ut fra den observerte tilstanden, og hold en foreslått handling atskilt fra en handling applikasjonen har fullført.

Familien har en kontekst på to millioner tokener ifølge produsentens beskrivelse. Et stort vindu kan romme omfattende samtalehistorikk, instruksjoner og underbyggende dokumenter, men instruksjonen bør fortsatt gjøre det gjeldende spørsmålet lett å finne. Gi dokumenter stabile titler, bevar relevante identifikatorer og identifiser kilden til faktapåstander. For en lang støttesak ber du om problemet slik det står nå, faktaene som allerede er fastslått, og neste ubesvarte spørsmål. For dokumentbehandling angir du feltene som skal hentes ut, og hvordan en manglende eller motstridende verdi skal representeres.

Annonseringen av Grok 4.1 Fast introduserer også en separat verktøytjeneste for søk, kodekjøring og dokumentinnhenting. Modellens evne til verktøykall og tilgjengeligheten av et bestemt verktøy er ulike deler av arbeidsflyten. Beskriv verktøyene applikasjonen faktisk tilbyr, og returner resultatene deres til samtalen. I en forskningsoppgave definerer du spørsmålet, omfanget og dokumentasjonen du trenger, og ber deretter om en sammenstilling knyttet til det innhentede materialet. I en dataoppgave bruker du faktiske beregningsresultater som inndata til forklaringen fremfor å behandle et generert tall som en fullført beregning.

For en direkte tekstoperasjon gjør du beskrivelsen av ønsket utdata kort og presis. Du kan be om et omskrevet avsnitt som bevarer angitte fakta, et kort sammendrag av innsendt materiale, en kategori valgt etter uttrykkelige regler eller en tabell over uthentede detaljer. Ta med eksempler når det forventede formatet har viktige grensetilfeller. Dette er illustrerende anvendelser av tekst- og agentarbeidsflyten, ikke påstander om at alle inndata gir et korrekt resultat. Modusen for direkte svar kan holde resultatet fokusert når oppgaven allerede er godt spesifisert.

For faktabasert arbeid ber du den skille kildeunderbygd informasjon fra antakelser og markere manglende dokumentasjon. Kontroller viktige navn, identifikatorer, verdier og påståtte handlingsresultater mot originalmaterialet eller det faktiske verktøysvaret. Stor kontekst og en rask svarprosess erstatter ikke denne kontrollen. Velg den separat navngitte resonneringsvarianten når du ønsker en annen problemløsningsprosess, og behold Non-Reasoning for tydelige instruksjoner og et direkte sluttsvar. Definer fullføring ut fra ønsket resultat og eventuelle bekreftede operasjonsutfall, ikke bare ut fra at modellen har produsert et svar.

Praktisk oppgave

Praktisk oppgave

Teknisk eksempel på engelsk

Continue a support case from its state

Continue this support conversation with one concise reply. Customer: I cannot find order K19. Earlier reply: Please confirm the checkout email. Customer: It is pat@example.test. Supplied lookup result: No order found for K19 and that email. Ask for the next useful detail without saying the order was cancelled, refunded or located.

Forventet resultat

One customer-facing reply acknowledging the unsuccessful lookup and asking for a relevant missing order detail.

Kontroller resultatet

Check that the reply reflects the supplied no-match result and claims no completed account or order action.
Ailoot Ultra · OpenAI Chat POST /v1/chat/completions grok-4-1-fast-non-reasoning

grok-4-1-fast-non-reasoning

xAI /grok-4-1-fast-non-reasoning

Start

Grok 4.1 Fast Non-Reasoning er xAIs variant for direkte svar i tekstsamtaler og verktøystøttede oppgaver. Familiens kontekst på to millioner tokener og trening over flere samtaleturer bidrar til å holde omfattende oppgavehistorikk, instruksjoner og returnert verktøyinformasjon samlet.

Godkjente inndata
Tekst
Resultater
Tekst

Tilgjengelig i Ailoot · inndata & metoder

Ailoot Ultra · OpenAI Chat POST /v1/chat/completions
Inndatatyper
text
Utdatatyper
text
Utdataformat
json eller SSE
FeltTypeKravVerdier & grenserStandard
FeltmodelTypestringKravPåkrevdVerdier & grenser
grok-4-1-fast-non-reasoning
Standard—
FeltmessagesTypemessage[]KravPåkrevdVerdier & grenser
Minste antall elementer: 1
Standard—
Feltmessages[].roleTypestringKravPåkrevdVerdier & grenser
Eksempler: system, user, assistant, tool, function
Vilkår: Disse rollene representeres eksplisitt av kompatibilitetstyper i kildekoden; det eksakte rollesettet for modellen er fortsatt modellspesifikt.
Avhenger av modellen
Standard—
Feltmessages[].contentTypestring|content_part[]|nullKravValgfrittVerdier & grenserStandard—
Feltmessages[].tool_callsTypetool_call[]KravValgfrittVerdier & grenserStandard—
Feltmessages[].tool_call_idTypestringKravValgfrittVerdier & grenser
Gjelder når: role=tool; bruk faktisk returnert ID
Standard—
Feltmessages[].nameTypestringKravValgfrittVerdier & grenserStandard—
Feltmessages[].reasoning_contentTypestringKravValgfrittVerdier & grenser
Gjelder når: Send den faktisk returnerte resonneringen tilbake der denne modellen bruker den
Standard—
Feltmessages[].reasoning_detailsTypeobject|arrayKravValgfrittVerdier & grenser
Avhenger av modellen
Standard—
Feltmax_tokensTypeintegerKravValgfrittVerdier & grenser
Minimum: 1
Avhenger av modellen
Standard—
Feltmax_completion_tokensTypeintegerKravValgfrittVerdier & grenser
Minimum: 1
Avhenger av modellen
Standard—
FeltstreamTypebooleanKravValgfrittVerdier & grenserStandardfalse
Feltstream_options.include_usageTypebooleanKravValgfrittVerdier & grenser
Avhenger av modellen
Standard—
FelttemperatureTypenumberKravValgfrittVerdier & grenser
Avhenger av modellen
Standard—
Felttop_pTypenumberKravValgfrittVerdier & grenser
Avhenger av modellen
Standard—
FeltstopTypestring|string[]KravValgfrittVerdier & grenser
Avhenger av modellen
Standard—
FelttoolsTypefunction_tool[]KravValgfrittVerdier & grenser
Avhenger av modellen
Standard—
Felttools[].typeTypestringKravValgfrittVerdier & grenser
function
Avhenger av modellen
Standard—
Felttools[].function.nameTypestringKravPåkrevdVerdier & grenser
Gjelder når: funksjonsverktøy oppgitt
Standard—
Felttools[].function.descriptionTypestringKravValgfrittVerdier & grenserStandard—
Felttools[].function.parametersTypeJSON_schemaKravValgfrittVerdier & grenserStandard—
Felttool_choiceTypestring|objectKravValgfrittVerdier & grenser
Avhenger av modellen
Standard—
Feltparallel_tool_callsTypebooleanKravValgfrittVerdier & grenser
Avhenger av modellen
Standard—
Feltresponse_formatTypeobjectKravValgfrittVerdier & grenser
Avhenger av modellen
Standard—
Feltreasoning_effortTypestringKravValgfrittVerdier & grenser
Avhenger av modellen
Standard—
FeltreasoningTypeobjectKravValgfrittVerdier & grenser
Avhenger av modellen
Standard—
Feltservice_tierTypestringKravValgfrittVerdier & grenser
Avhenger av modellen
Standard—
FeltinstructionsTypestringKravValgfrittVerdier & grenser
Kompatibilitetsfelt
Standard—
FeltfunctionsTypefunction[]KravValgfrittVerdier & grenser
Avhenger av modellen
Standard—
Feltfunction_callTypestring|objectKravValgfrittVerdier & grenser
Avhenger av modellen
Standard—
Feltprompt_cache_optionsTypeobjectKravValgfrittVerdier & grenser
Avhenger av modellen
Standard—
FeltmodalitiesTypestring[]KravValgfrittVerdier & grenser
text
Standard—
FeltproviderTypeobjectKravValgfrittVerdier & grenser
Vilkår: provider.options avvises på denne Ultra-tekstruten
Standard—
Feltcache_control.ttlTypestringKravValgfrittVerdier & grenser
Vilkår: 1h avvises på faktiske steder for mellomlagring av ledetekster
Standard—
Kombinasjoner av inngående materialer

Tekst · UTF8-tekst

messages[].content

Metodeparametere og livssyklus
ParameterAvtale
Parametercontent_typeAvtaleapplication/json
ParameterrequiredAvtalemodel, messages
Parametermaterial_typesAvtaletext
ParametermessagesAvtalemeldingstabell med role/content-struktur
Parameterfile_materialAvtalefaktisk UTF-8-dokument satt inn som bokstavelig tekst; ingen fil-ID utledes
Parameteroptional_controlsAvtalestream, temperature, top_p, stop, max_tokens, max_completion_tokens, reasoning, response_format, tools, tool_choice
Parametercontrol_scopeAvtalemodellspesifikt; brukerens funksjonsverktøy skiller seg fra driftede verktøy
Parameteroutput_modalitiesAvtaletext
Parameterhosted_operationsAvtalefalse
Parametermultimodal_input_bindingAvtalenull

Livssyklus: synchronous_or_streamed

Send eksakt modell-ID sammen med messages.

Kontekstlengde er ikke en outputgrense.

En tekstfil kan levere bokstavelig tekst; bilde-, lyd- og filobjektinput trenger eksakt binding.

Priser

Tariffopplysninger legger ikke til forespørselsvalg. Støttede parametere står ved den valgte metoden.

Hurtigmodus
Ikke angitt Når hurtigmodus er valgt
Flex-modus
Ikke angitt Når flex-modus er valgt
Maksimal resonneringsinnsats
Ikke angitt Når justeringen «default» brukes for maksimal resonneringsinnsats

Ailoot-satser

Priser etter konfigurasjon

KonfigurasjonPrisplanKostnad
KonfigurasjonGrunnpriser for tokenerPrisplanGrunnsatsKostnad
Inndata · Inngående tokener $0.0004 / 1K tokener
Utdata · Utgående tokener $0.001 / 1K tokener
Inndata · Lesing fra hurtigbuffer $0 / 1K tokener
Inndata · Skriving til hurtigbuffer $0 / 1K tokener
Inndata · Skriving til hurtigbuffer, 1 time — / 1K tokener

Ailoot reserverer et estimert beløp før en forespørsel. Etter resultatet gjøres det endelige beløpet opp basert på målt forbruk. Oppgjør for strømming bruker den endelige forbruksposten. Slik fungerer reservasjon og oppgjør →

Eksempelforespørsler

Ailoot Ultra · OpenAI Chat

curlPython SDKPython-strømming
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model": "grok-4-1-fast-non-reasoning", "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='grok-4-1-fast-non-reasoning',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='grok-4-1-fast-non-reasoning',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")

Motta og lagre resultater

Ailoot Ultra · OpenAI Chat

json eller SSE

Behold alle ferdige resultater

Behold alle fullstendige returnerte svar, filer og innholdsdeler.

Behold hvert svaralternativ med innhold, verktøykall og resonnering. Sett sammen endringer i SSE etter svaralternativets/verktøyets indeks, og behold endelig avslutningsgrunn og bruksdata.

Hvis det opprinnelige svaret må kontrolleres

Behold forespørsels-/svar-ID-er og headere. Ingen generell URL for henting av tekstjobber oppgis.

Svarfelter
FeltType
Feltchoices[].indexTypeinteger
Feltchoices[].message.contentTypestring|null
Feltchoices[].message.tool_callsTypetool_call[]
Feltchoices[].message.reasoning_contentTypestring
Feltchoices[].message.reasoning_detailsTypeobject|array
Feltchoices[].finish_reasonTypestring|null
FeltusageTypeobject
Feil og neste trinn
SvarVilkårNeste trinn
Svar400 · invalid_request_errorVilkårUgyldige påkrevde felter, materialrepresentasjon eller parameterverdiNeste trinnKorriger de angitte feltene før en ny opprettelsesforespørsel.

Aliaser

Modellaliaser

Ailoot Ultra grok-4-1-fast-non-reasoning

Aliaser for metodestier

Bruk metodestiene som vises ovenfor.

Tilknyttede anroper-ID-er

grok-4-1-fast-non-reasoning

Ailoot Ultra · Anthropic Messages POST /v1/messages grok-4-1-fast-non-reasoning

grok-4-1-fast-non-reasoning

xAI /grok-4-1-fast-non-reasoning

Start

Grok 4.1 Fast Non-Reasoning er xAIs variant for direkte svar i tekstsamtaler og verktøystøttede oppgaver. Familiens kontekst på to millioner tokener og trening over flere samtaleturer bidrar til å holde omfattende oppgavehistorikk, instruksjoner og returnert verktøyinformasjon samlet.

Godkjente inndata
Tekst
Resultater
json · sse

Tilgjengelig i Ailoot · inndata & metoder

Ailoot Ultra · Anthropic Messages POST /v1/messages
Inndatatyper
text
Utdatatyper
json, sse
Utdataformat
JSON eller SSE
FeltTypeKravVerdier & grenserStandard
FeltmodelTypestringKravPåkrevdVerdier & grenser
grok-4-1-fast-non-reasoning
Standard—
FeltmessagesTypemessage[]KravPåkrevdVerdier & grenserStandard—
Feltmessages[].roleTypestringKravPåkrevdVerdier & grenser
user, assistant
Standard—
Feltmessages[].contentTypestringKravPåkrevdVerdier & grenserStandard—
Feltmax_tokensTypeintegerKravPåkrevdVerdier & grenserStandard—
FeltstreamTypebooleanKravValgfrittVerdier & grenserStandardfalse
Kombinasjoner av inngående materialer

Tekst · UTF-8-tekst

messages[].content-streng

Metodeparametere og livssyklus
ParameterAvtale
Parametercontent_typeAvtaleapplication/json
ParameterrequiredAvtalemodel, messages, max_tokens
Parameteroptional_controlsAvtalestream
Parametermaterial_typesAvtaletext
Parametertext_file_materialAvtaleLes det faktiske UTF-8-dokumentet og legg teksten i den angitte input- eller meldingsinnholdsstrengen.

Livssyklus: synchronous_or_streamed

Priser

Tariffopplysninger legger ikke til forespørselsvalg. Støttede parametere står ved den valgte metoden.

Hurtigmodus
Ikke angitt Når hurtigmodus er valgt
Flex-modus
Ikke angitt Når flex-modus er valgt
Maksimal resonneringsinnsats
Ikke angitt Når justeringen «default» brukes for maksimal resonneringsinnsats

Ailoot-satser

Priser etter konfigurasjon

KonfigurasjonPrisplanKostnad
KonfigurasjonGrunnpriser for tokenerPrisplanGrunnsatsKostnad
Inndata · Inngående tokener $0.0004 / 1K tokener
Utdata · Utgående tokener $0.001 / 1K tokener
Inndata · Lesing fra hurtigbuffer $0 / 1K tokener
Inndata · Skriving til hurtigbuffer $0 / 1K tokener
Inndata · Skriving til hurtigbuffer, 1 time — / 1K tokener

Ailoot reserverer et estimert beløp før en forespørsel. Etter resultatet gjøres det endelige beløpet opp basert på målt forbruk. Oppgjør for strømming bruker den endelige forbruksposten. Slik fungerer reservasjon og oppgjør →

Eksempelforespørsler

Ailoot Ultra · Anthropic Messages

Komplett, minimal JSON-kroppcurl · bruk UTF-8-dokumentet dittPython · lagre hele resultatet
{
  "model": "grok-4-1-fast-non-reasoning",
  "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': 'grok-4-1-fast-non-reasoning', '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': 'grok-4-1-fast-non-reasoning', '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))

Motta og lagre resultater

Ailoot Ultra · Anthropic Messages

JSON eller SSE

Behold alle ferdige resultater

Behold alle fullstendige returnerte svar, filer og innholdsdeler.

Behold alle innholdsblokker, resonneringssignaturer og faktiske ID-er for verktøybruk. Sett sammen alle SSE-blokkendringer; den første tekstblokken er ikke hele resultatet.

Hvis det opprinnelige svaret må kontrolleres

Behold forespørsels-/svar-ID-er og headere. Ingen generell URL for henting av tekstjobber oppgis.

Svarfelter
FeltType
FeltidTypestring
FeltmodelTypestring
Feltcontent[]Typetext|thinking|tool_use|other content block
Feltstop_reasonTypestring|null
FeltusageTypeobject
Feil og neste trinn
SvarVilkårNeste trinn
Svar400 · invalid_request_errorVilkårUgyldige påkrevde felter, materialrepresentasjon eller parameterverdiNeste trinnKorriger de angitte feltene før en ny opprettelsesforespørsel.

Aliaser

Modellaliaser

Ailoot Ultra grok-4-1-fast-non-reasoning

Aliaser for metodestier

Bruk metodestiene som vises ovenfor.

Tilknyttede anroper-ID-er

grok-4-1-fast-non-reasoning

FAQ · grok-4-1-fast-non-reasoning
Hvilke inndata og resultater er tilgjengelige?

POST /v1/chat/completions · grok-4-1-fast-non-reasoning: text → text

POST /v1/messages · grok-4-1-fast-non-reasoning: text → json, sse

Hvilke felt bruker forespørselen?

POST /v1/chat/completions · grok-4-1-fast-non-reasoning: model, messages, stream, modalities, provider

POST /v1/messages · grok-4-1-fast-non-reasoning: model, messages, max_tokens, stream

Hvilke grenser gjelder?

POST /v1/chat/completions · grok-4-1-fast-non-reasoning: messages.min_items: 1

Flere detaljer

Koble Ailoot til Claude Code, OpenCode, Hermes eller egen applikasjon.

Selskapet og dets prosjektportefølje

Selskapet og dets prosjektportefølje: millioner av kunder; månedlig salg for milliarder.

Kjøp tokener med rabatt.

Abonnementsrabatt for jevnlig bruk. Kampanjekoder gir opptil 50% på tokenkjøp.

Abonnement
Velg et rabattabonnement for faste forespørsler.
Kampanjekode opptil 50%
Oppgi kode ved kjøp. Prisen beregnes på nytt etter gjeldende kampanje.
Kostnader i historikken
Modell, tokener og beløp lagres for hver forespørsel.

Velg abonnement · Se modellpriser

Koble API-et til produktet du selger.

SaaS, apper og boter etter Ailoots offentlige tilbud og lisensavtale. Be om forhandlerlisens for videresalg.

Kommersiell applikasjon
Bygg tekst-, bilde-, video- og lydgenerering inn i betalte funksjoner i tjenesten.
Forhandlerlisens
Send prosjektbeskrivelse og tilgangsopplegg. Be om skriftlige vilkår for bruk og videresalg.
Dokumenter på nettstedet
Offentlig tilbud, lisensavtale og retningslinjer for databehandling er tilgjengelige før tilkobling.

Be om forhandlerlisens · Offentlig tilbud og lisensavtale