Text
Gemini 4 Hydrogen
Richieste Gemini native, livelli di ragionamento, decodifica lunga con token di continuazione, strumenti, input multimodale e streaming. Include limiti del modello e stato della verifica.
Usa gemini-4-hydrogen con il formato nativo Gemini. La pagina del modello include il Playground e i prezzi attuali. Gemini 4 Hydrogen usa lo stesso formato di richiesta di Gemini 4 Argon; secondo la guida di Google, il passaggio dall’uno all’altro richiede solo la modifica dell’ID del modello.
ID del modello
| ID del modello | Finestra di contesto | Sforzo predefinito |
|---|---|---|
gemini-4-hydrogen | 1.048.576 token, condivisi da input, ragionamento e output | high |
Verifica l’elenco dei modelli e le fasce disponibili prima di eseguire gli esempi. Usa l’ID di chiamata completo restituito dalla discovery quando la fascia Default non è disponibile.
Esempio rapido
curl https://api.seedrouter.ai/v1beta/models/gemini-4-hydrogen:generateContent \
-H "Authorization: Bearer $SEEDROUTER_API_KEY" \
-H "Content-Type: application/json" \
-d '{"contents":[{"role":"user","parts":[{"text":"Find the race condition in a retry loop that re-reads a balance before locking it."}]}],"generationConfig":{"thinkingConfig":{"thinkingLevel":"high"},"maxOutputTokens":65536}}'Il modello va nell’URL. contents è obbligatorio. Una risposta include candidates, finishReason e usageMetadata nativi; conserva le parti di contenuto complete, incluso thoughtSignature, per la cronologia della conversazione. I prompt difficili possono richiedere diversi minuti. Google consiglia un timeout del client di 20 minuti. Usa lo streaming per ricevere l’output non appena disponibile.
Endpoint
| Operazione | Endpoint |
|---|---|
| Risposta JSON | POST /v1beta/models/gemini-4-hydrogen:generateContent |
| Eventi inviati dal server | POST /v1beta/models/gemini-4-hydrogen:streamGenerateContent?alt=sse |
La specifica OpenAPI include ogni schema annidato di richiesta e risposta. I campi facoltativi usano i valori predefiniti dell’API quando vengono omessi. L’API nativa pubblica conserva il corpo inviato per la validazione di Gemini. Il Playground verifica anche i vincoli documentati prima dell’invio e applica le proprie impostazioni di sicurezza.
Parametri della richiesta
L’URL fissa il modello a gemini-4-hydrogen. Il contratto della richiesta contiene 11 campi di primo livello. I campi sono facoltativi salvo quando indicati come obbligatori; l’omissione è diversa dal valore 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 vuoto |
systemInstruction | object | No | Parti solo testuali; non viene inserita automaticamente alcuna identità dell’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 delle funzioni e del recupero |
safetySettings | object[] | No | Un’impostazione per categoria; nessuna categoria duplicata |
serviceTier | string | No | unspecified, standard, flex, priority; l’elaborazione ordinaria è standard |
continuationToken | string | No | Token restituito con finishReason: CONTINUATION; invia di nuovo la stessa richiesta con questo token per continuare una risposta lunga |
labels | object | No | Valori stringa; chiavi/valori in minuscolo, massimo 63 punti di codice Unicode ciascuno |
model | string | No | Nome facoltativo della risorsa; l’URL determina il modello effettivo |
store | boolean | No | Preferenza generica di archiviazione delle richieste; effetto specifico del modello non verificato |
La memorizzazione esplicita del contesto nella cache (risorse cachedContent e cachedContents) non è supportata su Gemini 4 Hydrogen. La cache implicita è attiva per impostazione predefinita per prompt di almeno 4096 token.
Parametri di generazione
Campo in generationConfig | Tipo | Valore predefinito e vincoli |
|---|---|---|
maxOutputTokens | integer | Valore predefinito 65.536, ragionamento incluso. Fino a 1.048.576 meno l’input con la continuazione. Ogni risposta con o senza streaming supporta fino a 65.536 token; usa la continuazione per output più lunghi |
thinkingConfig | object | thinkingLevel: low, medium, high, xhigh (predefinito high); accetta le grafie in maiuscolo. includeThoughts: boolean, predefinito false. Usa thinkingLevel; il parametro deprecato thinkingBudget viene mappato a un livello quando fornito da solo e non può essere combinato con thinkingLevel |
stopSequences | string[] | Massimo cinque sequenze |
responseMimeType | string | Predefinito text/plain; l’output con schema JSON legacy richiede application/json |
responseSchema | object | Dialetto dello schema ufficiale; mutuamente esclusivo con responseJsonSchema |
responseJsonSchema | JSON | JSON Schema; mutuamente esclusivo con responseSchema |
responseFormat | object | Configurazione del formato testuale; text.mimeType e text.schema facoltativo. Lo schema richiede il 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 con segno a 32 bit; comportamento deterministico specifico del modello non verificato |
presencePenalty | number | Campo generico; effetto/intervallo specifico del modello non verificato |
frequencyPenalty | number | Campo generico; effetto/intervallo specifico del modello non verificato |
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, enum, proprietà obbligatorie e limiti documentati per ogni messaggio. Gli schemi descrivono i parametri ufficiali; non sono una lista di campi consentiti nelle richieste SeedRouter. I campi e i valori forniti dal chiamante vengono conservati. Un campo accettato dallo schema non dimostra il supporto per ogni account. Il ragionamento minimal non è un livello elencato. Google afferma che temperature, topP, topK e candidateCount sono deprecati e dovrebbero essere rimossi; i valori di campionamento personalizzati vengono ignorati. Se inviati nel JSON nativo, passano comunque invariati affinché l’API Gemini li gestisca.
Decodifica lunga
Una risposta di Gemini 4 Hydrogen restituisce fino a 65.536 token in streaming e fino a 65.536 token senza streaming. Per andare oltre, imposta maxOutputTokens sopra 65.536 e continua la risposta autonomamente:
- Invia la richiesta. Se la risposta termina con
finishReason: "CONTINUATION", leggicandidates[0].continuationToken. - Invia di nuovo la stessa richiesta con quel valore nel campo di primo livello
continuationToken. Non aggiungere l’output parziale acontents; il token contiene lo stato del modello, incluso il ragionamento. - Ripeti finché
finishReasonnon èSTOPoMAX_TOKENS.
{
"contents": [{"role": "user", "parts": [{"text": "Write a complete, rigorous proof of the prime number theorem."}]}],
"generationConfig": {"thinkingConfig": {"thinkingLevel": "high"}, "maxOutputTokens": 262144},
"continuationToken": "TOKEN_FROM_THE_PREVIOUS_RESPONSE"
}Un turno di richiesta interamente dedicato al ragionamento può restituire testo vuoto con CONTINUATION; è un normale avanzamento. Ogni turno di richiesta invia nuovamente al modello il tuo prompt insieme a tutto ciò che è stato generato fino a quel momento, quindi i token di input vengono conteggiati di nuovo in ogni turno successivo. SeedRouter fattura ogni turno come una richiesta distinta. La modalità background lato server dell’Interactions API non fa parte di questo endpoint.
Output strutturato
{
"contents": [{"parts": [{"text": "Return a JSON object with ok set to true."}]}],
"generationConfig": {
"thinkingConfig": {"thinkingLevel": "low"},
"maxOutputTokens": 65536,
"responseMimeType": "application/json",
"responseJsonSchema": {
"type": "object",
"properties": {"ok": {"type": "boolean"}},
"required": ["ok"]
}
}
}I campi legacy 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 grafie degli enum REST (APPLICATION_JSON e TEXT_PLAIN) in quel messaggio. Le richieste passano invariate; i tipi MIME dei contenuti multimediali e il JSON arbitrario delle funzioni non vengono riscritti.
Funzioni e strumenti integrati
Usa tools[].functionDeclarations con un nome e uno solo tra parameters e parametersJsonSchema. La selezione delle funzioni si trova in toolConfig.functionCallingConfig; allowedFunctionNames richiede ANY o VALIDATED e nomi dichiarati.
La tua applicazione esegue le funzioni restituite e ne fornisce i risultati nel turno di conversazione successivo. Conserva ogni thoughtSignature, chiamata a funzione e risposta della funzione originale. Non arrotondare gli identificatori numerici quando serializzi argomenti opachi delle funzioni.
Google elenca Search, Maps, esecuzione di codice, contesto URL, File Search e Computer Use per questo modello. Le risorse File Search richiedono l’accesso tramite le credenziali che servono la richiesta. La configurazione MCP nativa compare nello schema generico, ma la sua disponibilità per questo modello non è accertata. Verifica le restrizioni ufficiali di ogni strumento prima di combinarlo con contenuti multimediali. Con il grounding, Google conteggia come token di input le istruzioni interne degli strumenti e le dichiarazioni di funzioni. Il Playground non esegue le tue funzioni personalizzate.
Input multimodale e sicurezza
Un elemento contents[].parts[] contiene esattamente un payload: testo, contenuto multimediale inline, riferimento a un file, chiamata/risposta di funzione o parte di esecuzione. Può anche contenere una firma o metadati multimediali. L’input supporta testo, immagini, audio, video e PDF; l’output è solo testo. Il modello non genera immagini o audio e non dispone di Live API.
Per i byte inline, usa inlineData.mimeType e data in base64. Per i riferimenti ai 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/fine e un fps positivo non superiore a 24. La comprensione video agentica viene selezionata per singola parte con mediaProcessing: "AGENTIC" accanto a fileData o inlineData del video; l’elaborazione statica è quella predefinita. videoMetadata contiene solo startOffset, endOffset e fps.
Le impostazioni di sicurezza usano il formato nativo ufficiale e attraversano l’API invariate. Nel Playground, tutte e quattro le categorie devono essere impostate su BLOCK_MEDIUM_AND_ABOVE o un livello più restrittivo; le soglie più basse sono disponibili solo tramite API.
Risposte JSON e streaming
generateContent restituisce JSON nativo. streamGenerateContent?alt=sse emette JSON nativo negli eventi SSE data:. I campi importanti includono candidates[].content.parts, finishReason, continuationToken, safetyRatings, groundingMetadata, promptFeedback, modelVersion, responseId e usageMetadata.
Conserva il contenuto nativo completo 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. L’utilizzo in streaming è cumulativo: usa quindi i contatori più recenti invece di sommare ogni chunk.
Utilizzo 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. Hydrogen usa il ragionamento high come predefinito. Imposta esplicitamente il livello quando confronti il suo utilizzo con un altro modello.
Questo modello non prevede scaglioni di prezzo in base alla lunghezza del contesto. I prezzi attuali di SeedRouter usano le tariffe per token Standard; sconti Flex e supplementi Priority non sono stati configurati per questa integrazione. Il supporto per questi livelli di elaborazione richiede ancora una verifica. Il grounding di Google Search può aggiungere costi per query oltre all’utilizzo dei token; verifica i prezzi degli strumenti prima di abilitarlo. Le richieste non riuscite non vengono addebitate. Consulta la tabella dei prezzi aggiornati.
Gruppi dell’account
La fascia Default usa l’ID del modello senza suffisso gemini-4-hydrogen. Le fasce aggiuntive usano gemini-4-hydrogen:GROUP_NAME nell’URL. Il Playground seleziona una fascia disponibile; l’API accetta anche un header esplicito:
X-SeedRouter-Group: GROUP_NAMEIl gruppo scelto determina il prezzo e la 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.
Verifica i gruppi disponibili per la tua chiave API senza generare una risposta:
curl "https://api.seedrouter.ai/api/seedrouter/llm/groups?model=gemini-4-hydrogen" \
-H "Authorization: Bearer YOUR_SEEDROUTER_KEY"Stato della verifica
La documentazione ufficiale è stata verificata il 13 novembre 2026. In quella data sono riusciti tre controlli a pagamento con un unico tentativo ciascuno tramite SeedRouter: JSON strutturato con pensiero low, SSE con pensiero xhigh e chiamata a una funzione dichiarata con pensiero low. I token di input, output e pensiero riportati corrispondevano ai costi registrati alle tariffe pubblicate. Comprensione dei media, ancoraggio alle fonti, Computer Use, continuazione/decodifica lunga, altri campi generici e livelli di elaborazione restano non verificati. Questi controlli non stabiliscono qualità o latenza comparative.
