model

OpenAI: GPT-4o (batch)

Markdown · JSON

OpenAI: GPT-4o (batch)

GPT-4o menggabungkan pemahaman teks dan imej dengan penulisan, pengaturcaraan, Structured Outputs dan alat aplikasi. Gunakan model untuk membangunkan respons berasaskan bukti, mentafsir bahan visual atau mengembalikan medan yang ditentukan daripada kumpulan sumber yang besar.

Tentang model

Huraian ini merangkumi keupayaan model. Input, output dan pilihan yang tersedia di Ailoot disenaraikan di bawah untuk kaedah yang dipilih.

GPT-4o ialah model GPT serba guna OpenAI untuk pemahaman teks dan imej, penulisan serta kerja aplikasi. Huruf “o” bermaksud “omni”, manakala model yang didokumenkan ini menerima teks dan imej serta mengembalikan teks, termasuk Structured Outputs. Permintaan praktikal boleh menggabungkan taklimat bertulis dengan foto, tangkapan skrin atau halaman dokumen dan meminta penjelasan jelas, hasil yang disunting atau medan yang ditentukan untuk peringkat aplikasi lain.

Untuk laporan, bekalkan dokumen sumber dan keputusan yang perlu disokong oleh laporan. Kenal pasti tarikh, unit dan label bukti berkaitan, kemudian minta perbandingan yang membezakan pemerhatian, andaian dan maklumat yang tiada. Untuk tugas visual, tunjukkan objek, carta atau keadaan antara muka yang penting serta sertakan konteks sekeliling. Untuk perubahan kod, bekalkan kod yang terjejas, tingkah laku yang dikehendaki dan kekangan yang mesti kekal utuh. Ini ialah cara konkrit menggunakan keupayaan teks dan imej model tanpa bergantung pada prompt untuk menyiratkan seluruh tugas.

Profil GPT-4o OpenAI semasa menyenaraikan tetingkap konteks 128000 token, output maksimum 16384 token dan tarikh akhir pengetahuan pada 1 Oktober 2023. Pengeluar menyenaraikan beberapa versi GPT-4o bertarikh secara berasingan. Perbualan, bahan input dan jawapan yang dijana berkongsi bajet konteks, maka kumpulan dokumen besar masih memerlukan penyusunan dan ruang untuk hasil akhirnya. Fakta yang berubah atau berasal daripada sistem persendirian perlu dibekalkan secara langsung atau diperoleh melalui alat yang dikonfigurasikan secara eksplisit.

Panduan penglihatan menerima PNG, JPEG, WebP dan GIF tanpa animasi. GPT-4o menyokong perincian imej low, high dan auto; high dan auto menggunakan pemprosesan berasaskan petak imej. Besarkan label kecil, pastikan teks tegak dan kekalkan petunjuk atau rajah sekeliling apabila mentafsir carta. Batasan yang didokumenkan merangkumi penentuan lokasi ruang yang tepat, kiraan objek anggaran, sesetengah tulisan bukan Latin serta pandangan panorama atau mata ikan. Model juga boleh menerangkan imej secara salah, maka simpan sumber dan minta pemerhatian khusus yang menyokong pentafsiran. Dalam aliran penglihatan yang didokumenkan OpenAI, jumlah muatan permintaan dihadkan kepada 512 MB dan satu permintaan boleh mengandungi sehingga 1500 imej; imej serta teks turut perlu muat dalam konteks model.

Aliran kerja input fail OpenAI memberikan teks yang diekstrak dan imej halaman PDF kepada model berkeupayaan penglihatan. Dokumen pejabat bukan PDF membekalkan teks yang diekstrak dan bukannya carta terbenamnya, manakala bahan hamparan ditambah daripada sehingga 1000 baris pertama bagi setiap helaian. Setiap fail mesti berukuran di bawah 50 MB, dengan gabungan 50 MB bagi satu permintaan. Chat Completions menyokong bahagian fail PDF; aliran kerja Responses yang didokumenkan menerima format fail tambahan. Pilih perwakilan PDF apabila ketepatan visual penting dan pastikan pengecam sumber kelihatan dalam hasil.

