Google: Gemini 3.8 Flash (batch)
Gemini 3.8 Flash ist Googles vielseitiges multimodales Modell für länger andauernde Softwareentwicklung, Agenten und komplexe wissensbasierte Aufgaben. Es verarbeitet Text, Bilder, Audio, Video und PDF, gibt Text aus und bietet die Denkstufen low, medium und high sowie Werkzeuge und strukturierte Ausgaben. Die dokumentierten Eingabe- und Ausgabegrenzen betragen 1’048’576 beziehungsweise 65’536 Token.
Ü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.
Gemini 3.8 Flash ist Googles Modell mit Textausgabe für länger andauernde Softwareentwicklung, mehrstufige Agenten und komplexe wissensbasierte Arbeitsabläufe. Es baut auf Gemini 3.7 Flash auf und verbessert Softwareentwicklung und wissensbasierte Agentenarbeit. Es verarbeitet Text, Bilder, Audio, Video und PDF, sodass sich ein schriftliches Ziel mit dem tatsächlich zur Lösung benötigten Material verbinden lässt. Das nutzbare Ergebnis ist eine Codeänderung, eine erläuterte Analyse, eine schriftliche Antwort oder ein strukturierter Datensatz.
Stellen Sie für einen Programmierauftrag die Anforderung, relevante Dateien, das beobachtete Verhalten und die zu erhaltenden Bedingungen bereit. Ein Screenshot kann die gewünschte Oberfläche zeigen, während Protokolle oder ein reproduzierbares Beispiel den Fehler belegen. Bitten Sie bei der Fehlersuche das Modell, eine Abweichung zwischen dem sichtbaren Zustand eines Formulars und seinem gespeicherten Wert nachzuverfolgen, den verantwortlichen Codepfad zu ermitteln und eine gezielte Korrektur vorzuschlagen. Benennen Sie das gewünschte Endergebnis klar, damit auch eine längere Folge von Untersuchungen und Werkzeugaufrufen ein konkretes Abschlusskriterium behält.
Verwenden Sie für länger laufende Aufgaben kleinere Denkschritte, wiederholte Werkzeugaufrufe und Prüfungen der Zwischenergebnisse. Die Denkstufen low, medium und high steuern den Umfang des Denkprozesses; medium ist der dokumentierte Standard. low eignet sich für einen schnellen Entwurf oder eine klar begrenzte Analyse, während high für schwierige Mathematik, Programmierung oder mehrstufige Aufgaben vorgesehen ist. Gemini 3.8 Flash unterstützt die Denkstufe minimal nicht. Eine länger andauernde Fehlersuche und eine einfache Feldextraktion benötigen deshalb unterschiedliche Denkstufen statt derselben Einstellung für jede Anfrage.
Zu den dokumentierten Werkzeugen gehören Funktionsaufrufe, Codeausführung, Dateisuche, Such-Grounding, Google Maps Grounding und URL-Kontext; Computer Use ist als Vorschaufunktion aufgeführt. Strukturierte Ausgaben definieren ein maschinenlesbares Ergebnis. Funktionen sollten einen klaren Zweck und definierte Parameter haben: Das Modell kann eine Funktion anfordern, während die angebundene Anwendung den Vorgang ausführt und sein Ergebnis zurückgibt. Erhalten Sie über mehrere Gesprächsschritte hinweg die Funktionsidentitäten und das tatsächlich zurückgegebene Material. Eine hilfreiche abschliessende Antwort erläutert, welche Belege die vorgeschlagene Korrektur oder den extrahierten Wert stützen.
Der Migrationsleitfaden für 3.8 verwendet die Steuerung über Denkstufen anstelle der älteren Konfiguration eines Denkbudgets und empfiehlt, veraltete Sampling-Parameter sowie vorab ausgefüllte Modellnachrichten zu entfernen. Er verlangt ausserdem, Denksignaturen im betreffenden zustandslosen Ablauf zu erhalten und Funktionsantworten ihren Aufrufen anhand von Identität und Name zuzuordnen. Diese Details sind bei der Fortsetzung einer mehrstufigen Aufgabe wichtig: Der nächste Gesprächsschritt benötigt den tatsächlichen bisherigen Kontext statt einer umgeschriebenen Darstellung, die das Werkzeugergebnis oder die Signatur verliert. Formulieren Sie Frage und gewünschte Ausgabe in der neuen Nutzernachricht ausdrücklich.
Benennen Sie bei multimodaler Wissensarbeit die relevanten Dokumentseiten, das Diagramm, den Audioabschnitt oder das Videoereignis und geben Sie an, wie diese zur Antwort beitragen sollen. Ein Dokumentvergleich kann eine Tabelle der Unterschiede mit Quellenpassagen verlangen; eine Frage zu einem Diagramm kann nach den sichtbaren Werten und der daraus gestützten Schlussfolgerung fragen. Eine Videoanalyse kann eine Beschreibung der Ereignisse verlangen, die eine Feststellung begründen. Das Modell gibt zu diesen Eingaben Text zurück. Erzeugte Bilder, Sprache und Live-Audiointeraktion gehören zu separaten Modellprofilen.
Seine Gemini API-Grenzen betragen 1’048’576 Eingabetoken und 65’536 Ausgabetoken; dies entspricht dem nativen Modell mit bis zu 1M Kontext und 64K Textausgabe. Anweisungen, Gesprächsverlauf und bereitgestellte Medien belegen Eingabekontext, und Denkprozess oder ein langes Endergebnis müssen in das dokumentierte Ausgabebudget passen. Google führt für dieses Herstellerprofil ausserdem Caching, Stapelverarbeitung sowie Flex- und Priority-Verarbeitung auf. Behalten Sie bei unabhängigen Elementen eine stabile Elementkennung und ein ausdrückliches Ausgabeformat bei, damit jedes Ergebnis mit seiner Quelle verbunden bleibt.
Zu möglichen Einschränkungen gehören Halluzinationen, gelegentliche Verzögerungen oder Zeitüberschreitungen und ein höherer Tokenverbrauch bei grösserem Denkaufwand. Sein Wissensstand reicht bis März 2026, wobei manche Bereiche weiterhin auf Januar 2025 begrenzt sind. Stellen Sie aktuelle Belege bereit oder verwenden Sie die dokumentierten Grounding-Werkzeuge, wenn die Aufgabe von späteren Informationen abhängt. Prüfen Sie Quellenangaben, Berechnungen und vorgeschlagenen Code anhand der tatsächlichen Eingaben und Ausführungsergebnisse. Das nutzbare Endergebnis sollte eine belegte Feststellung von einer ungeklärten Frage unterscheiden, ohne eine flüssig formulierte Antwort als Nachweis für das gewünschte Ergebnis anzusehen.
Ailoot Ultra · Stapelverarbeitung POST /v1/batches google/gemini-3.8-flash:batch
google/gemini-3.8-flash:batchEinstieg
Gemini 3.8 Flash ist Googles vielseitiges multimodales Modell für länger andauernde Softwareentwicklung, Agenten und komplexe wissensbasierte Aufgaben. Es verarbeitet Text, Bilder, Audio, Video und PDF, gibt Text aus und bietet die Denkstufen low, medium und high sowie Werkzeuge und strukturierte Ausgaben. Die dokumentierten Eingabe- und Ausgabegrenzen betragen 1’048’576 beziehungsweise 65’536 Token.
- 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 google/gemini-3.8-flash: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 google/gemini-3.8-flash:batch, google/gemini-3.8-flash | Standard— |
Feldprovider.only | Typstring[] | AnforderungOptional | Werte und Limits google-vertex/global | 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.00075 / 1K Tokens Ausgabe · Ausgabetoken $0.00375 / 1K Tokens Eingabe · Cache lesen $0.000075 / 1K Tokens Eingabe · Cache schreiben $0.0000833333333333334 / 1K Tokens Eingabe · Cache schreiben, 1 Stunde — / 1K Tokens |
| KonfigurationAnfragelängenstufe 1 | Tarifstaffel— | Kontexttoken, mehr als0 | Kontexttoken, bis einschliesslichKeine Obergrenze | Gebühr Eingabe · Eingabetoken $0.00075 / 1K Tokens Ausgabe · Ausgabetoken $0.00375 / 1K Tokens Eingabe · Cache lesen $0.000075 / 1K Tokens Eingabe · Cache schreiben $0.0000833333333333334 / 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":"google/gemini-3.8-flash: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 ['google/gemini-3.8-flash:batch', 'google/gemini-3.8-flash']: raise ValueError("body.model must be an exact documented caller or wire ID")
return {"endpoint":"/v1/chat/completions", "model":"google/gemini-3.8-flash: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 google/gemini-3.8-flash:batch
Aliasnamen für Methodenpfade
Verwenden Sie die oben angezeigten Methodenpfade.
Zugehörige Aufrufer-IDs
FAQ · Google: Gemini 3.8 Flash (batch)
- Welche Eingaben und Ergebnisse sind verfügbar?
POST /v1/batches·google/gemini-3.8-flash:batch:text→text- Welche Felder verwendet die Anfrage?
POST /v1/batches·google/gemini-3.8-flash:batch:endpoint,model,requests,completion_window,provider- Welche Grenzen gelten?
POST /v1/batches·google/gemini-3.8-flash:batch:requests.min_items:1