Google: Gemini 3.5 Flash (batch)
Το Gemini 3.5 Flash συνδυάζει πολυτροπική κατανόηση με συλλογιστική για προγραμματισμό και εργασίες πρακτόρων πολλών βημάτων. Δέχεται κείμενο, εικόνες, βίντεο, ήχο και PDF και παράγει κείμενο, με δομημένες εξόδους, εργαλεία και όριο εισόδου 1,048,576 token στο τεκμηριωμένο προφίλ του.
Σχετικά με το μοντέλο
Αυτή η περιγραφή καλύπτει τις δυνατότητες του μοντέλου. Οι είσοδοι, έξοδοι και επιλογές που διατίθενται στο Ailoot παρατίθενται παρακάτω για την επιλεγμένη μέθοδο.
Το Gemini 3.5 Flash είναι το πολυτροπικό προφίλ μοντέλου Flash της Google για συνεχή προγραμματισμό και εργασία πρακτόρων. Οι τεκμηριωμένες είσοδοι είναι κείμενο, εικόνες, βίντεο, ήχος και PDF, με έξοδο κειμένου. Η εστίαση εργασιών περιλαμβάνει επαναληπτικό προγραμματισμό, διερεύνηση εναλλακτικών λύσεων και μεγαλύτερες ακολουθίες οδηγιών και χρήσης εργαλείων. Η έκδοση 3.5 παρέχει τεκμηριωμένους ελέγχους σκέψης, πολυτροπικές εισόδους και ροές εργαλείων.
Μια εργασία προγραμματισμού μπορεί να συνδυάζει γραπτή απαίτηση, σχετικά αρχεία πηγαίου κώδικα και στιγμιότυπο οθόνης του επιδιωκόμενου αποτελέσματος. Δώστε παρατηρούμενη και αναμενόμενη συμπεριφορά και τους περιορισμούς που πρέπει να παραμείνουν άθικτοι. Ενδεικτική περιγραφή είναι: «Σύγκρινε το στιγμιότυπο οθόνης με το κείμενο του συστατικού, εντόπισε την αναντιστοιχία στη ροή φόρμας και πρότεινε μία εστιασμένη διόρθωση. Εξήγησε ποιες λεπτομέρειες πηγής δικαιολογούν την αλλαγή». Για εργασία εγγράφου, δώστε τις σχετικές σελίδες και ζητήστε σύγκριση έναντι ρητών απαιτήσεων, με αναφορές πηγών για κάθε εύρημα.
Η έκδοση τεκμηριώνει επίπεδα σκέψης minimal, low, medium και high. Το medium είναι προεπιλογή, αλλαγμένο από την προεπιλογή high του Gemini 3 Flash Preview. Το minimal ταιριάζει σε απλές απαντήσεις και απλές αποφάσεις εργαλείων χωρίς να εγγυάται πλήρη απενεργοποίηση συλλογιστικής· το low στοχεύει εργασίες λιγότερων βημάτων· το high παρέχει βαθύτερη συλλογιστική για δύσκολα μαθηματικά, προγραμματισμό και προβλήματα πρακτόρων. Η Google συνιστά το thinking_level για έλεγχο έντασης και διατήρηση προεπιλεγμένων ρυθμίσεων δειγματοληψίας αντί για προσπάθεια επιβολής συλλογιστικής αλλάζοντας temperature, top-p ή top-k.
Καθοριστική συμπεριφορά είναι η διατήρηση πλαισίου συλλογιστικής σε εργασία πολλών γύρων. Η ροή Interactions της Google μεταφέρει αυτό το πλαίσιο αυτόματα· η ροή GenerateContent απαιτεί πλήρες αμετάβλητο ιστορικό συνομιλίας, συμπεριλαμβανομένων υπογραφών σκέψης. Αυτό υποστηρίζει συνεχιζόμενη ανάθεση αποσφαλμάτωσης ή αναδόμησης όπου η προηγούμενη συλλογιστική λαμβάνεται υπόψη στο επόμενο βήμα. Διατηρήστε την πραγματική δομή συνομιλίας αντί να μετατρέπετε κάθε συνέχεια σε άσχετη προτροπή και κρατήστε σαφές το τελικό ζητούμενο παραδοτέο καθώς εξελίσσεται η εργασία.
Το τεκμηριωμένο σύνολο εργαλείων περιλαμβάνει Google Search, τεκμηρίωση μέσω Google Maps, File Search, Code Execution, URL Context και τυπικό Function Calling, με τη συνδυασμένη χρήση εργαλείων και το Computer Use ως δυνατότητες προεπισκόπησης. Τα Structured Outputs μπορούν να παρέχουν καθορισμένη εγγραφή δεδομένων. Δώστε στις συναρτήσεις σαφή σκοπό και ορισμό παραμέτρων: το μοντέλο επιλέγει συνάρτηση, ενώ η συνδεδεμένη εφαρμογή εκτελεί τη λειτουργία της και επιστρέφει αποτέλεσμα. Η Google απαιτεί τα αποτελέσματα συναρτήσεων να αντιστοιχούν στις προηγούμενες κλήσεις μέσω ταυτότητας, ονόματος και πλήθους· τα πολυτροπικά αποτελέσματα ανήκουν μέσα στην απάντηση συνάρτησης.
Ο ακριβής πίνακας μοντέλου API δίνει μέγιστη είσοδο 1,048,576 token και μέγιστη έξοδο 65,536 token. Το ιστορικό συνομιλίας και τα παρεχόμενα μέσα συμβάλλουν στον προϋπολογισμό εισόδου. Η προσωρινή αποθήκευση και η μαζική επεξεργασία τεκμηριώνονται για αυτό το προφίλ, με πρόσθετες επιλογές επεξεργασίας Flex και Priority στον πίνακα της Google. Αυτά τα όρια και οι δυνατότητες περιγράφουν την έκδοση του κατασκευαστή· δεν απαιτούν απάντηση που γεμίζει ολόκληρο το παράθυρο εξόδου ούτε καθιστούν κάθε εργαλείο αναγκαίο για μια εργασία.
Αυτό το προφίλ παράγει κείμενο αντί για εικόνες ή ήχο και δεν χρησιμοποιεί Live API. Ο οδηγός προγραμματιστών αποκλείει επίσης την κατάτμηση εικόνων. Για οπτικό ερώτημα, ζητήστε περιγραφή, εξαγωγή ή ερμηνεία του παρεχόμενου υλικού· για ηχογραφημένη ομιλία, ζητήστε αποτέλεσμα κειμένου. Όταν η απάντηση εξαρτάται από νεότερες πληροφορίες, η τεκμηριωμένη ροή τεκμηρίωσης μέσω αναζήτησης μπορεί να προσθέσει πηγές πέρα από τη γνώση εκπαίδευσης. Δηλώστε αν χρειάζονται εξωτερικές πληροφορίες και ποια τεκμήρια πρέπει να διατηρεί η τελική απάντηση.
Για χρήσιμη μεγαλύτερη ανάθεση, ορίστε το τελικό αποτέλεσμα και το κριτήριο ολοκλήρωσης πριν από το πρώτο βήμα. Μια εργασία ανάλυσης υποστήριξης μπορεί να ζητά πίνακα παρατηρούμενων ζητημάτων, υποστηρικτικών αποσπασμάτων και προτεινόμενης απάντησης· μια εργασία προγραμματισμού μπορεί να απαιτεί την εστιασμένη αλλαγή και το σχετικό αποτέλεσμα επικύρωσης. Επισυνάψτε το ουσιώδες πλαίσιο πηγής, καθορίστε τις επιτρεπόμενες ενέργειες εργαλείων και ζητήστε ρητή τελική απάντηση που διαχωρίζει ολοκληρωμένη εργασία από ερωτήματα που χρειάζονται ακόμη πληροφορίες. Αυτό μετατρέπει τη συνεχή ροή του μοντέλου σε συγκεκριμένο παραδοτέο κειμένου, κώδικα ή δομημένων δεδομένων.
Ailoot Ultra · Μαζική επεξεργασία POST /v1/batches google/gemini-3.5-flash:batch
google/gemini-3.5-flash:batchΕισαγωγή
Το Gemini 3.5 Flash συνδυάζει πολυτροπική κατανόηση με συλλογιστική για προγραμματισμό και εργασίες πρακτόρων πολλών βημάτων. Δέχεται κείμενο, εικόνες, βίντεο, ήχο και PDF και παράγει κείμενο, με δομημένες εξόδους, εργαλεία και όριο εισόδου 1,048,576 token στο τεκμηριωμένο προφίλ του.
- Αποδεκτές είσοδοι
- Κείμενο
- Αποτελέσματα
- Κείμενο
Διαθέσιμα στο Ailoot · είσοδοι και μέθοδοι
Ailoot Ultra · Μαζική επεξεργασία POST /v1/batches
- Είσοδος
text- Έξοδος
text- Μορφή εξόδου
- Ενσωματωμένο JSON στο results[].response.body
| Πεδίο | Τύπος | Απαίτηση | Τιμές και όρια | Προεπιλογή |
|---|---|---|---|---|
Πεδίοendpoint | Τύποςstring | ΑπαίτησηΥποχρεωτικό | Τιμές και όρια /v1/chat/completions | Προεπιλογή— |
Πεδίοmodel | Τύποςstring | ΑπαίτησηΥποχρεωτικό | Τιμές και όρια google/gemini-3.5-flash:batch | Προεπιλογή— |
Πεδίοrequests | Τύποςbatch_item[] | ΑπαίτησηΥποχρεωτικό | Τιμές και όρια Ελάχιστο πλήθος στοιχείων: 1 | Προεπιλογή— |
Πεδίοrequests[].custom_id | Τύποςstring | ΑπαίτησηΥποχρεωτικό | Τιμές και όρια | Προεπιλογή— |
Πεδίοrequests[].body.messages | Τύποςmessage[] | ΑπαίτησηΥποχρεωτικό | Τιμές και όρια | Προεπιλογή— |
Πεδίοcompletion_window | Τύποςstring | ΑπαίτησηΠροαιρετικό | Τιμές και όρια 24h | Προεπιλογή— |
Πεδίοprovider | Τύποςobject|null | ΑπαίτησηΠροαιρετικό | Τιμές και όρια | Προεπιλογή— |
Πεδίοrequests[].body.model | Τύποςstring | ΑπαίτησηΠροαιρετικό | Τιμές και όρια google/gemini-3.5-flash:batch, google/gemini-3.5-flash | Προεπιλογή— |
Πεδίοprovider.only | Τύποςstring[] | ΑπαίτησηΠροαιρετικό | Τιμές και όρια google-vertex/global | Προεπιλογή— |
Πεδίοprovider.allow_fallbacks | Τύποςboolean|null | ΑπαίτησηΠροαιρετικό | Τιμές και όρια false, null | Προεπιλογή— |
Παράμετροι και κύκλος ζωής μεθόδου
| Παράμετρος | Σύμβαση |
|---|---|
Παράμετροςcontent_type | Σύμβασηapplication/json |
Παράμετροςrequired | Σύμβασηendpoint, model, requests |
Παράμετροςmaterial_types | Σύμβασηtext |
Παράμετροςrepresentation | ΣύμβασηΕνσωματωμένος πίνακας requests[]· κάθε στοιχείο έχει custom_id και body |
Παράμετροςrequest_endpoint_profile | Σύμβαση/v1/chat/completions |
Παράμετροςfile_material | ΣύμβασηΟ καλών μπορεί να διαβάσει το πραγματικό υλικό UTF-8 JSONL τοπικά στον πίνακα requests[]. Δεν χρησιμοποιείται παράμετρος purpose για μεταφόρτωση, input_file_id ή αναφορά σε αρχείο. Αν το υλικό του πελάτη λείπει ή είναι κενό, η προετοιμασία σταματά πριν από το POST. |
Παράμετροςserialization_order | Σύμβασηendpoint, model, provider (αν παρέχεται), completion_window (αν παρέχεται), requests στο τέλος |
Παράμετροςoptional_controls | Σύμβασηprovider.only, provider.allow_fallbacks, completion_window |
Παράμετροςschema_scope | ΣύμβασηΣώματα αιτημάτων Text Chat Completions στον τεκμηριωμένο ενσωματωμένο φάκελο Batch. |
Κύκλος ζωής: asynchronous
GET /v1/batches/{operation_id} · Το πραγματικό response.id της αρχικής απόκρισης δημιουργίας· ο ίδιος χρήστης, το ίδιο κλειδί και η ίδια ομάδα
Τιμολόγηση
Οι τιμολογιακές αναφορές δεν προσθέτουν επιλογές αιτήματος. Οι υποστηριζόμενες παράμετροι αναφέρονται στην επιλεγμένη μέθοδο.
- Γρήγορη λειτουργία
- Δεν έχει οριστεί Όταν επιλέγεται η γρήγορη λειτουργία
- Λειτουργία flex
- Δεν έχει οριστεί Όταν επιλέγεται η λειτουργία flex
- Μέγιστη προσπάθεια συλλογισμού
- Δεν έχει οριστεί Όταν η μέγιστη προσπάθεια συλλογισμού χρησιμοποιεί την προσαρμογή default
- Τιμολόγηση ρητής αποθήκευσης στην κρυφή μνήμη
- Δεν είναι ενεργοποιημένο Όταν ζητείται ρητή αποθήκευση στην κρυφή μνήμη
Χρεώσεις Ailoot
Τιμές ανά διαμόρφωση
Αντιστοιχίστε κάθε χρέωση στις συνθήκες που εμφανίζονται. Χρησιμοποιήστε μία χρέωση ανά σύνολο εναλλακτικών διαμορφώσεων.
| Διαμόρφωση | Πίνακας χρεώσεων | Token συμφραζομένων, πάνω από | Token συμφραζομένων, έως και | Χρέωση |
|---|---|---|---|---|
| ΔιαμόρφωσηΒασικές χρεώσεις ανά token | Πίνακας χρεώσεωνΒασική χρέωση | Token συμφραζομένων, πάνω από— | Token συμφραζομένων, έως καιΧωρίς ανώτατο όριο | Χρέωση Είσοδος · Token εισόδου $0.0015 / 1K token Έξοδος · Token εξόδου $0.009 / 1K token Είσοδος · Ανάγνωση από την κρυφή μνήμη $0.00015 / 1K token Είσοδος · Εγγραφή στην κρυφή μνήμη — / 1K token Είσοδος · Εγγραφή στην κρυφή μνήμη, 1 ώρα — / 1K token |
| ΔιαμόρφωσηΕπίπεδο 1 βάσει μήκους αιτήματος | Πίνακας χρεώσεων— | Token συμφραζομένων, πάνω από0 | Token συμφραζομένων, έως καιΧωρίς ανώτατο όριο | Χρέωση Είσοδος · Token εισόδου $0.0015 / 1K token Έξοδος · Token εξόδου $0.009 / 1K token Είσοδος · Ανάγνωση από την κρυφή μνήμη $0.00015 / 1K token Είσοδος · Εγγραφή στην κρυφή μνήμη — / 1K token Είσοδος · Εγγραφή στην κρυφή μνήμη, 1 ώρα — / 1K token |
Το Ailoot δεσμεύει ένα εκτιμώμενο ποσό πριν από το αίτημα. Μετά το αποτέλεσμα, εκκαθαρίζει την τελική χρέωση βάσει της μετρημένης χρήσης. Η εκκαθάριση ροής χρησιμοποιεί την τελική καταγραφή χρήσης. Πώς λειτουργούν η δέσμευση και η εκκαθάριση →
Παραδείγματα αιτημάτων
Ailoot Ultra · Μαζική επεξεργασία
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.5-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.5-flash:batch', 'google/gemini-3.5-flash']: raise ValueError("body.model must be an exact documented caller or wire ID")
return {"endpoint":"/v1/chat/completions", "model":"google/gemini-3.5-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.
Λήψη και αποθήκευση αποτελεσμάτων
Ailoot Ultra · Μαζική επεξεργασία
Ενσωματωμένο JSON στο results[].response.body
GET /v1/batches/{operation_id}
Έλεγχος κατάστασης εργασίας
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
Διατηρήστε όλα τα ολοκληρωμένα αποτελέσματα
Διατηρήστε κάθε πλήρη απάντηση, αρχείο και τμήμα περιεχομένου που επιστρέφεται.
Διατηρήστε ολόκληρο το αρχικό JSON κατάστασης, κάθε result/custom_id και ολόκληρο το σώμα της απόκρισης ή του σφάλματος. Αποθηκεύστε τα ολοκληρωμένα results[] ως JSONL χωρίς φιλτράρισμα.
Αν χρειάζεται έλεγχος της αρχικής απάντησης
Διατηρήστε το αρχικό ID της λειτουργίας. Η απόκριση 503 result_pending_check περιέχει X-Should-Retry:false· μην υποβάλετε ποτέ ξανά μια αρχική μαζική εργασία με άγνωστη έκβαση.
Πεδία απάντησης
| Πεδίο | Τύπος |
|---|---|
Πεδίοresults[].custom_id | Τύποςstring |
Πεδίοresults[].response.body.choices[].message.content | Τύποςstring|null |
Πεδίοresults[].error | Τύποςobject|null |
Πεδίοusage | Τύποςobject|null |
Πεδίοid | Τύποςstring |
Πεδίοmodel | Τύποςstring |
Πεδίοendpoint | Τύποςstring |
Πεδίοstatus | Τύποςstring |
Πεδίοrequest_counts | Τύποςobject |
Πεδίοresults[].id | Τύποςstring |
Πεδίοresults[].response.status_code | Τύποςinteger |
Πεδίοresults[].response.request_id | Τύποςstring |
Σφάλματα και επόμενα βήματα
| Απάντηση | Συνθήκη | Επόμενο βήμα |
|---|---|---|
Απάντηση400 · invalid_request_error | ΣυνθήκηΜη έγκυρος τεκμηριωμένος ενσωματωμένος φάκελος, διπλότυπα κλειδιά, ταυτότητα στοιχείου ή σύγκρουση με τις ρυθμισμένες δυνατότητες του μοντέλου. | Επόμενο βήμαΔιορθώστε τα υποδεικνυόμενα πεδία πριν από οποιαδήποτε νέα υποβολή. |
Απάντηση401 · authentication_error | ΣυνθήκηΜη έγκυρο κλειδί API. | Επόμενο βήμαΧρησιμοποιήστε το εξουσιοδοτημένο κλειδί Ailoot. |
Απάντηση403 · permission_error | ΣυνθήκηΗ ομάδα μαζικής επεξεργασίας δεν είναι διαθέσιμη. | Επόμενο βήμαΕλέγξτε τα δικαιώματα πρόσβασης του κλειδιού/της ομάδας. |
Απάντηση422 · invalid_request_error | ΣυνθήκηΗ μαζική επεξεργασία χρεώνεται στο υπόλοιπο· η δημιουργία μέσω συνδρομής απορρίπτεται. | Επόμενο βήμαΧρησιμοποιήστε την εξουσιοδοτημένη ομάδα που χρεώνεται στο υπόλοιπο. |
Απάντηση422 · price_unavailable | ΣυνθήκηΔεν μπορεί να υπολογιστεί προσφορά κόστους για την είσοδο της μαζικής εργασίας. | Επόμενο βήμαΔιατηρήστε την απόκριση· χρησιμοποιήστε την τεκμηριωμένη είσοδο της οικογένειας API. |
Απάντηση402 · billing_error | ΣυνθήκηΤο ποσό δέσμευσης για τη μαζική επεξεργασία δεν είναι διαθέσιμο. | Επόμενο βήμαΕπιλύστε το ζήτημα αποδοχής πριν από ένα νέο αίτημα. |
Απάντηση503 · price_unavailable | ΣυνθήκηΗ τιμή της μεθόδου μαζικής επεξεργασίας/οι εγγενείς τιμές δεν είναι διαθέσιμες. | Επόμενο βήμαΔιατηρήστε την απόκριση· μην αντικαθιστάτε τις τιμές. |
Απάντηση503 · api_error | ΣυνθήκηΗ ακριβής διαδρομή του προμηθευτή δεν είναι διαθέσιμη. | Επόμενο βήμαΔιατηρήστε την απόκριση για τη διόρθωση της διαδρομής. |
Απάντηση503 · result_pending_check | ΣυνθήκηΤο αρχικό αποτέλεσμα χρειάζεται έλεγχο· X-Should-Retry:false. | Επόμενο βήμαΔιατηρήστε το αρχικό operation_id/id και διαβάστε την κατάστασή του· μην επαναλάβετε ποτέ το αρχικό POST. |
Απάντηση404 · not_found | ΣυνθήκηΗ λειτουργία κατάστασης της μαζικής εργασίας δεν υπάρχει ή ανήκει σε άλλη ταυτότητα. | Επόμενο βήμαΧρησιμοποιήστε το ακριβές αρχικό id και τον ίδιο χρήστη, το ίδιο κλειδί και την ίδια ομάδα. |
Εναλλακτικά ονόματα
Εναλλακτικά ονόματα μοντέλου
Ailoot Ultra google/gemini-3.5-flash:batch
Εναλλακτικές διαδρομές μεθόδων
Χρησιμοποιήστε τις διαδρομές μεθόδων που εμφανίζονται παραπάνω.
Σχετικά ID μοντέλων
FAQ · Google: Gemini 3.5 Flash (batch)
- Ποιες είσοδοι και αποτελέσματα διατίθενται;
POST /v1/batches·google/gemini-3.5-flash:batch:text→text- Ποια πεδία χρησιμοποιεί το αίτημα;
POST /v1/batches·google/gemini-3.5-flash:batch:endpoint,model,requests,completion_window,provider- Ποια όρια ισχύουν;
POST /v1/batches·google/gemini-3.5-flash:batch:requests.min_items:1