Penstriman boleh mengembalikan respons semasa dijana. Structured Outputs mengehadkan respons yang telah selesai kepada subset JSON Schema yang disokong, menjadikannya berguna untuk pengekstrakan dokumen atau objek aplikasi dengan medan yang ditentukan. Mod JSON hanya berkaitan dengan kesahan JSON. Tentukan jenis yang dijangkakan, nilai yang dibenarkan dan pengendalian bukti yang tiada, kemudian kendalikan penolakan eksplisit atau respons tidak lengkap secara berasingan. Skema tidak menetapkan kebenaran fakta sesuatu nilai, maka medan yang diminta perlu kekal dapat dijejaki kepada bahan yang dibekalkan.

Pengeluar menyokong panggilan fungsi, carian web, carian fail, pentafsiran kod dan sambungan MCP. Fungsi tersuai memerlukan penerangan bermakna serta skema argumen; aplikasi melaksanakan tindakan yang diminta dan mengembalikan hasilnya untuk langkah model seterusnya. GPT-4o turut boleh mengarahkan alat penjanaan imej berasingan dalam aliran kerja Responses yang dikonfigurasikan. Imej yang dicipta oleh alat ialah hasil tersendiri, manakala respons asal GPT-4o yang didokumenkan ialah teks. Penjelasan akhir ejen perlu menggunakan pemerhatian yang benar-benar diperoleh atau dikira, dan bukannya menganggap panggilan alat yang dicadangkan sebagai operasi yang telah selesai.

Predicted Outputs tersedia untuk GPT-4o apabila menjana semula teks atau kod yang kebanyakannya sudah diketahui dengan perubahan kecil. Bekalkan kandungan sedia ada dan perubahan yang tepat, kemudian periksa hasil yang dikembalikan. Laluan ini untuk teks sahaja, tidak boleh digabungkan dengan panggilan fungsi dan mengecualikan logprobs, max_completion_tokens serta beberapa kawalan lain. Permintaan berasaskan alat ialah pilihan berasingan apabila jawapan bergantung pada maklumat baharu daripada operasi luaran.

OpenAI mendokumenkan penalaan halus untuk GPT-4o, dan panduan pengoptimumannya secara khusus menamakan versi bertarikh 6 Ogos 2024 untuk penalaan halus penglihatan menggunakan contoh imej. Aliran penyesuaian khusus versi itu berbeza daripada permintaan biasa kepada alias model. Untuk penulisan, analisis atau pengekstrakan harian, mulakan dengan taklimat yang berguna dan contoh output yang dikehendaki. Susulan boleh menyelesaikan satu fakta yang tiada, menyemak medan atau memperhalusi hasil yang sama sambil mengekalkan bukti serta kekangan tugas.

Ailoot Ultra · Kelompok POST /v1/batches openai/gpt-4o:batch

openai/gpt-4o:batch

OpenAI /openai/gpt-4o:batch

Pengenalan

GPT-4o menggabungkan pemahaman teks dan imej dengan penulisan, pengaturcaraan, Structured Outputs dan alat aplikasi. Gunakan model untuk membangunkan respons berasaskan bukti, mentafsir bahan visual atau mengembalikan medan yang ditentukan daripada kumpulan sumber yang besar.

Input yang diterima
Teks
Hasil
Teks

Tersedia di Ailoot · input & kaedah

Ailoot Ultra · Kelompok POST /v1/batches
Input
text
Output
text
Format output
JSON results[].response.body sebaris
MedanJenisKeperluanNilai & hadLalai
MedanendpointJenisstringKeperluanDiperlukanNilai & had
/v1/chat/completions
Lalai—
MedanmodelJenisstringKeperluanDiperlukanNilai & had
openai/gpt-4o:batch
Lalai—
MedanrequestsJenisbatch_item[]KeperluanDiperlukanNilai & had
Item minimum: 1
Lalai—
Medanrequests[].custom_idJenisstringKeperluanDiperlukanNilai & hadLalai—
Medanrequests[].body.messagesJenismessage[]KeperluanDiperlukanNilai & hadLalai—
Medancompletion_windowJenisstringKeperluanPilihanNilai & had
24h
Lalai—
MedanproviderJenisobject|nullKeperluanPilihanNilai & hadLalai—
Medanrequests[].body.modelJenisstringKeperluanPilihanNilai & had
openai/gpt-4o:batch, openai/gpt-4o
Lalai—
Medanprovider.onlyJenisstring[]KeperluanPilihanNilai & had
openai
Lalai—
Medanprovider.allow_fallbacksJenisboolean|nullKeperluanPilihanNilai & had
false, null
Lalai—
Parameter kaedah dan kitar hayat
ParameterKontrak
Parametercontent_typeKontrakapplication/json
ParameterrequiredKontrakendpoint, model, requests
Parametermaterial_typesKontraktext
ParameterrepresentationKontrakrequests[] sebaris; setiap item mempunyai custom_id dan body
Parameterrequest_endpoint_profileKontrak/v1/chat/completions
Parameterfile_materialKontrakPemanggil boleh membaca JSONL UTF-8 sebenar secara setempat ke dalam requests[]. Tiada tujuan muat naik, input_file_id atau rujukan fail digunakan. Bahan pelanggan yang tiada atau kosong menghentikan persediaan sebelum POST.
Parameterserialization_orderKontrakendpoint, model, provider (jika dibekalkan), completion_window (jika dibekalkan), requests di akhir
Parameteroptional_controlsKontrakprovider.only, provider.allow_fallbacks, completion_window
Parameterschema_scopeKontrakBadan permintaan Chat Completions teks dalam pembungkus Batch sebaris yang didokumenkan.

