modele

OpenAI: GPT-4o (batch)

Markdown · JSON

OpenAI: GPT-4o (batch)

GPT-4o łączy rozumienie tekstu i obrazów z pisaniem, programowaniem, Structured Outputs i narzędziami aplikacji. Użyj go do opracowania odpowiedzi opartej na dowodach, interpretacji materiałów wizualnych lub zwrócenia określonych pól z obszernego zbioru źródeł.

O modelu

Ten opis przedstawia możliwości modelu. Dane wejściowe, wyniki i opcje dostępne w Ailoot podano poniżej dla wybranej metody.

GPT-4o to wszechstronny model GPT firmy OpenAI do rozumienia tekstu i obrazów, pisania i pracy z aplikacjami. Litera „o” oznacza „omni”, natomiast ten udokumentowany model przyjmuje tekst i obrazy, a zwraca tekst, w tym Structured Outputs. Praktyczna prośba może łączyć pisemny opis zadania ze zdjęciami, zrzutami ekranu lub stronami dokumentu i wymagać jasnego wyjaśnienia, zredagowanego materiału lub określonych pól do następnego etapu aplikacji.

Dla raportu dostarcz dokumenty źródłowe i określ decyzję, którą raport ma wspierać. Wskaż istotne daty, jednostki i oznaczenia dowodów, a następnie poproś o porównanie oddzielające obserwacje, założenia i brakujące informacje. W zadaniu wizualnym wskaż ważny obiekt, wykres lub stan interfejsu i dołącz otaczający kontekst. Przy zmianie kodu dostarcz kod, którego dotyczy zadanie, pożądane zachowanie i ograniczenia, które muszą pozostać zachowane. Są to konkretne sposoby wykorzystania możliwości tekstowych i obrazowych modelu bez liczenia, że sam prompt zasugeruje całe zadanie.

Aktualny profil GPT-4o firmy OpenAI podaje okno kontekstu o wielkości 128 000 tokenów, maksymalny limit wyjścia 16 384 tokenów i datę graniczną wiedzy 1 października 2023 r. Producent wymienia osobno kilka migawek GPT-4o z oznaczonymi datami. Rozmowa, materiały wejściowe i wygenerowana odpowiedź współdzielą budżet kontekstu, dlatego duży zbiór dokumentów nadal wymaga uporządkowania i miejsca na wynik końcowy. Fakty zmienne lub pochodzące z prywatnego systemu należy dostarczyć bezpośrednio lub uzyskać przez jawnie skonfigurowane narzędzie.

Przewodnik po analizie obrazów dopuszcza PNG, JPEG, WebP i nieanimowany GIF. GPT-4o obsługuje szczegółowość obrazu low, high i auto; high i auto wykorzystują przetwarzanie oparte na kafelkach. Powiększ małe etykiety, zadbaj o prawidłową orientację tekstu i nie pomijaj legendy ani otaczającego diagramu przy interpretacji wykresu. Udokumentowane ograniczenia obejmują precyzyjną lokalizację przestrzenną, przybliżone liczenie obiektów, niektóre pisma niełacińskie i widoki panoramiczne lub z obiektywu typu rybie oko. Model może również błędnie opisać obraz, dlatego zachowuj źródło i poproś o konkretne obserwacje uzasadniające interpretację. W udokumentowanym przez OpenAI procesie analizy obrazów łączny rozmiar danych żądania jest ograniczony do 512 MB, a żądanie może zawierać do 1 500 obrazów; obrazy i tekst muszą również mieścić się w kontekście modelu.

Proces wejścia plikowego OpenAI dostarcza modelowi z obsługą obrazów zarówno tekst wydobyty z PDF, jak i obrazy jego stron. Dokumenty biurowe inne niż PDF dostarczają wydobytego tekstu, a nie osadzonych w nich wykresów, natomiast arkusze są wzbogacane na podstawie maksymalnie pierwszych 1 000 wierszy na arkusz. Każdy plik musi mieć mniej niż 50 MB, z łącznym limitem 50 MB na żądanie. Chat Completions obsługuje części plikowe PDF; udokumentowany proces Responses przyjmuje dodatkowe formaty plików. Wybierz reprezentację PDF, gdy ważna jest wierność wizualna, i zachowuj widoczne identyfikatory źródeł w wyniku.

