modeller

OpenAI: GPT-4.1 Nano (batch)

Markdown · JSON

OpenAI: GPT-4.1 Nano (batch)

GPT-4.1 Nano er det kompakte og responsive medlemmet av GPT-4.1-familien for presist spesifiserte tekst- og bildeoppgaver. Den store konteksten, Structured Outputs og funksjonskall støtter klassifisering, uthenting og avgrensede steg i applikasjonen.

Om modellen

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

GPT-4.1 Nano er OpenAIs raskeste medlem av GPT-4.1-familien, laget for instruksjonsfølging og verktøykall uten et separat resonneringstrinn. Den tar imot tekst og bilder og produserer tekst. Nano passer til en klart definert operasjon der applikasjonen trenger et kompakt svar, et sett med felter eller neste verktøyforespørsel fremfor en omfattende undersøkelse.

Et nyttig eksempel er å sortere innkommende meldinger etter et oppgitt sett med kategorier. Forklar hver kategori, vis hvordan tvetydige meldinger eller meldinger utenfor virkeområdet skal representeres og be om kategorien sammen med kildeformuleringen som støtter den. For uthenting definerer du feltnavn, tillatte verdier og håndtering av manglende opplysninger. For en kort skriveoppgave oppgir du faktaene og ber om det konkrete avsnittet som neste steg i applikasjonen trenger. Eksemplene og begrensningene bør være små nok til å forbli klare selv når kildesamlingen er stor.

Produsenten angir et kontekstvindu på 1047576 tokener, en maksimal utdatamengde på 32768 tokener og en kunnskapsgrense på 1. juni 2024. Disse spesifikasjonene samsvarer med vinduet til GPT-4.1 Mini, samtidig som Nanos separate modellidentitet og rolle med vekt på rask respons bevares. Merk dokumenter og samtaledeler, ta bare med konteksten som er relevant for operasjonen og sett av plass til hele svaret. Søkeresultater eller oppgitt referansetekst kan gi fakta som er nyere enn modellens innlærte kunnskap.

Nano støtter strømming og Structured Outputs. Et skjemabegrenset endelig svar har et annet formål enn et funksjonskall: det ene gir applikasjonen et ferdig produkt, mens det andre ber den utføre en operasjon. Structured Outputs støtter et delsett av JSON Schema; definer nødvendige egenskaper og en tydelig representasjon for ukjente verdier. Håndter avslag og ufullstendige svar separat og kontroller uthentede verdier mot inndataene, fremfor å likestille en gyldig form med en korrekt konklusjon.

Det dokumenterte verktøysettet inkluderer funksjonskall, filsøk, kodetolkning, MCP-tilkoblinger og et separat verktøy for bildegenerering. Applikasjonen oppgir verktøybeskrivelser og skjemaer, utfører egendefinerte funksjoner og returnerer de faktiske resultatene deres. For Nano-modellversjonen fra 14. april 2025 anbefaler OpenAI uttrykkelig å deaktivere parallelle verktøykall fordi modellen kan be om det samme verktøyet flere ganger i én tur. Dette er et hensyn ved utførelse som er spesifikt for modellversjonen, ikke en grunn til å tolke flere foreslåtte kall som fullførte handlinger.

Bildeinndata gir visuelle bevis til en tekstoppgave, som å lese en synlig etikett eller beskrive tilstanden i et skjermbilde. Bruk støttede bilder i PNG, JPEG, WebP eller ikke-animert GIF, hold teksten leselig og forklar hvilken observasjon som er viktig. Bildeveiledningen omtaler vansker med liten eller rotert tekst, presise romlige forhold, antall gjenstander og noe skrift utenfor det latinske alfabetet. Gi omkringliggende kontekst der et utsnitt alene ville gjøre en etikett eller et diagram tvetydig. Nanos eget svar er tekst; et verktøy for bildegenerering returnerer sitt eget separate produkt. I OpenAIs dokumenterte bildearbeidsflyt er forespørselens samlede datamengde begrenset til 512 MB, og en forespørsel kan inneholde opptil 1500 bilder; bildene og teksten må også passe i modellens kontekst.

I produsentens filarbeidsflyt mottar en modell med bildestøtte både uthentet tekst og sidebilder fra PDF-filer. Andre dokumentformater bidrar med uthentet tekst, og utvidet regnearkbehandling tar hensyn til opptil de første 1000 radene per ark. En fil må være under 50 MB, med 50 MB samlet for forespørselen. Chat Completions støtter PDF-fildeler, mens den dokumenterte Responses-arbeidsflyten godtar flere filtyper. Innebygde diagrammer i dokumenter som ikke er PDF, sendes ikke som bildeinnhold, så en PDF-representasjon er nyttig når visuelle bevis er viktige.