Kitar hayat: asynchronous

GET /v1/batches/{operation_id} · response.id sebenar daripada respons penciptaan asal; pengguna/kunci/kumpulan yang sama

Pelan harga

Rujukan tarif tidak menambah pilihan permintaan. Parameter yang disokong disenaraikan untuk kaedah yang dipilih.

Mod pantas
Tidak dinyatakan Apabila mod pantas dipilih
Mod flex
Tidak dinyatakan Apabila mod flex dipilih
Usaha penaakulan maksimum
Tidak dinyatakan Apabila usaha penaakulan maksimum menggunakan pelarasan default
Harga cache eksplisit
Tidak diaktifkan Apabila cache eksplisit diminta

Kadar Ailoot

Harga mengikut konfigurasi

Padankan setiap caj dengan syarat yang dipaparkan. Gunakan satu kadar bagi setiap set konfigurasi alternatif.

KonfigurasiJadual kadarToken konteks, melebihiToken konteks, sehingga dan termasukCaj
KonfigurasiKadar asas tokenJadual kadarKadar asasToken konteks, melebihi—Token konteks, sehingga dan termasukTiada had atasCaj
Input · Token input $0.0025 / 1K token
Output · Token output $0.01 / 1K token
Input · Bacaan cache $0.00125 / 1K token
Input · Penulisan cache — / 1K token
Input · Penulisan cache, 1 jam — / 1K token
KonfigurasiTahap panjang permintaan 1Jadual kadar—Token konteks, melebihi0Token konteks, sehingga dan termasukTiada had atasCaj
Input · Token input $0.0025 / 1K token
Output · Token output $0.01 / 1K token
Input · Bacaan cache $0.00125 / 1K token
Input · Penulisan cache — / 1K token
Input · Penulisan cache, 1 jam — / 1K token

Ailoot merizabkan anggaran amaun sebelum permintaan. Selepas hasil diterima, caj akhir diselesaikan berdasarkan penggunaan terukur. Penyelesaian caj penstriman menggunakan rekod penggunaan akhir. Cara rizab dan penyelesaian caj berfungsi →

Contoh permintaan

Ailoot Ultra · Kelompok