Strumieniowanie może zwracać odpowiedź w miarę jej generowania. Structured Outputs ogranicza ukończoną odpowiedź do obsługiwanego podzbioru JSON Schema, co jest użyteczne przy wydobywaniu danych z dokumentu lub tworzeniu obiektu aplikacji z określonymi polami. Tryb JSON dotyczy wyłącznie poprawności JSON. Określ oczekiwane typy, dozwolone wartości i sposób postępowania z brakującymi dowodami, a następnie obsługuj osobno jawne odmowy lub niekompletne odpowiedzi. Schemat nie dowodzi prawdziwości wartości, dlatego zamówione pola powinny pozostawać możliwe do powiązania z dostarczonym materiałem.

Producent obsługuje wywoływanie funkcji, wyszukiwanie w sieci i plikach, wykonywanie kodu i połączenia MCP. Funkcje niestandardowe wymagają znaczących opisów i schematów argumentów; aplikacja wykonuje zamówione działanie i zwraca jego wynik do następnego kroku modelu. GPT-4o może również kierować osobnym narzędziem generowania obrazów w skonfigurowanym procesie Responses. Obraz utworzony przez narzędzie jest odrębnym rezultatem, natomiast natywna udokumentowana odpowiedź GPT-4o to tekst. Końcowe wyjaśnienie agenta powinno korzystać z rzeczywistych pobranych lub obliczonych obserwacji, zamiast traktować proponowane wywołanie narzędzia jako wykonaną operację.

Predicted Outputs jest dostępne dla GPT-4o przy ponownym generowaniu w dużej mierze znanego tekstu lub kodu z niewielkimi zmianami. Dostarcz istniejącą treść i precyzyjną modyfikację, a następnie sprawdź zwrócony materiał. Ta ścieżka wyłącznie tekstowa nie łączy się z wywoływaniem funkcji i wyklucza logprobs, max_completion_tokens oraz kilka innych ustawień. Żądanie z narzędziami jest osobnym wyborem, gdy odpowiedź zależy od nowych informacji z operacji zewnętrznej.

OpenAI dokumentuje dotrenowanie GPT-4o, a przewodnik optymalizacji wskazuje konkretnie migawkę z 6 sierpnia 2024 r. do dotrenowania analizy obrazów na przykładach obrazowych. Ten proces dostosowania konkretnej migawki jest odrębny od zwykłego żądania do aliasu modelu. Przy codziennym pisaniu, analizie lub wydobywaniu danych zacznij od użytecznego opisu zadania i przykładu oczekiwanego wyjścia. Kolejne polecenie może wyjaśnić jeden brakujący fakt, zmienić pole lub dopracować ten sam materiał przy zachowaniu dowodów i ograniczeń zadania.

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

openai/gpt-4o:batch

OpenAI /openai/gpt-4o:batch

Start

GPT-4o łączy rozumienie tekstu i obrazów z pisaniem, programowaniem, Structured Outputs i narzędziami aplikacji. Użyj go do opracowania odpowiedzi opartej na dowodach, interpretacji materiałów wizualnych lub zwrócenia określonych pól z obszernego zbioru źródeł.

Akceptowane dane wejściowe
Tekst
Wyniki
Tekst

Dostępne w Ailoot · dane wejściowe i metody

Ailoot Ultra · Batch POST /v1/batches
Wejście
text
Wyjście
text
Format wyjściowy
JSON bezpośrednio w results[].response.body
PoleTypWymaganieWartości i limityDomyślnie
PoleendpointTypstringWymaganieWymaganeWartości i limity
/v1/chat/completions
Domyślnie—
PolemodelTypstringWymaganieWymaganeWartości i limity
openai/gpt-4o:batch
Domyślnie—
PolerequestsTypbatch_item[]WymaganieWymaganeWartości i limity
Minimalna liczba elementów: 1
Domyślnie—
Polerequests[].custom_idTypstringWymaganieWymaganeWartości i limityDomyślnie—
Polerequests[].body.messagesTypmessage[]WymaganieWymaganeWartości i limityDomyślnie—
Polecompletion_windowTypstringWymaganieOpcjonalneWartości i limity
24h
Domyślnie—
PoleproviderTypobject|nullWymaganieOpcjonalneWartości i limityDomyślnie—
Polerequests[].body.modelTypstringWymaganieOpcjonalneWartości i limity
openai/gpt-4o:batch, openai/gpt-4o
Domyślnie—
Poleprovider.onlyTypstring[]WymaganieOpcjonalneWartości i limity
openai
Domyślnie—
Poleprovider.allow_fallbacksTypboolean|nullWymaganieOpcjonalneWartości i limity
false, null
Domyślnie—
Parametry i cykl życia metody
ParametrKontrakt
Parametrcontent_typeKontraktapplication/json
ParametrrequiredKontraktendpoint, model, requests
Parametrmaterial_typesKontrakttext
ParametrrepresentationKontraktrequests[] bezpośrednio w żądaniu; każdy element zawiera custom_id i body
Parametrrequest_endpoint_profileKontrakt/v1/chat/completions
Parametrfile_materialKontraktWywołujący może lokalnie wczytać rzeczywisty plik JSONL w kodowaniu UTF-8 do requests[]. Nie używa się przeznaczenia przesyłanego pliku, input_file_id ani odwołania do pliku. Brak materiałów klienta lub ich pusta zawartość zatrzymują przygotowanie przed POST.
Parametrserialization_orderKontraktendpoint, model, provider (jeśli podano), completion_window (jeśli podano), requests na końcu
Parametroptional_controlsKontraktprovider.only, provider.allow_fallbacks, completion_window
Parametrschema_scopeKontraktTreści żądań tekstowych Chat Completions w udokumentowanej strukturze Batch z danymi bezpośrednio w żądaniu.