OpenAI dokumenterer hurtigbufring av instruksjoner for Nano og Predicted Outputs for GPT-4.1 Nano-serien. Hurtigbufring av instruksjoner gjenbruker et kvalifisert inndataprefiks i produsentens tjeneste. Predicted Outputs oppgir i stedet stort sett kjent utdatatekst for en endring, for eksempel revisjon av et dokument eller en kodefil der uendrede deler bevares. Prediksjonsveien bruker bare tekst og utelukker blant annet funksjonskall, logprobs og max_completion_tokens. Velg veien som passer den faktiske operasjonen og hold resultatet knyttet til originalkilden.

Produsenten dokumenterer også veiledet finjustering og direkte preferanseoptimalisering for Nanos navngitte GPT-4.1-modellversjon. Treningseksempler og foretrukne kontra avviste svar tilpasser en modell til en gjentakende oppgave; de er forskjellige fra konteksten som gis i en vanlig forespørsel. For et praktisk steg med uthenting eller klassifisering begynner du med tydelige kategorier, eksempler og et uttrykkelig sluttformat og undersøker så om de returnerte feltene bevarer faktaene neste steg skal bruke.

Ailoot Ultra · Batchbehandling POST /v1/batches openai/gpt-4.1-nano:batch

openai/gpt-4.1-nano:batch

OpenAI /openai/gpt-4.1-nano:batch

Start

GPT-4.1 Nano er det kompakte og responsive medlemmet av GPT-4.1-familien for presist spesifiserte tekst- og bildeoppgaver. Den store konteksten, Structured Outputs og funksjonskall støtter klassifisering, uthenting og avgrensede steg i applikasjonen.

Godkjente inndata
Tekst
Resultater
Tekst

Tilgjengelig i Ailoot · inndata & metoder

Ailoot Ultra · Batchbehandling POST /v1/batches
Inndatatyper
text
Utdatatyper
text
Utdataformat
JSON fra results[].response.body direkte i svaret
FeltTypeKravVerdier & grenserStandard
FeltendpointTypestringKravPåkrevdVerdier & grenser
/v1/chat/completions
Standard—
FeltmodelTypestringKravPåkrevdVerdier & grenser
openai/gpt-4.1-nano:batch
Standard—
FeltrequestsTypebatch_item[]KravPåkrevdVerdier & grenser
Minste antall elementer: 1
Standard—
Feltrequests[].custom_idTypestringKravPåkrevdVerdier & grenserStandard—
Feltrequests[].body.messagesTypemessage[]KravPåkrevdVerdier & grenserStandard—
Feltcompletion_windowTypestringKravValgfrittVerdier & grenser
24h
Standard—
FeltproviderTypeobject|nullKravValgfrittVerdier & grenserStandard—
Feltrequests[].body.modelTypestringKravValgfrittVerdier & grenser
openai/gpt-4.1-nano:batch, openai/gpt-4.1-nano
Standard—
Feltprovider.onlyTypestring[]KravValgfrittVerdier & grenser
openai
Standard—
Feltprovider.allow_fallbacksTypeboolean|nullKravValgfrittVerdier & grenser
false, null
Standard—
Metodeparametere og livssyklus
ParameterAvtale
Parametercontent_typeAvtaleapplication/json
ParameterrequiredAvtaleendpoint, model, requests
Parametermaterial_typesAvtaletext
ParameterrepresentationAvtalerequests[] direkte i forespørselen; hvert element har custom_id og body
Parameterrequest_endpoint_profileAvtale/v1/chat/completions
Parameterfile_materialAvtaleKlienten kan lese det faktiske UTF-8-kodede JSONL-innholdet lokalt inn i requests[]. Feltet purpose for opplasting, input_file_id og filreferanser brukes ikke. Manglende eller tomt kundemateriale stopper klargjøringen før POST.
Parameterserialization_orderAvtaleendpoint, model, provider (hvis angitt), completion_window (hvis angitt), requests til slutt
Parameteroptional_controlsAvtaleprovider.only, provider.allow_fallbacks, completion_window
Parameterschema_scopeAvtaleForespørselsinnhold for tekstbasert Chat Completions lagt direkte inn i det dokumenterte Batch-formatet.

Livssyklus: asynchronous

GET /v1/batches/{operation_id} · faktisk response.id fra den opprinnelige opprettelsen; samme bruker/nøkkel/gruppe

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
Priser for eksplisitt mellomlagring
Ikke aktivert Når eksplisitt mellomlagring forespørres

Ailoot-satser

Priser etter konfigurasjon

Knytt hver kostnad til de viste vilkårene. Bruk én sats for hvert sett med alternative konfigurasjoner.

KonfigurasjonPrisplanKonteksttokener, mer ennKonteksttokener, opptil og medKostnad
KonfigurasjonGrunnpriser for tokenerPrisplanGrunnsatsKonteksttokener, mer enn—Konteksttokener, opptil og medIngen øvre grenseKostnad
Inndata · Inngående tokener $0.0001 / 1K tokener
Utdata · Utgående tokener $0.0004 / 1K tokener
Inndata · Lesing fra hurtigbuffer $0.000025 / 1K tokener
Inndata · Skriving til hurtigbuffer — / 1K tokener
Inndata · Skriving til hurtigbuffer, 1 time — / 1K tokener
KonfigurasjonNivå 1 for forespørselslengdePrisplan—Konteksttokener, mer enn0Konteksttokener, opptil og medIngen øvre grenseKostnad
Inndata · Inngående tokener $0.0001 / 1K tokener
Utdata · Utgående tokener $0.0004 / 1K tokener
Inndata · Lesing fra hurtigbuffer $0.000025 / 1K tokener
Inndata · Skriving til hurtigbuffer — / 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 · Batchbehandling