curl · data ujian yang disimpanPython HTTP · JSONL sebenar pelangganPython · simpan setiap hasil yang telah siap
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-4o: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-4o:batch', 'openai/gpt-4o']: raise ValueError("body.model must be an exact documented caller or wire ID")
    return {"endpoint":"/v1/chat/completions", "model":"openai/gpt-4o: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.

Terima dan simpan hasil

Ailoot Ultra · Kelompok

JSON results[].response.body sebaris

  • GET /v1/batches/{operation_id}
Semak status tugas
curl · status operasi asal
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
Simpan semua hasil yang selesai

Simpan setiap respons lengkap, fail dan bahagian kandungan yang dikembalikan.

Simpan keseluruhan JSON status asal, setiap hasil/custom_id serta badan respons atau ralat yang lengkap. Simpan results[] yang telah selesai sebagai JSONL tanpa penapisan.

Jika respons asal perlu disemak

Simpan ID operasi asal. 503 result_pending_check mempunyai X-Should-Retry:false; jangan sekali-kali hantar semula kelompok asal yang hasilnya tidak diketahui.

Medan respons
MedanJenis
Medanresults[].custom_idJenisstring
Medanresults[].response.body.choices[].message.contentJenisstring|null
Medanresults[].errorJenisobject|null
MedanusageJenisobject|null
MedanidJenisstring
MedanmodelJenisstring
MedanendpointJenisstring
MedanstatusJenisstring
Medanrequest_countsJenisobject
Medanresults[].idJenisstring
Medanresults[].response.status_codeJenisinteger
Medanresults[].response.request_idJenisstring
Ralat dan langkah seterusnya
ResponsSyaratLangkah seterusnya
Respons400 · invalid_request_errorSyaratPembungkus sebaris yang didokumenkan tidak sah, kunci berulang, identiti item atau keupayaan model yang dikonfigurasikan bercanggah.Langkah seterusnyaBetulkan medan yang dinyatakan sebelum sebarang penghantaran baharu.
Respons401 · authentication_errorSyaratKunci API tidak sah.Langkah seterusnyaGunakan kunci Ailoot yang dibenarkan.
Respons403 · permission_errorSyaratKumpulan kelompok tidak tersedia.Langkah seterusnyaSemak hak akses kunci/kumpulan.
Respons422 · invalid_request_errorSyaratKelompok menggunakan pengebilan baki; penciptaan melalui langganan ditolak.Langkah seterusnyaGunakan kumpulan yang dibenarkan untuk pengebilan melalui baki.
Respons422 · price_unavailableSyaratSebut harga tidak dapat diberikan untuk input kelompok.Langkah seterusnyaSimpan respons; gunakan input keluarga API yang didokumenkan.
Respons402 · billing_errorSyaratRizab kelompok tidak tersedia.Langkah seterusnyaSelesaikan isu penerimaan permintaan sebelum menghantar permintaan baharu.
Respons503 · price_unavailableSyaratHarga kaedah kelompok/kadar natif tidak tersedia.Langkah seterusnyaSimpan respons; jangan gantikan harga.
Respons503 · api_errorSyaratLaluan pembekal yang tepat tidak tersedia.Langkah seterusnyaSimpan respons untuk pembaikan laluan.
Respons503 · result_pending_checkSyaratHasil asal memerlukan semakan; X-Should-Retry:false.Langkah seterusnyaSimpan operation_id/id asal dan baca statusnya; jangan sekali-kali ulang POST asal.
Respons404 · not_foundSyaratOperasi status kelompok tiada atau dimiliki oleh identiti lain.Langkah seterusnyaGunakan id asal yang tepat serta pengguna/kunci/kumpulan yang sama.

Alias

Alias model

Ailoot Ultra openai/gpt-4o:batch

Alias laluan kaedah

Gunakan laluan kaedah yang dipaparkan di atas.

ID pemanggil berkaitan

openai/gpt-4o:batch

FAQ · OpenAI: GPT-4o (batch)
Apakah input dan hasil yang tersedia?

POST /v1/batches · openai/gpt-4o:batch: text → text

Apakah medan yang digunakan oleh permintaan?

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

Apakah had yang terpakai?

POST /v1/batches · openai/gpt-4o:batch: requests.min_items: 1

Butiran lanjut

Sambungkan Ailoot kepada Claude Code, OpenCode, Hermes atau aplikasi anda.

Syarikat dan portfolio projeknya

Syarikat dan portfolio projeknya: jutaan pelanggan; jualan bernilai berbilion setiap bulan.

Beli token dengan diskaun.

Diskaun langganan untuk penggunaan berkala. Kod promosi — sehingga 50% bagi pembelian token.

Langganan
Pilih pelan berdiskaun untuk permintaan berkala anda.
Kod promosi sehingga 50%
Masukkan kod semasa pembelian. Harga dikira semula mengikut promosi semasa.
Perbelanjaan dalam sejarah
Model, token dan jumlah disimpan bagi setiap permintaan.

Pilih langganan · Lihat harga model

Sambungkan API kepada produk yang anda jual.

SaaS, aplikasi dan bot — di bawah tawaran rasmi serta perjanjian lesen Ailoot. Untuk jualan semula, mohon lesen penjual semula.

Aplikasi komersial
Tambahkan penjanaan teks, imej, video dan audio pada ciri berbayar perkhidmatan anda.
Lesen penjual semula
Hantar keterangan projek dan susunan akses. Minta terma penggunaan serta jualan semula secara bertulis.
Dokumen pada laman
Tawaran, perjanjian lesen dan dasar pemprosesan data tersedia sebelum sambungan.

Mohon lesen penjual semula · Tawaran dan perjanjian lesen