Cykl życia: asynchronous

GET /v1/batches/{operation_id} · Rzeczywista wartość response.id zwrócona przy pierwotnym utworzeniu; ten sam użytkownik, klucz i grupa

Cennik

Informacje taryfowe nie dodają opcji żądania. Obsługiwane parametry podano przy wybranej metodzie.

Tryb szybki
Nie określono Gdy wybrany jest tryb szybki
Tryb flex
Nie określono Gdy wybrany jest tryb flex
Maksymalna intensywność rozumowania
Nie określono Gdy dla maksymalnej intensywności rozumowania stosowana jest domyślna korekta (default)
Wycena jawnej pamięci podręcznej
Niewłączone Gdy zażądano jawnej pamięci podręcznej

Stawki Ailoot

Ceny według konfiguracji

Dopasuj każdą opłatę do pokazanych warunków. Użyj jednej stawki dla każdego zestawu alternatywnych konfiguracji.

KonfiguracjaTabela stawekTokeny kontekstu, więcej niżTokeny kontekstu, do podanej wartości włącznieOpłata
KonfiguracjaPodstawowe stawki za tokenyTabela stawekStawka podstawowaTokeny kontekstu, więcej niż—Tokeny kontekstu, do podanej wartości włącznieBez górnej granicyOpłata
Wejście · Tokeny wejściowe $0.0025 / 1K tokenów
Wyjście · Tokeny wyjściowe $0.01 / 1K tokenów
Wejście · Odczyt cache $0.00125 / 1K tokenów
Wejście · Zapis do cache — / 1K tokenów
Wejście · Zapis do cache, 1 godz. — / 1K tokenów
KonfiguracjaPrzedział długości żądania 1Tabela stawek—Tokeny kontekstu, więcej niż0Tokeny kontekstu, do podanej wartości włącznieBez górnej granicyOpłata
Wejście · Tokeny wejściowe $0.0025 / 1K tokenów
Wyjście · Tokeny wyjściowe $0.01 / 1K tokenów
Wejście · Odczyt cache $0.00125 / 1K tokenów
Wejście · Zapis do cache — / 1K tokenów
Wejście · Zapis do cache, 1 godz. — / 1K tokenów

Ailoot rezerwuje szacowaną kwotę przed żądaniem. Po otrzymaniu wyniku rozlicza ostateczną opłatę według zmierzonego użycia. Rozliczenie strumieniowania korzysta z końcowego rekordu użycia. Jak działają rezerwacja i rozliczenie →

Przykładowe żądania

Ailoot Ultra · Batch

curl · zachowany zestaw danych testowychPython HTTP · rzeczywisty JSONL klientaPython · zapisz każdy ukończony wynik
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.

Odbieranie i zapisywanie wyników

Ailoot Ultra · Batch

JSON bezpośrednio w results[].response.body

  • GET /v1/batches/{operation_id}
Sprawdź status zadania
curl · status pierwotnej operacji
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
Zachowaj wszystkie ukończone wyniki

Zachowaj każdą kompletną zwróconą odpowiedź, plik i część treści.

Zachowaj pełny pierwotny JSON stanu, każdy wynik i custom_id oraz pełną treść odpowiedzi lub błędu. Zapisz ukończone wyniki z results[] jako JSONL bez filtrowania.

Jeśli trzeba sprawdzić pierwotną odpowiedź

Zachowaj pierwotny identyfikator operacji. Odpowiedź 503 result_pending_check zawiera X-Should-Retry:false; nigdy nie wysyłaj ponownie pierwotnego żądania Batch, którego wynik jest nieznany.

