models

OpenAI: GPT-4.1 Nano (batch)

Markdown · JSON

OpenAI: GPT-4.1 Nano (batch)

GPT-4.1 Nano yra kompaktiškas, greitai atsakantis GPT-4.1 šeimos modelis tiksliai apibrėžtoms teksto ir vaizdų užduotims. Didelis kontekstas, Structured Outputs ir funkcijų iškvietimas palaiko klasifikavimą, duomenų išgavimą ir konkrečius programos žingsnius.

Apie modelį

Šis aprašas apima modelio galimybes. Pasirinktam metodui Ailoot prieinamos įvestys, išvestys ir parinktys nurodytos toliau.

GPT-4.1 Nano yra greičiausias OpenAI GPT-4.1 šeimos modelis, skirtas instrukcijų laikymuisi ir įrankių iškvietimui be atskiro samprotavimo etapo. Priima tekstą bei vaizdus ir generuoja tekstą. Nano tinka aiškiai apibrėžtai operacijai, kai programai reikia glausto atsakymo, laukų rinkinio ar kitos įrankio užklausos, o ne plataus tyrimo.

Naudingas pavyzdys — gaunamų pranešimų rūšiavimas pagal pateiktą kategorijų rinkinį. Paaiškinkite kiekvieną kategoriją, parodykite, kaip pateikti dviprasmiškus ar už aprėpties ribų esančius pranešimus, ir paprašykite kategorijos kartu su ją pagrindžiančia šaltinio fraze. Duomenų išgavimui apibrėžkite laukų vardus, leidžiamas reikšmes ir trūkstamos informacijos tvarkymą. Trumpai rašymo užduočiai pateikite faktus ir paprašykite konkrečios ištraukos, kurios reikia kitam programos etapui. Pavyzdžiai ir apribojimai turėtų būti pakankamai nedideli, kad išliktų aiškūs net dideliame šaltinių rinkinyje.

Gamintojas nurodo 1 047 576 žetonų konteksto langą, didžiausią 32 768 žetonų išvestį ir žinių ribą — 2024 m. birželio 1 d. Šios specifikacijos atitinka GPT-4.1 Mini langą, išsaugant atskirą Nano modelio tapatybę ir į greitą atsaką orientuotą vaidmenį. Pažymėkite dokumentus ir pokalbio dalis, įtraukite tik operacijai aktualų kontekstą ir palikite vietos visam atsakymui. Paieškos rezultatai ar pateiktas informacinis tekstas gali suteikti faktų, naujesnių už modelio išmoktas žinias.

Nano palaiko srautinį perdavimą ir Structured Outputs. Schema apribotas galutinis atsakymas turi kitą paskirtį nei funkcijos iškvietimas: vienas suteikia programai užbaigtą artefaktą, o kitas prašo atlikti operaciją. Structured Outputs palaiko JSON Schema poaibį; apibrėžkite privalomas savybes ir aiškų nežinomų reikšmių pateikimą. Atsisakymus ir neužbaigtus atsakymus tvarkykite atskirai, o išgautas reikšmes tikrinkite pagal įvestį, nelaikydami galiojančios struktūros teisingos išvados atitikmeniu.

Dokumentuotą įrankių rinkinį sudaro funkcijų iškvietimas, paieška failuose, kodo vykdymas, MCP jungtys ir atskiras vaizdų generavimo įrankis. Programa pateikia įrankių aprašus bei schemas, vykdo pasirinktines funkcijas ir grąžina tikrus jų rezultatus. 2025 m. balandžio 14 d. Nano versijai OpenAI konkrečiai rekomenduoja išjungti lygiagrečius įrankių iškvietimus, nes modelis viename žingsnyje gali kelis kartus paprašyti to paties įrankio. Tai konkrečios versijos vykdymo aplinkybė, o ne priežastis kelis siūlomus iškvietimus laikyti atliktais veiksmais.

