Text
Gemini 4 Hydrogen
Requêtes Gemini natives, niveaux de raisonnement, décodage long avec tokens de continuation, outils, entrée multimodale et streaming. Comprend les limites du modèle et l’état de vérification.
Utilisez gemini-4-hydrogen avec le format Gemini natif. La page du modèle comprend le Playground et les prix actuels. Gemini 4 Hydrogen utilise le même format de requête que Gemini 4 Argon ; selon le guide de Google, passer de l’un à l’autre nécessite uniquement de changer l’ID du modèle.
ID du modèle
| ID du modèle | Fenêtre de contexte | Effort par défaut |
|---|---|---|
gemini-4-hydrogen | 1 048 576 tokens partagés entre l’entrée, le raisonnement et la sortie | high |
Vérifiez la liste des modèles et vos paliers disponibles avant d’exécuter les exemples. Utilisez l’ID d’appel complet renvoyé par la découverte lorsque le palier Default est indisponible.
Exemple rapide
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}}'Le modèle figure dans l’URL. contents est obligatoire. Une réponse comprend les champs natifs candidates, finishReason et usageMetadata ; conservez les parties de contenu complètes, y compris thoughtSignature, dans l’historique de conversation. Les prompts difficiles peuvent nécessiter plusieurs minutes. Google recommande un délai d’expiration client de 20 minutes. Utilisez le streaming pour recevoir la sortie au fur et à mesure de sa disponibilité.
Endpoints
| Opération | Endpoint |
|---|---|
| Réponse JSON | POST /v1beta/models/gemini-4-hydrogen:generateContent |
| Événements envoyés par le serveur | POST /v1beta/models/gemini-4-hydrogen:streamGenerateContent?alt=sse |
La spécification OpenAPI comprend tous les schémas imbriqués de requête et de réponse. Les champs facultatifs utilisent les valeurs par défaut de l’API lorsqu’ils sont omis. L’API native publique préserve le corps soumis pour validation par Gemini. Le Playground vérifie également les contraintes documentées avant l’envoi et applique ses paramètres de sécurité.
Paramètres de requête
L’URL fixe le modèle à gemini-4-hydrogen. Le contrat de requête contient 11 champs de premier niveau. Les champs sont facultatifs sauf mention obligatoire ; l’omission diffère de JSON null. Le JSON arbitraire nullable est préservé lorsque le schéma officiel l’autorise.
| Champ | Type | Obligatoire | Valeur par défaut et contraintes |
|---|---|---|---|
contents | object[] | Oui | Conversation non vide ; chaque contenu possède des parts non vides |
systemInstruction | object | Non | Parties textuelles uniquement ; aucune identité utilisateur n’est insérée automatiquement |
generationConfig | object | Non | Paramètres de génération dans le tableau suivant |
tools | object[] | Non | Déclarations de fonctions et configurations d’outils intégrés |
toolConfig | object | Non | Configuration de sélection des fonctions et de récupération |
safetySettings | object[] | Non | Un réglage par catégorie ; aucune catégorie en double |
serviceTier | string | Non | unspecified, standard, flex, priority ; le traitement ordinaire est standard |
continuationToken | string | Non | Token renvoyé avec finishReason: CONTINUATION ; renvoyez la même requête avec ce token pour poursuivre une réponse longue |
labels | object | Non | Valeurs de type chaîne ; clés et valeurs en minuscules, au maximum 63 points de code Unicode chacune |
model | string | Non | Nom de ressource facultatif ; l’URL détermine le modèle réel |
store | boolean | Non | Préférence générique de stockage des requêtes ; effet propre au modèle non vérifié |
La mise en cache explicite du contexte (ressources cachedContent et cachedContents) n’est pas prise en charge sur Gemini 4 Hydrogen. La mise en cache implicite est activée par défaut pour les prompts d’au moins 4 096 tokens.
Paramètres de génération
Champ dans generationConfig | Type | Valeur par défaut et contraintes |
|---|---|---|
maxOutputTokens | integer | Par défaut 65 536, raisonnement compris. Jusqu’à 1 048 576 moins l’entrée avec continuation. Chaque réponse avec ou sans streaming prend en charge jusqu’à 65 536 tokens ; utilisez la continuation pour une sortie plus longue |
thinkingConfig | object | thinkingLevel : low, medium, high, xhigh (high par défaut) ; les graphies en majuscules sont acceptées. includeThoughts : boolean, false par défaut. Utilisez thinkingLevel ; le paramètre déprécié thinkingBudget correspond à un niveau lorsqu’il est fourni seul et ne peut pas être combiné avec thinkingLevel |
stopSequences | string[] | Cinq séquences au maximum |
responseMimeType | string | text/plain par défaut ; l’ancienne sortie à schéma JSON nécessite application/json |
responseSchema | object | Dialecte de schéma officiel ; mutuellement exclusif avec responseJsonSchema |
responseJsonSchema | JSON | JSON Schema ; mutuellement exclusif avec responseSchema |
responseFormat | object | Configuration du format texte ; text.mimeType et text.schema facultatif. Le schéma nécessite le type MIME JSON |
responseModalities | string[] | Texte uniquement : TEXT ; vide signifie texte |
mediaResolution | enum | MEDIA_RESOLUTION_UNSPECIFIED, LOW, MEDIUM, HIGH avec le préfixe MEDIA_RESOLUTION_ |
seed | integer | Valeur signée sur 32 bits ; comportement déterministe propre au modèle non vérifié |
presencePenalty | number | Champ générique ; effet et plage propres au modèle non vérifiés |
frequencyPenalty | number | Champ générique ; effet et plage propres au modèle non vérifiés |
responseLogprobs | boolean | Champ générique ; disponibilité propre au modèle non vérifiée |
logprobs | integer | 0–20 ; nécessite responseLogprobs: true ; prise en charge par le modèle non vérifiée |
enableEnhancedCivicAnswers | boolean | Champ générique ; prise en charge par le modèle non vérifiée |
enableAffectiveDialog | boolean | Champ générique ; prise en charge par le modèle non vérifiée |
audioTranscriptionConfig | object | Champ générique ; options propres au modèle non vérifiées |
translationConfig | object | Champ générique ; options propres au modèle non vérifiées |
Le document OpenAPI répertorie les types imbriqués, les énumérations, les propriétés obligatoires et les bornes documentées de chaque message. Les schémas décrivent les paramètres officiels ; ils ne constituent pas une liste d’autorisation des requêtes SeedRouter. Les champs et valeurs fournis par l’appelant sont préservés. L’acceptation d’un champ par le schéma ne prouve pas sa prise en charge pour chaque compte. Le raisonnement minimal ne figure pas parmi les niveaux répertoriés. Google indique que temperature, topP, topK et candidateCount sont dépréciés et devraient être supprimés ; les valeurs d’échantillonnage personnalisées sont ignorées. S’ils sont soumis en JSON natif, ils sont néanmoins transmis sans modification à l’API Gemini pour traitement.
Décodage long
Une réponse Gemini 4 Hydrogen renvoie jusqu’à 65 536 tokens en streaming et jusqu’à 65 536 tokens sans streaming. Pour aller plus loin, définissez maxOutputTokens au-delà de 65 536 et poursuivez vous-même la réponse :
- Envoyez la requête. Si la réponse se termine avec
finishReason: "CONTINUATION", lisezcandidates[0].continuationToken. - Renvoyez la même requête avec cette valeur dans le champ de premier niveau
continuationToken. N’ajoutez pas la sortie partielle àcontents; le token contient l’état du modèle, y compris son raisonnement. - Répétez jusqu’à ce que
finishReasonsoitSTOPouMAX_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 tour de génération entièrement consacré au raisonnement peut renvoyer un texte vide avec CONTINUATION ; il s’agit d’une progression normale. Chaque tour renvoie au modèle votre prompt et tout ce qui a été généré jusque-là ; les tokens d’entrée sont donc comptés à nouveau à chaque tour ultérieur. SeedRouter facture chaque tour comme une requête distincte. Le mode background côté serveur de l’Interactions API ne fait pas partie de cet endpoint.
Sortie structurée
{
"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"]
}
}
}Les anciens champs responseSchema et responseJsonSchema ne peuvent pas être utilisés ensemble. Tous deux nécessitent responseMimeType: "application/json". Le schéma plus récent responseFormat.text doit également spécifier JSON. Utilisez les graphies des énumérations REST (APPLICATION_JSON et TEXT_PLAIN) dans ce message. Les requêtes sont transmises sans modification ; les types MIME des médias et le JSON arbitraire des fonctions ne sont pas réécrits.
Fonctions et outils intégrés
Utilisez tools[].functionDeclarations avec un nom et soit parameters, soit parametersJsonSchema, jamais les deux. La sélection des fonctions se trouve dans toolConfig.functionCallingConfig ; allowedFunctionNames nécessite ANY ou VALIDATED et des noms déclarés.
Votre application exécute les fonctions renvoyées et fournit leurs résultats au tour de conversation suivant. Préservez chaque thoughtSignature d’origine, chaque appel de fonction et chaque réponse de fonction. N’arrondissez pas les identifiants numériques lors de la sérialisation d’arguments de fonction opaques.
Google répertorie Search, Maps, l’exécution de code, le contexte d’URL, File Search et Computer Use pour ce modèle. Les ressources File Search nécessitent un accès avec les identifiants utilisés pour traiter la requête. La configuration MCP native figure dans le schéma générique, mais sa disponibilité pour ce modèle n’est pas établie. Vérifiez les restrictions officielles de chaque outil avant de le combiner avec des médias. Avec l’ancrage, Google compte les instructions internes des outils et les déclarations de fonctions comme tokens d’entrée. Le Playground n’exécute pas vos fonctions personnalisées.
Entrée multimodale et sécurité
Un élément contents[].parts[] contient exactement une charge utile : texte, média intégré, référence de fichier, appel ou réponse de fonction, ou partie d’exécution. Il peut également contenir une signature ou des métadonnées de média. L’entrée prend en charge le texte, les images, l’audio, les vidéos et les PDF ; la sortie est uniquement textuelle. Le modèle ne génère ni images ni audio et ne dispose pas de Live API.
Pour les octets intégrés, utilisez inlineData.mimeType et data en base64. Pour les références de fichiers, utilisez fileData.mimeType et fileUri. Une URL syntaxiquement valide ne prouve pas que le modèle peut en récupérer le contenu. Les métadonnées vidéo peuvent spécifier des décalages de début et de fin et un fps positif ne dépassant pas 24. La compréhension vidéo agentique se sélectionne par partie avec mediaProcessing: "AGENTIC" à côté de fileData ou inlineData de la vidéo ; le traitement statique est la valeur par défaut. videoMetadata contient uniquement startOffset, endOffset et fps.
Les paramètres de sécurité utilisent le format natif officiel et traversent l’API sans modification. Dans le Playground, les quatre catégories doivent être définies sur BLOCK_MEDIUM_AND_ABOVE ou un niveau plus strict ; les seuils inférieurs ne sont disponibles que via l’API.
Réponses JSON et streaming
generateContent renvoie du JSON natif. streamGenerateContent?alt=sse émet du JSON natif dans les événements SSE data:. Les champs importants comprennent candidates[].content.parts, finishReason, continuationToken, safetyRatings, groundingMetadata, promptFeedback, modelVersion, responseId et usageMetadata.
Conservez le contenu natif complet dans l’historique de conversation. Les résumés de raisonnement ne sont pas des signatures de raisonnement. Une déconnexion ne prouve ni l’échec ni l’achèvement de la génération ; inspectez le résultat partiel et le relevé du compte avant d’envoyer une autre requête. La consommation en streaming est cumulative : utilisez les derniers compteurs au lieu d’additionner chaque fragment.
Consommation et tarifs
promptTokenCount comprend l’entrée en cache. cachedContentTokenCount est facturé au tarif d’entrée en cache, sans être refacturé comme entrée non mise en cache. La sortie facturable comprend candidatesTokenCount plus thoughtsTokenCount. Hydrogen utilise le raisonnement high par défaut. Définissez explicitement le niveau lorsque vous comparez sa consommation à celle d’un autre modèle.
Ce modèle n’a pas de palier tarifaire lié à la longueur du contexte. Les prix actuels de SeedRouter utilisent les tarifs de tokens Standard ; les remises Flex et les suppléments Priority n’ont pas été configurés pour cette intégration. La prise en charge de ces paliers de traitement reste à vérifier. L’ancrage Google Search peut ajouter des frais par requête de recherche au-delà de la consommation de tokens ; vérifiez les tarifs des outils avant de l’activer. Les requêtes échouées ne sont pas facturées. Consultez le tableau des tarifs actuels.
Groupes du compte
Le palier Default utilise l’ID de modèle nu gemini-4-hydrogen. Les paliers supplémentaires utilisent gemini-4-hydrogen:GROUP_NAME dans l’URL. Le Playground sélectionne un palier disponible ; l’API accepte également un en-tête explicite :
X-SeedRouter-Group: GROUP_NAMELe groupe choisi détermine le prix et la capacité disponible ; une sélection explicite ne bascule pas silencieusement vers un autre groupe. Omettez l’en-tête ou utilisez auto pour conserver le comportement par défaut de la clé API.
Vérifiez les groupes disponibles pour votre clé API sans générer de réponse :
curl "https://api.seedrouter.ai/api/seedrouter/llm/groups?model=gemini-4-hydrogen" \
-H "Authorization: Bearer YOUR_SEEDROUTER_KEY"État de vérification
La documentation officielle a été vérifiée le 13 novembre 2026. À cette date, trois vérifications payantes avec une seule tentative chacune via SeedRouter ont réussi : JSON structuré avec réflexion low, SSE avec réflexion xhigh et appel d’une fonction déclarée avec réflexion low. Les tokens d’entrée, de sortie et de réflexion rapportés correspondaient aux frais enregistrés selon les tarifs publiés. La compréhension des médias, l’ancrage aux sources, Computer Use, la continuation/le décodage long, les autres champs génériques et les niveaux de traitement restent non vérifiés. Ces vérifications n’établissent ni qualité ni latence comparatives.