curl · bevarte testdataPython HTTP · kundens faktiske JSONLPython · lagre hvert ferdige resultat
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":"openai/gpt-4.1-nano: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 ['openai/gpt-4.1-nano:batch', 'openai/gpt-4.1-nano']: raise ValueError("body.model must be an exact documented caller or wire ID")
    return {"endpoint":"/v1/chat/completions", "model":"openai/gpt-4.1-nano: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.

Motta og lagre resultater

Ailoot Ultra · Batchbehandling

JSON fra results[].response.body direkte i svaret

  • GET /v1/batches/{operation_id}
Kontroller jobbstatus
curl · status for opprinnelig operasjon
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
Behold alle ferdige resultater

Behold alle fullstendige returnerte svar, filer og innholdsdeler.

Bevar hele den opprinnelige statusresponsen i JSON, alle resultater og custom_id-verdier samt hele svar- eller feilinnholdet. Lagre fullførte results[] som JSONL uten filtrering.

Hvis det opprinnelige svaret må kontrolleres

Bevar den opprinnelige operasjons-ID-en. 503 result_pending_check har X-Should-Retry:false; send aldri den opprinnelige batchen på nytt når utfallet er ukjent.

Svarfelter
FeltType
Feltresults[].custom_idTypestring
Feltresults[].response.body.choices[].message.contentTypestring|null
Feltresults[].errorTypeobject|null
FeltusageTypeobject|null
FeltidTypestring
FeltmodelTypestring
FeltendpointTypestring
FeltstatusTypestring
Feltrequest_countsTypeobject
Feltresults[].idTypestring
Feltresults[].response.status_codeTypeinteger
Feltresults[].response.request_idTypestring
Feil og neste trinn
SvarVilkårNeste trinn
Svar400 · invalid_request_errorVilkårUgyldig struktur i det dokumenterte formatet med innebygde forespørsler, dupliserte nøkler, ugyldig elementidentitet eller konflikt med modellens konfigurerte funksjoner.Neste trinnRett de angitte feltene før du sender en ny forespørsel.
Svar401 · authentication_errorVilkårUgyldig API-nøkkel.Neste trinnBruk den autoriserte Ailoot-nøkkelen.
Svar403 · permission_errorVilkårGruppen for batchbehandling er ikke tilgjengelig.Neste trinnKontroller tilgangsrettighetene til nøkkelen/gruppen.
Svar422 · invalid_request_errorVilkårBatch belastes saldoen; opprettelse via abonnement avvises.Neste trinnBruk den autoriserte gruppen som belastes saldoen.
Svar422 · price_unavailableVilkårDet kan ikke beregnes en pris for batchens inndata.Neste trinnBevar svaret; bruk de dokumenterte inndataene for API-familien.
Svar402 · billing_errorVilkårBeløpsreservasjon for batchbehandling er ikke tilgjengelig.Neste trinnLøs problemet som hindrer forespørselen i å bli godkjent før du sender en ny forespørsel.
Svar503 · price_unavailableVilkårPris for Batch-metoden eller systemets innebygde satser er ikke tilgjengelige.Neste trinnBevar svaret; ikke erstatt prisene.
Svar503 · api_errorVilkårDen nøyaktige leverandørruten er ikke tilgjengelig.Neste trinnBevar svaret slik at ruten kan repareres.
Svar503 · result_pending_checkVilkårDet opprinnelige resultatet må kontrolleres; X-Should-Retry:false.Neste trinnBevar opprinnelig operation_id/id og les statusen; gjenta aldri den opprinnelige POST-forespørselen.
Svar404 · not_foundVilkårStatusoperasjonen for batchen finnes ikke eller tilhører en annen identitet.Neste trinnBruk nøyaktig den opprinnelige id-verdien og samme bruker/nøkkel/gruppe.

Aliaser

Modellaliaser

Ailoot Ultra openai/gpt-4.1-nano:batch

Aliaser for metodestier

Bruk metodestiene som vises ovenfor.

Tilknyttede anroper-ID-er

openai/gpt-4.1-nano:batch

FAQ · OpenAI: GPT-4.1 Nano (batch)
Hvilke inndata og resultater er tilgjengelige?

POST /v1/batches · openai/gpt-4.1-nano:batch: text → text

Hvilke felt bruker forespørselen?

POST /v1/batches · openai/gpt-4.1-nano:batch: endpoint, model, requests, completion_window, provider

Hvilke grenser gjelder?

POST /v1/batches · openai/gpt-4.1-nano:batch: requests.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