Vaizdų įvestis suteikia vaizdinių duomenų teksto užduočiai, pavyzdžiui, perskaityti matomą etiketę ar aprašyti ekrano kopijoje rodomą būseną. Naudokite palaikomus PNG, JPEG, WebP ar neanimuotus GIF vaizdus, išlaikykite tekstą įskaitomą ir paaiškinkite svarbų stebėjimą. Vaizdų supratimo vadove pažymimi sunkumai su smulkiu ar pasuktu tekstu, tiksliais erdviniais ryšiais, objektų skaičiumi ir kai kurių ne lotynų rašto sistemų tekstu. Pateikite aplinkinį kontekstą, kai vien iškarpa padarytų etiketę ar diagramą dviprasmišką. Paties Nano atsakymas yra tekstas; vaizdų generavimo įrankis grąžina atskirą artefaktą. Dokumentuotame OpenAI vaizdų supratimo procese bendras užklausos duomenų dydis ribojamas 512 MB, o vienoje užklausoje gali būti iki 1 500 vaizdų; vaizdai ir tekstas taip pat turi tilpti į modelio kontekstą.

Gamintojo failų procese vaizdus suprantantis modelis iš PDF gauna ir išgautą tekstą, ir puslapių vaizdus. Kiti dokumentų formatai pateikia išgautą tekstą, o skaičiuoklių papildymui naudojama ne daugiau kaip pirmosios 1 000 kiekvieno lapo eilučių. Failas turi būti mažesnis nei 50 MB, o bendra užklausos failų riba yra 50 MB. Chat Completions palaiko PDF failų dalis, o dokumentuotas Responses procesas priima papildomus failų tipus. Ne PDF dokumentuose esančios diagramos neperduodamos kaip vaizdinis turinys, todėl PDF pateikimas naudingas, kai svarbūs vaizdiniai duomenys.

OpenAI dokumentuoja Nano užklausų podėlį ir Predicted Outputs GPT-4.1 Nano serijai. Užklausų podėlis gamintojo tarnyboje pakartotinai naudoja tam tinkamą įvesties pradžią. Predicted Outputs vietoje to pateikia daugiausia žinomą išvesties tekstą redagavimui, pavyzdžiui, dokumentui ar kodo failui pataisyti išsaugant nepakitusias dalis. Prognozavimo kelias skirtas tik tekstui ir, be kitų valdiklių, nepalaiko funkcijų iškvietimo, logprobs ir max_completion_tokens. Kelią pasirinkite pagal tikrą operaciją ir išsaugokite jo rezultato ryšį su pradiniu šaltiniu.

Gamintojas taip pat dokumentuoja prižiūrimą papildomą mokymą ir tiesioginį pirmenybių optimizavimą įvardytai Nano GPT-4.1 versijai. Mokymo pavyzdžiai ir pageidaujami bei atmesti atsakymai pritaiko modelį kartotinei užduočiai; jie skiriasi nuo konteksto, pateikiamo įprastai užklausai. Praktiniam duomenų išgavimo ar klasifikavimo etapui pradėkite nuo aiškių kategorijų, pavyzdžių ir konkretaus galutinio formato, tada patikrinkite, ar grąžinti laukai išsaugo faktus, kuriuos naudos kitas etapas.

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

openai/gpt-4.1-nano:batch

OpenAI /openai/gpt-4.1-nano:batch

Pradžia

GPT-4.1 Nano yra kompaktiškas, greitai atsakantis GPT-4.1 šeimos modelis tiksliai apibrėžtoms teksto ir vaizdų užduotims. Didelis kontekstas, Structured Outputs ir funkcijų iškvietimas palaiko klasifikavimą, duomenų išgavimą ir konkrečius programos žingsnius.

Leidžiamos įvestys
Tekstas
Rezultatai
Tekstas

Prieinama Ailoot · įvestys ir metodai

