OpenAI: GPT-6 Luna (batch)
GPT-6 Luna ist OpenAIs Reasoning-Modell für klar umrissene, wiederkehrende Aufgaben mit hohem Volumen. Text und Bilder können Klassifikation, Extraktion, Assistenz und werkzeuggestützte Aufgaben unterstützen. Das Modell bietet ein Kontextfenster von 1’050’000 Token, strukturierte Textausgaben und eine optionale Einstellung ohne Reasoning.
Über das Modell
Diese Beschreibung erläutert die Fähigkeiten des Modells. Die über Ailoot verfügbaren Eingaben, Ausgaben und Optionen sind unten für die ausgewählte Methode aufgeführt.
GPT-6 Luna ist OpenAIs Modell für klar umrissene, wiederkehrende Aufgaben mit hohem Volumen. Es nimmt Text und Bilder entgegen und erzeugt Text. Damit eignet es sich für klar definierte Vorgänge wie Klassifikation, Extraktion, Umformulierung, bildgestützte Fragen und einzelne Schritte in einem Assistenzablauf. Luna behält innerhalb von GPT-6 sein eigenes Profil, getrennt von Sols Rolle bei komplexer Programmierung, Astras Rolle bei besonders anspruchsvollen Aufgaben und Lunas Pro-Ausführungseinstellung.
Einen wiederholbaren Vorgang definieren
Geben Sie jeder Aufgabe ein klares Ergebnis: eine Kategorie, einen kleinen Datensatz, eine Erklärung oder einen überarbeiteten Textabschnitt. Geben Sie für eine Klassifikation die Bedeutung der Kategorien und eine Regel für Einträge an, die in keine Kategorie passen. Definieren Sie für eine Extraktion die Felder, Einheiten und den Umgang mit fehlenden Informationen. Ein nützlicher Auftrag lautet: «Ermitteln Sie das Hauptanliegen des Nutzers, wählen Sie eine dieser Kategorien aus und geben Sie den Satz zurück, der diese Wahl stützt.»
Stellen Sie für eine Supportantwort die Frage und das relevante freigegebene Quellenmaterial bereit und benennen Sie die Antwortsprache und die zu bewahrenden Details. Bewahren Sie bei einem Bild die sichtbaren Beschriftungen und sagen Sie dem Modell, worauf sich die Frage bezieht. Halten Sie entnommene Formulierungen von der Interpretation getrennt, damit sich der entstehende Datensatz anhand der Eingabe prüfen lässt.
Aufwand und Ausgabeformat
Der Hersteller unterstützt den Reasoning-Aufwand none, low, medium, high, xhigh und max; medium ist der Standardwert. Die Einstellung none ermöglicht Aufgaben, die kein zwischenzeitliches Reasoning benötigen, während mehr Aufwand die Analyse einer anspruchsvolleren Frage vertiefen kann. Reasoning-Aufwand und Standard- oder Pro-Ausführungsmodus sind voneinander unabhängige Entscheidungen. Präzise Ausgabevorgaben sind bei jeder Aufwandsstufe erforderlich.
Structured Outputs kann einen definierten Datensatz beschränken, während gewöhnlicher Text eine kurze Antwort oder Erklärung vermittelt. Geben Sie die Bedeutung der Felder und Regeln für fehlende Werte an. Ein gültiges Format belegt nicht, dass ein extrahierter Wert in der Quelle steht; prüfen Sie daher neben der Struktur auch den Inhalt.
Kontext und Wissen
Die Modellkarte nennt ein Kontextfenster von 1’050’000 Token, bis zu 922’000 Eingabetoken und bis zu 128’000 Ausgabetoken. Der Wissensstand ist der 18. Mai 2026. Quellenmaterial, Gespräch, Reasoning und sichtbare Antwort brauchen gemeinsam Platz. Bewahren Sie bei wiederkehrenden Aufgaben die relevanten Kriterien und Quellenbezeichnungen, statt den Vorgang durch unzusammenhängende Vorgeschichte zu verdecken.
Werkzeuge und Anwendungsergebnisse
OpenAI dokumentiert Responses für integrierte Werkzeuge und Funktionsaufrufe. Chat Completions unterstützt Funktionsaufrufe für dieses Modell nur, wenn der Reasoning-Aufwand none ist. Die Werkzeugliste des Herstellers umfasst Web- und Dateisuche, Werkzeuge zur Bilderzeugung, einen Code-Interpreter, Shell- und Patch-Werkzeuge, Skills, Computernutzung, MCP-Verbindungen und Werkzeugsuche. Lunas eigene Ausgabe ist Text; von Werkzeugen erzeugte Bilder oder ausgeführte Aktionen sind separate Ergebnisse.
Die Anwendung führt ausgewählte Vorgänge aus und liefert die Beobachtung für den nächsten Modellschritt zurück. Eine Produktabfrage kann das fehlende Feld liefern, bevor die Antwort formuliert wird; eine Extraktionsaufgabe kann eine tatsächlich abgerufene Textstelle nutzen. Der GPT-6-Leitfaden beschreibt ausserdem auf Familienebene asynchrone Werkzeugabläufe, Steuerung und Fähigkeiten zur Kontextverwaltung.
Ein nützliches Endergebnis ist eine gezielte Antwort oder ein Datensatz, der mit den bereitgestellten Belegen verknüpft ist. Prüfen Sie die Werte, bewahren Sie die vorgeschriebene Terminologie und binden Sie Fragen zu aktuellen Quellen an massgebliches Material oder tatsächliche Werkzeugbeobachtungen. Lunas Rolle besteht darin, den definierten Vorgang abzuschliessen, statt aus einer grossen Quellensammlung eine unbestimmte Aufgabe zu machen.
Ailoot Ultra · Stapelverarbeitung POST /v1/batches openai/gpt-6-luna:batch
openai/gpt-6-luna:batchEinstieg
GPT-6 Luna ist OpenAIs Reasoning-Modell für klar umrissene, wiederkehrende Aufgaben mit hohem Volumen. Text und Bilder können Klassifikation, Extraktion, Assistenz und werkzeuggestützte Aufgaben unterstützen. Das Modell bietet ein Kontextfenster von 1’050’000 Token, strukturierte Textausgaben und eine optionale Einstellung ohne Reasoning.
- Zulässige Eingaben
- Text
- Ergebnisse
- Text
In Ailoot verfügbar · Eingaben und Methoden
Ailoot Ultra · Stapelverarbeitung POST /v1/batches
- Eingabe
text- Ausgabe
text- Ausgabeformat
- eingebettetes JSON unter results[].response.body
| Feld | Typ | Anforderung | Werte und Limits | Standard |
|---|---|---|---|---|
Feldendpoint | Typstring | AnforderungErforderlich | Werte und Limits /v1/chat/completions | Standard— |
Feldmodel | Typstring | AnforderungErforderlich | Werte und Limits openai/gpt-6-luna:batch | Standard— |
Feldrequests | Typbatch_item[] | AnforderungErforderlich | Werte und Limits Mindestanzahl Elemente: 1 | Standard— |
Feldrequests[].custom_id | Typstring | AnforderungErforderlich | Werte und Limits | Standard— |
Feldrequests[].body.messages | Typmessage[] | AnforderungErforderlich | Werte und Limits | Standard— |
Feldcompletion_window | Typstring | AnforderungOptional | Werte und Limits 24h | Standard— |
Feldprovider | Typobject|null | AnforderungOptional | Werte und Limits | Standard— |
Feldrequests[].body.model | Typstring | AnforderungOptional | Werte und Limits openai/gpt-6-luna:batch, openai/gpt-6-luna | Standard— |
Feldprovider.only | Typstring[] | AnforderungOptional | Werte und Limits openai | Standard— |
Feldprovider.allow_fallbacks | Typboolean|null | AnforderungOptional | Werte und Limits false, null | Standard— |
Methodenparameter und Lebenszyklus
| Parameter | Vertrag |
|---|---|
Parametercontent_type | Vertragapplication/json |
Parameterrequired | Vertragendpoint, model, requests |
Parametermaterial_types | Vertragtext |
Parameterrepresentation | Vertrageingebettete requests[]; jedes Element enthält custom_id und body |
Parameterrequest_endpoint_profile | Vertrag/v1/chat/completions |
Parameterfile_material | VertragDer Aufrufer kann tatsächliches UTF-8-JSONL lokal in requests[] einlesen. Es werden weder ein Upload-Zweck noch input_file_id oder eine Dateireferenz verwendet. Fehlendes oder leeres Kundenmaterial stoppt die Vorbereitung vor POST. |
Parameterserialization_order | Vertragendpoint, model, provider (falls angegeben), completion_window (falls angegeben), requests als letztes Feld |
Parameteroptional_controls | Vertragprovider.only, provider.allow_fallbacks, completion_window |
Parameterschema_scope | VertragAnfragekörper für Text Chat Completions in der dokumentierten Inline-Batch-Struktur. |
Lebenszyklus: asynchronous
GET /v1/batches/{operation_id} · die tatsächliche response.id der ursprünglichen Erstellungsantwort; derselbe Nutzer/Schlüssel/dieselbe Gruppe
Tarife
Tarifangaben erweitern die Anfrageoptionen nicht. Unterstützte Parameter stehen bei der ausgewählten Methode.
- Schnellmodus
- Nicht angegeben Wenn der Schnellmodus ausgewählt ist
- Flex-Modus
- Nicht angegeben Wenn der Modus flex ausgewählt ist
- Maximaler Denkaufwand
- Nicht angegeben Wenn beim maximalen Denkaufwand die Standardanpassung (default) verwendet wird
- Preise für explizites Caching
- Nicht aktiviert Wenn explizites Caching angefordert wird
Ailoot-Tarife
Preise nach Konfiguration
Ordnen Sie jede Gebühr den angezeigten Bedingungen zu. Verwenden Sie für jede Gruppe alternativer Konfigurationen einen Tarif.
| Konfiguration | Tarifstaffel | Kontexttoken, mehr als | Kontexttoken, bis einschliesslich | Gebühr |
|---|---|---|---|---|
| KonfigurationBasistarife für Token | TarifstaffelGrundtarif | Kontexttoken, mehr als— | Kontexttoken, bis einschliesslichKeine Obergrenze | Gebühr Eingabe · Eingabetoken $0.0001 / 1K Tokens Ausgabe · Ausgabetoken $0.0005 / 1K Tokens Eingabe · Cache lesen $0.00001 / 1K Tokens Eingabe · Cache schreiben $0.000125 / 1K Tokens Eingabe · Cache schreiben, 1 Stunde — / 1K Tokens |
| KonfigurationAnfragelängenstufe 1 | Tarifstaffel— | Kontexttoken, mehr als0 | Kontexttoken, bis einschliesslich272'000 | Gebühr Eingabe · Eingabetoken $0.0001 / 1K Tokens Ausgabe · Ausgabetoken $0.0005 / 1K Tokens Eingabe · Cache lesen $0.00001 / 1K Tokens Eingabe · Cache schreiben $0.000125 / 1K Tokens Eingabe · Cache schreiben, 1 Stunde — / 1K Tokens |
| KonfigurationAnfragelängenstufe 2 | Tarifstaffel— | Kontexttoken, mehr als272'000 | Kontexttoken, bis einschliesslichKeine Obergrenze | Gebühr Eingabe · Eingabetoken $0.0002 / 1K Tokens Ausgabe · Ausgabetoken $0.00075 / 1K Tokens Eingabe · Cache lesen $0.00002 / 1K Tokens Eingabe · Cache schreiben $0.00025 / 1K Tokens Eingabe · Cache schreiben, 1 Stunde — / 1K Tokens |
Ailoot reserviert vor einer Anfrage einen geschätzten Betrag. Nach dem Ergebnis rechnet Ailoot die endgültige Gebühr anhand des gemessenen Verbrauchs ab. Bei Streaming erfolgt die Abrechnung anhand des abschliessenden Verbrauchsdatensatzes. So funktionieren Reservierung und Abrechnung →
Beispielanfragen
Ailoot Ultra · Stapelverarbeitung
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-6-luna: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-6-luna:batch', 'openai/gpt-6-luna']: raise ValueError("body.model must be an exact documented caller or wire ID")
return {"endpoint":"/v1/chat/completions", "model":"openai/gpt-6-luna: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.
Ergebnisse abrufen und speichern
Ailoot Ultra · Stapelverarbeitung
eingebettetes JSON unter results[].response.body
GET /v1/batches/{operation_id}
Auftragsstatus prüfen
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
Alle fertiggestellten Ergebnisse aufbewahren
Bewahren Sie jede vollständig zurückgegebene Antwort, Datei und jeden Inhaltsteil auf.
Das vollständige ursprüngliche Status-JSON, jedes Ergebnis/jede custom_id und den vollständigen Antwort- oder Fehlerkörper aufbewahren. Abgeschlossene results[] ohne Filterung als JSONL speichern.
Wenn die ursprüngliche Antwort geprüft werden muss
Die ursprüngliche Vorgangs-ID beibehalten. Bei 503 result_pending_check gilt X-Should-Retry:false; einen ursprünglichen Batch mit unbekanntem Ausgang niemals erneut einreichen.
Antwortfelder
| Feld | Typ |
|---|---|
Feldresults[].custom_id | Typstring |
Feldresults[].response.body.choices[].message.content | Typstring|null |
Feldresults[].error | Typobject|null |
Feldusage | Typobject|null |
Feldid | Typstring |
Feldmodel | Typstring |
Feldendpoint | Typstring |
Feldstatus | Typstring |
Feldrequest_counts | Typobject |
Feldresults[].id | Typstring |
Feldresults[].response.status_code | Typinteger |
Feldresults[].response.request_id | Typstring |
Fehler und nächste Schritte
| Antwort | Bedingung | Nächster Schritt |
|---|---|---|
Antwort400 · invalid_request_error | BedingungUngültige Struktur der dokumentierten Inline-Einbettung, doppelte Schlüssel, ungültige Identitätsangaben zu einem Element oder ein Konflikt mit den konfigurierten Modellfähigkeiten. | Nächster SchrittDie angegebenen Felder vor jeder neuen Einreichung korrigieren. |
Antwort401 · authentication_error | BedingungUngültiger API-Schlüssel. | Nächster SchrittDen autorisierten Ailoot-Schlüssel verwenden. |
Antwort403 · permission_error | BedingungGruppe für Stapelverarbeitung nicht verfügbar. | Nächster SchrittDie Berechtigung des Schlüssels bzw. der Gruppe prüfen. |
Antwort422 · invalid_request_error | BedingungStapelverarbeitung wird über das Guthaben abgerechnet; die Erstellung über ein Abonnement wird abgelehnt. | Nächster SchrittDie autorisierte Gruppe mit Guthabenabrechnung verwenden. |
Antwort422 · price_unavailable | BedingungFür die Batch-Eingabe kann kein Preisangebot erstellt werden. | Nächster SchrittAntwort aufbewahren; die dokumentierte Eingabe der API-Familie verwenden. |
Antwort402 · billing_error | BedingungReservierung für Stapelverarbeitung nicht verfügbar. | Nächster SchrittDie Zulassung klären, bevor eine neue Anfrage gestellt wird. |
Antwort503 · price_unavailable | BedingungMethodenpreis bzw. native Tarife für Stapelverarbeitung nicht verfügbar. | Nächster SchrittAntwort aufbewahren; keine anderen Preise einsetzen. |
Antwort503 · api_error | BedingungDie genaue Anbieterroute ist nicht verfügbar. | Nächster SchrittAntwort zur Reparatur der Route aufbewahren. |
Antwort503 · result_pending_check | BedingungDas ursprüngliche Ergebnis muss geprüft werden; X-Should-Retry:false. | Nächster SchrittDie ursprüngliche operation_id/id beibehalten und ihren Status lesen; den ursprünglichen POST niemals wiederholen. |
Antwort404 · not_found | BedingungDer Batch-Vorgang, dessen Status abgefragt wird, ist nicht vorhanden oder gehört einer anderen Identität. | Nächster SchrittDie genaue ursprüngliche id und denselben Nutzer/Schlüssel/dieselbe Gruppe verwenden. |
Aliasnamen
Modellaliasnamen
Ailoot Ultra openai/gpt-6-luna:batch
Aliasnamen für Methodenpfade
Verwenden Sie die oben angezeigten Methodenpfade.
Zugehörige Aufrufer-IDs
FAQ · OpenAI: GPT-6 Luna (batch)
- Welche Eingaben und Ergebnisse sind verfügbar?
POST /v1/batches·openai/gpt-6-luna:batch:text→text- Welche Felder verwendet die Anfrage?
POST /v1/batches·openai/gpt-6-luna:batch:endpoint,model,requests,completion_window,provider- Welche Grenzen gelten?
POST /v1/batches·openai/gpt-6-luna:batch:requests.min_items:1