Pola odpowiedzi
PoleTyp
Poleresults[].custom_idTypstring
Poleresults[].response.body.choices[].message.contentTypstring|null
Poleresults[].errorTypobject|null
PoleusageTypobject|null
PoleidTypstring
PolemodelTypstring
PoleendpointTypstring
PolestatusTypstring
Polerequest_countsTypobject
Poleresults[].idTypstring
Poleresults[].response.status_codeTypinteger
Poleresults[].response.request_idTypstring
Błędy i dalsze kroki
OdpowiedźWarunekNastępny krok
Odpowiedź400 · invalid_request_errorWarunekNieprawidłowa udokumentowana struktura z danymi bezpośrednio w żądaniu, zduplikowane klucze, problem z tożsamością elementu lub konflikt ze skonfigurowanymi możliwościami modelu.Następny krokPopraw wskazane pola przed wysłaniem jakiegokolwiek nowego żądania.
Odpowiedź401 · authentication_errorWarunekNieprawidłowy klucz API.Następny krokUżyj autoryzowanego klucza Ailoot.
Odpowiedź403 · permission_errorWarunekGrupa Batch jest niedostępna.Następny krokSprawdź uprawnienia klucza i grupy.
Odpowiedź422 · invalid_request_errorWarunekBatch korzysta z rozliczania z salda; utworzenie w ramach subskrypcji jest odrzucane.Następny krokUżyj autoryzowanej grupy rozliczanej z salda.
Odpowiedź422 · price_unavailableWarunekNie można wycenić danych wejściowych Batch.Następny krokZachowaj odpowiedź; użyj danych wejściowych udokumentowanych dla tej rodziny API.
Odpowiedź402 · billing_errorWarunekRezerwa dla Batch jest niedostępna.Następny krokRozwiąż problem dopuszczenia żądania przed wysłaniem nowego.
Odpowiedź503 · price_unavailableWarunekCena metody Batch lub stawki natywne są niedostępne.Następny krokZachowaj odpowiedź; nie zastępuj cen innymi.
Odpowiedź503 · api_errorWarunekDokładna trasa dostawcy jest niedostępna.Następny krokZachowaj odpowiedź na potrzeby naprawy trasy.
Odpowiedź503 · result_pending_checkWarunekPierwotny wynik wymaga sprawdzenia; X-Should-Retry:false.Następny krokZachowaj pierwotny operation_id/id i odczytuj stan operacji; nigdy nie powtarzaj pierwotnego POST.
Odpowiedź404 · not_foundWarunekOperacja sprawdzania stanu Batch nie istnieje lub należy do innej tożsamości.Następny krokUżyj dokładnego pierwotnego id oraz tego samego użytkownika, klucza i grupy.

Aliasy

Aliasy modelu

Ailoot Ultra openai/gpt-4o:batch

Aliasy ścieżek metod

Użyj ścieżek metod podanych powyżej.

Powiązane ID modeli

openai/gpt-4o:batch

FAQ · OpenAI: GPT-4o (batch)
Jakie dane wejściowe i wyniki są dostępne?

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

Jakich pól używa żądanie?

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

Jakie limity obowiązują?

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

Więcej szczegółów

Połącz Ailoot z Claude Code, OpenCode, Hermes albo własną aplikacją.

Firma i jej portfel projektów

Firma i jej portfel projektów: miliony klientów; miesięczna sprzedaż liczona w miliardach.

Kupuj tokeny z rabatem.

Rabat subskrypcji do regularnej pracy. Kody promocyjne — do 50% na tokeny.

Subskrypcja
Wybierz plan z rabatem do regularnych żądań.
Kod promocyjny do 50%
Wpisz kod przy zakupie. Cena zostanie przeliczona według aktualnej promocji.
Koszty w historii
Model, tokeny i kwota są zapisywane dla każdego żądania.

Wybierz subskrypcję · Sprawdź ceny modeli

Połącz API z produktem, który sprzedajesz.

SaaS, aplikacje i boty na warunkach oferty i umowy licencyjnej Ailoot. Do odsprzedaży poproś o licencję resellerską.

Aplikacja komercyjna
Wbuduj generowanie tekstu, obrazów, wideo i dźwięku w płatne funkcje usługi.
Licencja resellerska
Prześlij opis projektu i schemat dostępu. Poproś o pisemne warunki używania i odsprzedaży.
Dokumenty na stronie
Oferta, umowa licencyjna i polityka przetwarzania danych są dostępne przed połączeniem.

Poproś o licencję resellerską · Oferta i umowa licencyjna