Ailoot Ultra · Paketinis apdorojimas POST /v1/batches
Įvestis
text
Išvestis
text
Išvesties formatas
tiesiogiai įterptas results[].response.body JSON
LaukasTipasReikalavimasReikšmės ir ribosNumatyta
LaukasendpointTipasstringReikalavimasPrivalomaReikšmės ir ribos
/v1/chat/completions
Numatyta—
LaukasmodelTipasstringReikalavimasPrivalomaReikšmės ir ribos
openai/gpt-4.1-nano:batch
Numatyta—
LaukasrequestsTipasbatch_item[]ReikalavimasPrivalomaReikšmės ir ribos
Mažiausias elementų skaičius: 1
Numatyta—
Laukasrequests[].custom_idTipasstringReikalavimasPrivalomaReikšmės ir ribosNumatyta—
Laukasrequests[].body.messagesTipasmessage[]ReikalavimasPrivalomaReikšmės ir ribosNumatyta—
Laukascompletion_windowTipasstringReikalavimasNeprivalomaReikšmės ir ribos
24h
Numatyta—
LaukasproviderTipasobject|nullReikalavimasNeprivalomaReikšmės ir ribosNumatyta—
Laukasrequests[].body.modelTipasstringReikalavimasNeprivalomaReikšmės ir ribos
openai/gpt-4.1-nano:batch, openai/gpt-4.1-nano
Numatyta—
Laukasprovider.onlyTipasstring[]ReikalavimasNeprivalomaReikšmės ir ribos
openai
Numatyta—
Laukasprovider.allow_fallbacksTipasboolean|nullReikalavimasNeprivalomaReikšmės ir ribos
false, null
Numatyta—
Metodo parametrai ir gyvavimo ciklas
ParametrasSpecifikacija
Parametrascontent_typeSpecifikacijaapplication/json
ParametrasrequiredSpecifikacijaendpoint, model, requests
Parametrasmaterial_typesSpecifikacijatext
ParametrasrepresentationSpecifikacijatiesiogiai įterptas requests[] masyvas; kiekvienas elementas turi custom_id ir body laukus
Parametrasrequest_endpoint_profileSpecifikacija/v1/chat/completions
Parametrasfile_materialSpecifikacijaKlientas gali vietoje perskaityti faktinį UTF-8 JSONL turinį į requests[] masyvą. Įkėlimo purpose, input_file_id ar failo nuoroda nenaudojami. Jei kliento medžiagos nėra arba ji tuščia, parengimas sustabdomas prieš POST.
Parametrasserialization_orderSpecifikacijaendpoint, model, provider (jei pateiktas), completion_window (jei pateiktas), requests pateikite paskiausiai
Parametrasoptional_controlsSpecifikacijaprovider.only, provider.allow_fallbacks, completion_window
Parametrasschema_scopeSpecifikacijaTekstinių Chat Completions užklausų turiniai dokumentuotoje Batch paketo struktūroje, pateikiamoje pačioje užklausoje.

Gyvavimo ciklas: asynchronous

GET /v1/batches/{operation_id} · faktinė pradinės kūrimo užklausos atsakymo response.id reikšmė; tas pats naudotojas, raktas ir grupė

Planai

Tarifų informacija neprideda užklausos parinkčių. Palaikomi parametrai nurodyti prie pasirinkto metodo.

Spartusis režimas
Nenurodyta Pasirinkus spartųjį režimą
Flex režimas
Nenurodyta Pasirinkus flex režimą
Didžiausios samprotavimo pastangos
Nenurodyta Kai didžiausioms samprotavimo pastangoms taikomas numatytasis koregavimas (default)
Išreikštinio podėlio kainodara
Neįjungta Kai prašoma išreikštinio podėlio

Ailoot įkainiai

Kainos pagal konfigūraciją

Kiekvieną mokestį susiekite su nurodytomis sąlygomis. Kiekvienam alternatyvių konfigūracijų rinkiniui taikykite vieną įkainį.

