Claude Opus 5.5 è disponibile su SeedRouter

Text

Gemini 3.1 Pro

View Markdown

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 modelloLimite di inputLivello di ragionamento predefinito
gemini-3.1-pro-preview1.048.576 tokenhigh

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

OperazioneEndpoint
Risposta JSONPOST /v1beta/models/gemini-3.1-pro-preview:generateContent
Eventi inviati dal serverPOST /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.

CampoTipoObbligatorioValore predefinito e vincoli
contentsobject[]SìConversazione non vuota; ogni contenuto ha parts non vuote
systemInstructionobjectNoParti solo testuali; non viene inserita automaticamente alcuna identità utente
generationConfigobjectNoParametri di generazione nella tabella successiva
toolsobject[]NoDichiarazioni di funzioni e configurazioni degli strumenti integrati
toolConfigobjectNoConfigurazione della selezione di funzioni e del recupero
safetySettingsobject[]NoUn’impostazione per categoria; nessuna categoria duplicata
cachedContentstringNoRisorsa cachedContents/{id} esistente; richiede accesso compatibile
serviceTierstringNounspecified, standard, flex, priority; l’elaborazione ordinaria è standard
labelsobjectNoValori stringa; chiavi e valori in minuscolo, massimo 63 punti di codice Unicode ciascuno
modelstringNoNome di risorsa facoltativo; l’URL determina il modello effettivo
storebooleanNoPreferenza generica per l’archiviazione delle richieste; effetto specifico del modello non verificato
continuationTokenstringNoToken opaco generico; la continuazione non è una capacità accertata di 3.1 Pro

Parametri di generazione

Campo in generationConfigTipoValore predefinito e vincoli
maxOutputTokensinteger1–65.536, incluso il ragionamento; valore predefinito del modello: 65.536
thinkingConfigobjectthinkingLevel: 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
temperaturenumber0–2; Google consiglia il valore predefinito 1.0
topPnumber0–1; ometti per usare il valore predefinito del modello
topKintegerFacoltativo; intervallo configurabile specifico del modello non accertato
candidateCountintegerEsattamente 1
stopSequencesstring[]Al massimo cinque sequenze
responseMimeTypestringPredefinito: text/plain; l’output con schema JSON precedente richiede application/json
responseSchemaobjectDialetto ufficiale dello schema; si esclude a vicenda con responseJsonSchema
responseJsonSchemaJSONJSON Schema; si esclude a vicenda con responseSchema
responseFormatobjectConfigurazione del formato testuale; text.mimeType e text.schema facoltativo. Lo schema richiede un tipo MIME JSON
responseModalitiesstring[]Solo testo: TEXT; vuoto significa testo
mediaResolutionenumMEDIA_RESOLUTION_UNSPECIFIED, LOW, MEDIUM, HIGH con il prefisso MEDIA_RESOLUTION_
seedintegerValore a 32 bit con segno; comportamento deterministico specifico del modello non verificato
presencePenaltynumberCampo generico; effetto e intervallo specifici del modello non verificati
frequencyPenaltynumberCampo generico; effetto e intervallo specifici del modello non verificati
responseLogprobsbooleanCampo generico; disponibilità specifica del modello non verificata
logprobsinteger0–20; richiede responseLogprobs: true; supporto del modello non verificato
enableEnhancedCivicAnswersbooleanCampo generico; supporto del modello non verificato
enableAffectiveDialogbooleanCampo generico; supporto del modello non verificato
audioTranscriptionConfigobjectCampo generico; opzioni specifiche del modello non verificate
translationConfigobjectCampo 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: googlellm

Usa 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.

Riferimenti