Text
Gemini 3.8 Flash
Richieste Gemini native, input multimodali, ragionamento, strumenti, cache e streaming. Include limiti del modello e stato delle verifiche.
Usa gemini-3.8-flash nel formato Gemini nativo. La pagina del modello include il Playground e i prezzi attuali; la guida al confronto tra modelli confronta le impostazioni documentate con Gemini 3.1 Pro.
ID del modello
| ID del modello | Limite di input | Livello di ragionamento predefinito |
|---|---|---|
gemini-3.8-flash | 1.048.576 token | medium |
Esempio rapido
curl https://api.seedrouter.ai/v1beta/models/gemini-3.8-flash:generateContent \
-H "Authorization: Bearer $SEEDROUTER_API_KEY" \
-H "Content-Type: application/json" \
-d '{"contents":[{"role":"user","parts":[{"text":"Explain a mutex in one sentence."}]}],"generationConfig":{"thinkingConfig":{"thinkingLevel":"low"},"maxOutputTokens":1024}}'Il modello va indicato nell’URL. contents è obbligatorio. Una risposta include i campi nativi candidates, finishReason e usageMetadata; conserva le parti di contenuto complete, incluso thoughtSignature, per la cronologia della conversazione.
Endpoint
| Operazione | Endpoint |
|---|---|
| Risposta JSON | POST /v1beta/models/gemini-3.8-flash:generateContent |
| Eventi inviati dal server | POST /v1beta/models/gemini-3.8-flash:streamGenerateContent?alt=sse |
La specifica OpenAPI include tutti gli schemi annidati di richiesta e risposta. I campi facoltativi omessi usano i valori predefiniti dell’API. SeedRouter inoltra il corpo inviato senza filtrare i campi sconosciuti, rimuovere quelli non supportati o convalidare i valori dei parametri del modello. È l’API Gemini a decidere se accettare una richiesta.
Parametri della richiesta
L’URL fissa il modello su gemini-3.8-flash. Il contratto della richiesta contiene 12 campi di primo livello. I campi sono facoltativi salvo dove indicati come obbligatori; l’omissione è diversa da JSON null. Il JSON arbitrario che ammette null viene conservato dove lo schema ufficiale lo consente.
| Campo | Tipo | Obbligatorio | Valore predefinito e vincoli |
|---|---|---|---|
contents | object[] | Sì | Conversazione non vuota; ogni contenuto ha parts non vuote |
systemInstruction | object | No | Parti solo testuali; non viene inserita automaticamente alcuna identità utente |
generationConfig | object | No | Parametri di generazione nella tabella successiva |
tools | object[] | No | Dichiarazioni di funzioni e configurazioni degli strumenti integrati |
toolConfig | object | No | Configurazione della selezione di funzioni e del recupero |
safetySettings | object[] | No | Un’impostazione per categoria; nessuna categoria duplicata |
cachedContent | string | No | Risorsa cachedContents/{id} esistente; richiede accesso compatibile |
serviceTier | string | No | unspecified, standard, flex, priority; l’elaborazione ordinaria è standard |
labels | object | No | Valori stringa; chiavi e valori in minuscolo, massimo 63 punti di codice Unicode ciascuno |
model | string | No | Nome di risorsa facoltativo; l’URL determina il modello effettivo |
store | boolean | No | Preferenza generica per l’archiviazione delle richieste; effetto specifico del modello non verificato |
continuationToken | string | No | Token opaco generico; la continuazione non è una capacità accertata di 3.8 Flash |
Parametri di generazione
Campo in generationConfig | Tipo | Valore predefinito e vincoli |
|---|---|---|
maxOutputTokens | integer | 1–65.536, incluso il ragionamento; valore predefinito del modello: 65.536 |
thinkingConfig | object | thinkingLevel: low, medium, high (predefinito: medium); sono accettate le forme maiuscole. includeThoughts: boolean, false per impostazione predefinita. thinkingBudget: integer, si esclude a vicenda con thinkingLevel; non è stato accertato un intervallo numerico specifico del modello |
stopSequences | string[] | Al massimo cinque sequenze |
responseMimeType | string | Predefinito: text/plain; l’output con schema JSON precedente richiede application/json |
responseSchema | object | Dialetto ufficiale dello schema; si esclude a vicenda con responseJsonSchema |
responseJsonSchema | JSON | JSON Schema; si esclude a vicenda con responseSchema |
responseFormat | object | Configurazione del formato testuale; text.mimeType e text.schema facoltativo. Lo schema richiede un tipo MIME JSON |
responseModalities | string[] | Solo testo: TEXT; vuoto significa testo |
mediaResolution | enum | MEDIA_RESOLUTION_UNSPECIFIED, LOW, MEDIUM, HIGH con il prefisso MEDIA_RESOLUTION_ |
seed | integer | Valore a 32 bit con segno; comportamento deterministico specifico del modello non verificato |
presencePenalty | number | Campo generico; effetto e intervallo specifici del modello non verificati |
frequencyPenalty | number | Campo generico; effetto e intervallo specifici del modello non verificati |
responseLogprobs | boolean | Campo generico; disponibilità specifica del modello non verificata |
logprobs | integer | 0–20; richiede responseLogprobs: true; supporto del modello non verificato |
enableEnhancedCivicAnswers | boolean | Campo generico; supporto del modello non verificato |
enableAffectiveDialog | boolean | Campo generico; supporto del modello non verificato |
audioTranscriptionConfig | object | Campo generico; opzioni specifiche del modello non verificate |
translationConfig | object | Campo generico; opzioni specifiche del modello non verificate |
Il documento OpenAPI elenca tipi annidati, enumerazioni, proprietà obbligatorie e limiti documentati per ogni messaggio. Gli schemi descrivono parametri ufficiali; non sono un elenco di campi consentiti da SeedRouter. I campi e i valori forniti dal chiamante vengono conservati. Un campo accettato dallo schema non dimostra il supporto per ogni modello o account. Il ragionamento minimal non è supportato. Temperature, topP, topK e candidateCount non sono controlli ufficiali per questo modello. Se inviati nel JSON nativo, passano comunque senza modifiche perché siano gestiti dall’API Gemini. Termina la conversazione con contenuto dell’utente; l’API ufficiale non supporta turni finali precompilati del modello. Restano validi i turni utente contenenti solo risposte di funzione.
Output strutturato
{
"contents": [{"parts": [{"text": "Return a JSON object with ok set to true."}]}],
"generationConfig": {
"thinkingConfig": {"thinkingLevel": "low"},
"maxOutputTokens": 1024,
"responseMimeType": "application/json",
"responseJsonSchema": {
"type": "object",
"properties": {"ok": {"type": "boolean"}},
"required": ["ok"]
}
}
}I campi precedenti responseSchema e responseJsonSchema non possono essere usati insieme. Entrambi richiedono responseMimeType: "application/json". Anche lo schema più recente responseFormat.text deve specificare JSON. Usa le forme delle enumerazioni REST (APPLICATION_JSON e TEXT_PLAIN) in quel messaggio. Le richieste passano senza modifiche; i tipi MIME multimediali e il JSON arbitrario delle funzioni non vengono riscritti.
Funzioni e strumenti integrati
Usa tools[].functionDeclarations con un nome e con parameters oppure parametersJsonSchema, non entrambi. Gli schemi di risposta seguono la stessa regola di esclusione reciproca. La selezione delle funzioni si trova in toolConfig.functionCallingConfig; allowedFunctionNames richiede ANY o VALIDATED e nomi dichiarati.
Il modello supporta le chiamate a funzioni. La tua applicazione esegue le funzioni restituite e ne fornisce i risultati nel turno successivo della conversazione. Conserva ogni thoughtSignature originale, chiamata a funzione e risposta di funzione. Non arrotondare gli identificatori numerici quando serializzi argomenti opachi delle funzioni.
Google elenca Search, Maps, esecuzione di codice e contesto URL tra le capacità del modello. File Search è supportato nella documentazione del modello. Le risorse esistenti di cache e ricerca di file richiedono accesso con le credenziali che servono la richiesta. Computer Use è indicato come Preview. La configurazione MCP nativa compare nello schema generico, ma la sua disponibilità per questo modello non è accertata. Google Maps richiede input e output solo testuali; controlla i vincoli dell’API ufficiale prima di combinare Maps con contenuti multimediali. Il Playground non esegue le tue funzioni personalizzate.
Input multimodale e sicurezza
Un elemento contents[].parts[] contiene esattamente un payload: testo, contenuti multimediali inline, un riferimento a file, una chiamata/risposta di funzione o una parte di esecuzione. Può includere anche una firma o metadati multimediali. L’input supporta testo, immagini, audio, video e PDF; l’output è solo testuale.
Per i byte inline, usa inlineData.mimeType e data in base64. Per i riferimenti a file, usa fileData.mimeType e fileUri. Un URL sintatticamente valido non dimostra che il modello possa recuperarne il contenuto. I metadati video possono specificare offset di inizio e fine e un valore positivo di fps non superiore a 24. Le risoluzioni multimediali globali e per singola parte sono impostazioni distinte. Agentic Video è supportato tramite videoMetadata.processingMode: "AGENTIC".
Usa JSON nativo per i contenuti multimediali inline o un riferimento a file accessibile per quelli più grandi. I limiti esatti di formato, durata e contenuti multimediali per richiesta restano soggetti alla documentazione multimediale ufficiale e alla verifica dal vivo.
Le impostazioni di sicurezza usano il formato nativo ufficiale. Ometterle mantiene i valori predefiniti dell’API Gemini; le impostazioni fornite esplicitamente passano senza modifiche.
Risposte JSON e streaming
generateContent restituisce JSON nativo. streamGenerateContent?alt=sse emette JSON nativo negli eventi SSE data:. Tra i campi importanti ci sono candidates[].content.parts, finishReason, safetyRatings, groundingMetadata, promptFeedback, modelVersion, responseId e usageMetadata.
Conserva i contenuti nativi completi nella cronologia della conversazione. I riepiloghi del ragionamento non sono la stessa cosa delle firme di ragionamento. Una disconnessione non dimostra che la generazione sia fallita o terminata; esamina il risultato parziale e il registro dell’account prima di inviare un’altra richiesta. Il consumo del flusso è cumulativo: usa i contatori più recenti anziché sommare ogni frammento.
La continuazione di output più lunghi non è stata accertata per Gemini 3.8 Flash. Non creare un ciclo di continuazione solo perché lo schema generico della risposta include un campo token.
Consumo e prezzi
promptTokenCount include l’input in cache. cachedContentTokenCount viene addebitato alla tariffa dell’input in cache, anziché essere addebitato di nuovo come input non in cache. L’output fatturabile include candidatesTokenCount più thoughtsTokenCount. Anche i token di prompt riportati per l’uso degli strumenti contribuiscono all’input.
Questo modello non prevede uno scatto di prezzo per il contesto lungo a 200.000 token. I gruppi dell’account disponibili usano la stessa espressione di prezzo del modello e il proprio moltiplicatore attuale. Consulta la tabella dei prezzi aggiornata.
Flex e Priority sono livelli di elaborazione separati. Flex usa metà delle tariffe Standard di input, output e input in cache; Priority usa 1,8 volte tali tariffe. Le tariffe introduttive pubblicate da Google terminano il 31 dicembre 2026; controlla sempre la tabella attuale di SeedRouter anziché presumere una tariffa futura. Un risultato riportato come Standard non deve avere un sovrapprezzo Priority. Se una risposta richiesta come Priority non ne accerta il livello effettivo, questa integrazione usa le tariffe Standard per token. I costi degli strumenti e dell’archiviazione esplicita della cache sono separati dai prezzi dei token di generazione; non viene promessa una quota gratuita condivisa per gli strumenti. Le richieste non riuscite non vengono addebitate.
Più gruppi dell’account
Il modello usa googlellm e googlellm-vertext, mantenendo le autorizzazioni e i prezzi esistenti dell’account. La grafia di ciascun nome di gruppo è esatta. Seleziona un gruppo disponibile nel Playground oppure usa l’header API facoltativo:
X-SeedRouter-Group: googlellmUsa googlellm-vertext per selezionare il secondo gruppo. Il gruppo scelto determina prezzo e capacità disponibile; una selezione esplicita non passa silenziosamente a un altro gruppo. Ometti l’header o usa auto per mantenere il comportamento predefinito della chiave API.
Controlla i gruppi disponibili per la tua chiave API senza generare una risposta:
curl "https://api.seedrouter.ai/api/seedrouter/llm/groups?model=gemini-3.8-flash" -H "Authorization: Bearer YOUR_SEEDROUTER_KEY"Stato delle verifiche
I controlli e la documentazione seguono il formato nativo ufficiale. La convalida dei parametri spetta all’API Gemini. Le verifiche offline di trasporto e fatturazione non dimostrano la disponibilità in produzione. Generazione dal vivo, entrambi i gruppi dell’account, comprensione multimediale, risorse in cache, strumenti integrati e livelli di elaborazione richiedono ancora una verifica a pagamento end-to-end. Non viene dichiarato alcun confronto misurato di qualità o latenza con Gemini 3.1 Pro.