KonfigūracijaĮkainių lentelėKonteksto tokenų daugiau neiKonteksto tokenų iki imtinaiMokestis
KonfigūracijaBaziniai žetonų įkainiaiĮkainių lentelėBazinis įkainisKonteksto tokenų daugiau nei—Konteksto tokenų iki imtinaiBe viršutinės ribosMokestis
Įvestis · Įvesties tokenai $0.0001 / 1K tokenų
Išvestis · Išvesties tokenai $0.0004 / 1K tokenų
Įvestis · Talpyklos skaitymas $0.000025 / 1K tokenų
Įvestis · Rašymas į talpyklą — / 1K tokenų
Įvestis · Rašymas į talpyklą, 1 val — / 1K tokenų
KonfigūracijaUžklausos ilgio pakopa 1Įkainių lentelė—Konteksto tokenų daugiau nei0Konteksto tokenų iki imtinaiBe viršutinės ribosMokestis
Įvestis · Įvesties tokenai $0.0001 / 1K tokenų
Išvestis · Išvesties tokenai $0.0004 / 1K tokenų
Įvestis · Talpyklos skaitymas $0.000025 / 1K tokenų
Įvestis · Rašymas į talpyklą — / 1K tokenų
Įvestis · Rašymas į talpyklą, 1 val — / 1K tokenų

Ailoot prieš užklausą rezervuoja numatomą sumą. Gavus rezultatą, galutinis mokestis nuskaitomas pagal išmatuotą naudojimą. Srautinio atsakymo atsiskaitymui naudojamas galutinis naudojimo įrašas. Kaip veikia rezervavimas ir atsiskaitymas →

Užklausų pavyzdžiai

Ailoot Ultra · Paketinis apdorojimas

curl · išsaugotas testinių duomenų rinkinysPython HTTP · tikri kliento JSONL duomenysPython · išsaugokite kiekvieną užbaigtą rezultatą
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.

Gauti ir išsaugoti rezultatus

Ailoot Ultra · Paketinis apdorojimas

tiesiogiai įterptas results[].response.body JSON

  • GET /v1/batches/{operation_id}
Tikrinti užduoties būseną
curl · pirminės operacijos būsena
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
Išsaugoti visus baigtus rezultatus

Išsaugokite kiekvieną visą grąžintą atsakymą, failą ir turinio dalį.

Išsaugokite visą pradinės būsenos JSON, kiekvieną rezultatą ir custom_id bei visą atsakymo arba klaidos turinį. Užbaigtus results[] išsaugokite JSONL formatu nieko nefiltruodami.

Jei reikia patikrinti pradinį atsakymą

Išsaugokite pradinį operacijos ID. Atsakyme 503 result_pending_check pateikiama X-Should-Retry:false; niekada pakartotinai neteikite pradinio paketo, kurio baigtis nežinoma.

