Text
Gemini 3.1 Pro
Richieste Gemini native, input multimodali, ragionamento, strumenti, cache e streaming. Include limiti del modello e stato delle verifiche.
Usa gemini-3.1-pro-preview nel formato Gemini nativo. La pagina del modello include il Playground e i prezzi attuali; la guida alle varianti del modello spiega i due ID ufficiali.
ID del modello
| ID del modello | Limite di input | Livello di ragionamento predefinito |
|---|---|---|
gemini-3.1-pro-preview | 1.048.576 token | high |
Esempio rapido
curl https://api.seedrouter.ai/v1beta/models/gemini-3.1-pro-preview: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.1-pro-preview:generateContent |
| Eventi inviati dal server | POST /v1beta/models/gemini-3.1-pro-preview: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.1-pro-preview. 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.1 Pro |
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: high); 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 |
temperature | number | 0–2; Google consiglia il valore predefinito 1.0 |
topP | number | 0–1; ometti per usare il valore predefinito del modello |
topK | integer | Facoltativo; intervallo configurabile specifico del modello non accertato |
candidateCount | integer | Esattamente 1 |
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. Questo modello non supporta il ragionamento minimal e l’elaborazione Agentic Video.
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 normale supporta le chiamate a funzioni; la variante customtools non è necessaria. 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 è indicato solo per AI Studio. Le risorse esistenti di cache e ricerca di file richiedono accesso con le credenziali che servono la richiesta. Computer Use e la configurazione MCP nativa compaiono nello schema generico, ma la loro disponibilità per questo modello non è accertata. 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 non è supportato.
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.
A differenza di Argon, la continuazione di output più lunghi non è stata accertata per 3.1 Pro. 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.
La soglia di contesto è di 200.000 token di input, incluso l’input in cache; input più grandi usano le tariffe per il contesto lungo. 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 non dimezza le tariffe dell’input in cache. 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.1-pro-preview" -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 risultato comparativo di qualità per la variante Customtools.