Atsakymo laukai
LaukasTipas
Laukasresults[].custom_idTipasstring
Laukasresults[].response.body.choices[].message.contentTipasstring|null
Laukasresults[].errorTipasobject|null
LaukasusageTipasobject|null
LaukasidTipasstring
LaukasmodelTipasstring
LaukasendpointTipasstring
LaukasstatusTipasstring
Laukasrequest_countsTipasobject
Laukasresults[].idTipasstring
Laukasresults[].response.status_codeTipasinteger
Laukasresults[].response.request_idTipasstring
Klaidos ir tolesni veiksmai
AtsakymasSąlygaKitas žingsnis
Atsakymas400 · invalid_request_errorSąlygaNeteisinga dokumentuota tiesiogiai įterpto paketo struktūra, pasikartojantys raktai, netinkama elemento tapatybė arba konfliktas su sukonfigūruotomis modelio galimybėmis.Kitas žingsnisPrieš bet kokį naują pateikimą pataisykite nurodytus laukus.
Atsakymas401 · authentication_errorSąlygaNegaliojantis API raktas.Kitas žingsnisNaudokite leistiną Ailoot raktą.
Atsakymas403 · permission_errorSąlygaPaketinio apdorojimo grupė neprieinama.Kitas žingsnisPatikrinkite rakto ir grupės prieigos teises.
Atsakymas422 · invalid_request_errorSąlygaPaketinis apdorojimas apmokamas iš balanso; kūrimo užklausos su prenumeratos apmokėjimu atmetamos.Kitas žingsnisNaudokite leistiną grupę, kurios užklausos apmokamos iš balanso.
Atsakymas422 · price_unavailableSąlygaNepavyksta apskaičiuoti paketinio apdorojimo įvesties kainos.Kitas žingsnisIšsaugokite atsakymą; naudokite dokumentuotą šios API šeimos įvestį.
Atsakymas402 · billing_errorSąlygaPaketiniam apdorojimui reikalingas rezervas neprieinamas.Kitas žingsnisPrieš teikdami naują užklausą išspręskite užklausos priėmimo problemą.
Atsakymas503 · price_unavailableSąlygaPaketinio apdorojimo metodo kaina arba savieji sistemos įkainiai neprieinami.Kitas žingsnisIšsaugokite atsakymą; nekeiskite kainų kitomis.
Atsakymas503 · api_errorSąlygaKonkretus tiekėjo maršrutas neprieinamas.Kitas žingsnisIšsaugokite atsakymą maršrutui pataisyti.
Atsakymas503 · result_pending_checkSąlygaPradinį rezultatą reikia patikrinti; X-Should-Retry:false.Kitas žingsnisIšsaugokite pradinę operation_id/id reikšmę ir tikrinkite operacijos būseną; niekada nekartokite pradinės POST užklausos.
Atsakymas404 · not_foundSąlygaPaketinio apdorojimo būsenos operacijos nėra arba ji susieta su kita tapatybe.Kitas žingsnisNaudokite tikslią pradinę id reikšmę ir tą patį naudotoją, raktą bei grupę.

Pseudonimai

Modelių pseudonimai

Ailoot Ultra openai/gpt-4.1-nano:batch

Metodų kelių pseudonimai

Naudokite aukščiau nurodytus metodų kelius.

Susiję ID iškvietimui

openai/gpt-4.1-nano:batch

FAQ · OpenAI: GPT-4.1 Nano (batch)
Kokios įvestys ir rezultatai prieinami?

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

Kokius laukus naudoja užklausa?

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

Kokie apribojimai taikomi?

POST /v1/batches · openai/gpt-4.1-nano:batch: requests.min_items: 1

Išsamiau

Prijunkite Ailoot prie Claude Code, OpenCode, Hermes arba savo programos.

Įmonė ir jos projektų portfelis

Įmonė ir jos projektų portfelis: milijonai klientų; mėnesio pardavimai siekia milijardus.

Pirkite žetonus su nuolaida.

Prenumeratos nuolaida reguliariam darbui. Kodai — iki 50% žetonų pirkimui.

Prenumerata
Pasirinkite planą su nuolaida reguliarioms užklausoms.
Nuolaidos kodas iki 50%
Įveskite kodą perkant. Kaina perskaičiuojama pagal galiojančios akcijos sąlygas.
Išlaidos istorijoje
Kiekvienai užklausai išsaugomi modelis, žetonai ir suma.

Pasirinkti prenumeratą · Peržiūrėti modelių kainas

Prijunkite API prie produkto, kurį parduodate.

SaaS, programos ir botai pagal Ailoot ofertą bei licencijos sutartį. Perpardavimui paprašykite perpardavėjo licencijos.

Komercinė programa
Teksto, vaizdų, video ir garso kūrimą integruokite į mokamas paslaugos funkcijas.
Perpardavėjo licencija
Atsiųskite projekto aprašymą ir prieigos schemą. Paprašykite rašytinių naudojimo ir perpardavimo sąlygų.
Dokumentai svetainėje
Oferta, licencijos sutartis ir duomenų tvarkymo politika prieinamos prieš prisijungiant.

Paprašyti perpardavėjo licencijos · Oferta ir licencijos sutartis