Text
Gemini 4 Hydrogen
Solicitudes nativas de Gemini, niveles de razonamiento, decodificación larga con tokens de continuación, herramientas, entrada multimodal y streaming. Incluye límites del modelo y estado de verificación.
Usa gemini-4-hydrogen con el formato nativo de Gemini. La página del modelo incluye el Playground y los precios actuales. Gemini 4 Hydrogen utiliza el mismo formato de solicitud que Gemini 4 Argon; la guía de Google indica que para cambiar entre ellos solo hay que modificar el ID del modelo.
ID del modelo
| ID del modelo | Ventana de contexto | Esfuerzo predeterminado |
|---|---|---|
gemini-4-hydrogen | 1.048.576 tokens, compartidos por la entrada, el razonamiento y la salida | high |
Comprueba la lista de modelos y los niveles disponibles antes de ejecutar los ejemplos. Usa el ID de llamada completo devuelto por el descubrimiento cuando el nivel Default no esté disponible.
Ejemplo rápido
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}}'El modelo va en la URL. contents es obligatorio. Una respuesta incluye candidates, finishReason y usageMetadata nativos; conserva las partes de contenido completas, incluido thoughtSignature, para el historial de conversación. Los prompts difíciles pueden tardar varios minutos. Google recomienda un tiempo de espera del cliente de 20 minutos. Usa streaming para recibir la salida a medida que esté disponible.
Endpoints
| Operación | Endpoint |
|---|---|
| Respuesta JSON | POST /v1beta/models/gemini-4-hydrogen:generateContent |
| Eventos enviados por el servidor | POST /v1beta/models/gemini-4-hydrogen:streamGenerateContent?alt=sse |
La especificación OpenAPI incluye todos los esquemas anidados de solicitud y respuesta. Los campos opcionales usan los valores predeterminados de la API cuando se omiten. La API nativa pública conserva el cuerpo enviado para que Gemini lo valide. El Playground también comprueba las restricciones documentadas antes del envío y aplica sus ajustes de seguridad.
Parámetros de solicitud
La URL fija el modelo en gemini-4-hydrogen. El contrato de solicitud contiene 11 campos de nivel superior. Los campos son opcionales salvo que se indiquen como obligatorios; omitirlos no equivale a JSON null. El JSON arbitrario que admite valores nulos se conserva donde lo permite el esquema oficial.
| Campo | Tipo | Obligatorio | Valor predeterminado y restricciones |
|---|---|---|---|
contents | object[] | Sí | Conversación no vacía; cada contenido tiene parts no vacías |
systemInstruction | object | No | Partes solo de texto; no se inserta automáticamente la identidad del usuario |
generationConfig | object | No | Parámetros de generación de la siguiente tabla |
tools | object[] | No | Declaraciones de funciones y configuraciones de herramientas integradas |
toolConfig | object | No | Configuración de selección de funciones y recuperación |
safetySettings | object[] | No | Un ajuste por categoría; sin categorías duplicadas |
serviceTier | string | No | unspecified, standard, flex, priority; el procesamiento ordinario es standard |
continuationToken | string | No | Token devuelto con finishReason: CONTINUATION; reenvía la misma solicitud con él para continuar una respuesta larga |
labels | object | No | Valores de cadena; claves y valores en minúsculas, máximo de 63 puntos de código Unicode cada uno |
model | string | No | Nombre de recurso opcional; la URL determina el modelo real |
store | boolean | No | Preferencia genérica de almacenamiento de solicitudes; efecto específico en el modelo sin verificar |
Gemini 4 Hydrogen no admite caché de contexto explícita (recursos cachedContent y cachedContents). La caché implícita está activada por defecto para prompts de al menos 4096 tokens.
Parámetros de generación
Campo en generationConfig | Tipo | Valor predeterminado y restricciones |
|---|---|---|
maxOutputTokens | integer | Valor predeterminado de 65.536, incluido el razonamiento. Hasta 1.048.576 menos la entrada con continuación. Cada respuesta con o sin streaming admite hasta 65.536 tokens; usa continuación para una salida más larga |
thinkingConfig | object | thinkingLevel: low, medium, high, xhigh (predeterminado high); se aceptan las formas en mayúsculas. includeThoughts: boolean, predeterminado false. Usa thinkingLevel; el parámetro obsoleto thinkingBudget se asigna a un nivel cuando se proporciona solo y no se puede combinar con thinkingLevel |
stopSequences | string[] | Máximo de cinco secuencias |
responseMimeType | string | Predeterminado text/plain; la salida con esquema JSON heredado requiere application/json |
responseSchema | object | Dialecto de esquema oficial; mutuamente excluyente con responseJsonSchema |
responseJsonSchema | JSON | JSON Schema; mutuamente excluyente con responseSchema |
responseFormat | object | Configuración del formato de texto; text.mimeType y text.schema opcional. El esquema requiere un tipo MIME JSON |
responseModalities | string[] | Solo texto: TEXT; vacío significa texto |
mediaResolution | enum | MEDIA_RESOLUTION_UNSPECIFIED, LOW, MEDIUM, HIGH con el prefijo MEDIA_RESOLUTION_ |
seed | integer | Valor de 32 bits con signo; comportamiento determinista específico del modelo sin verificar |
presencePenalty | number | Campo genérico; efecto e intervalo específicos del modelo sin verificar |
frequencyPenalty | number | Campo genérico; efecto e intervalo específicos del modelo sin verificar |
responseLogprobs | boolean | Campo genérico; disponibilidad específica del modelo sin verificar |
logprobs | integer | 0–20; requiere responseLogprobs: true; compatibilidad del modelo sin verificar |
enableEnhancedCivicAnswers | boolean | Campo genérico; compatibilidad del modelo sin verificar |
enableAffectiveDialog | boolean | Campo genérico; compatibilidad del modelo sin verificar |
audioTranscriptionConfig | object | Campo genérico; opciones específicas del modelo sin verificar |
translationConfig | object | Campo genérico; opciones específicas del modelo sin verificar |
El documento OpenAPI enumera los tipos anidados, las enumeraciones, las propiedades obligatorias y los límites documentados de cada mensaje. Los esquemas describen parámetros oficiales; no son una lista de campos permitidos de solicitud de SeedRouter. Se conservan los campos y valores proporcionados por quien llama a la API. Que el esquema acepte un campo no demuestra su compatibilidad en todas las cuentas. El razonamiento minimal no figura entre los niveles. Google indica que temperature, topP, topK y candidateCount están obsoletos y recomienda eliminarlos; los valores de muestreo personalizados se ignoran. Si se envían en JSON nativo, siguen pasando sin cambios para que la API de Gemini los gestione.
Decodificación larga
Una respuesta de Gemini 4 Hydrogen devuelve hasta 65.536 tokens con streaming y hasta 65.536 tokens sin streaming. Para ir más allá, establece maxOutputTokens por encima de 65.536 y continúa la respuesta tú mismo:
- Envía la solicitud. Si la respuesta termina con
finishReason: "CONTINUATION", leecandidates[0].continuationToken. - Envía de nuevo la misma solicitud con ese valor en el campo de nivel superior
continuationToken. No añadas la salida parcial acontents; el token contiene el estado del modelo, incluido su razonamiento. - Repite hasta que
finishReasonseaSTOPoMAX_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"
}Una etapa dedicada por completo al razonamiento puede devolver texto vacío con CONTINUATION; eso es un avance normal. Cada etapa vuelve a enviar al modelo tu prompt y todo lo generado hasta entonces, por lo que los tokens de entrada se vuelven a contar en cada etapa posterior. SeedRouter factura cada etapa como una solicitud independiente. El modo background del lado del servidor de la Interactions API no forma parte de este endpoint.
Salida estructurada
{
"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"]
}
}
}Los campos heredados responseSchema y responseJsonSchema no se pueden usar juntos. Ambos requieren responseMimeType: "application/json". El esquema más reciente responseFormat.text también debe especificar JSON. Usa las formas de enumeración REST (APPLICATION_JSON y TEXT_PLAIN) en ese mensaje. Las solicitudes pasan sin cambios; los tipos MIME de medios y el JSON arbitrario de funciones no se reescriben.
Funciones y herramientas integradas
Usa tools[].functionDeclarations con un nombre y con parameters o parametersJsonSchema, no ambos. La selección de funciones está en toolConfig.functionCallingConfig; allowedFunctionNames requiere ANY o VALIDATED y nombres declarados.
Tu aplicación ejecuta las funciones devueltas y proporciona sus resultados en el siguiente turno de conversación. Conserva cada thoughtSignature, llamada a función y respuesta de función originales. No redondees los identificadores numéricos al serializar argumentos de función opacos.
Google enumera Search, Maps, ejecución de código, contexto de URL, File Search y Computer Use para este modelo. Los recursos de File Search requieren acceso con las credenciales que atienden la solicitud. La configuración nativa de MCP aparece en el esquema genérico, pero su disponibilidad para este modelo no está establecida. Comprueba las restricciones oficiales de cada herramienta antes de combinarla con medios. Con grounding, Google cuenta las instrucciones internas de herramientas y las declaraciones de funciones como tokens de entrada. El Playground no ejecuta tus funciones personalizadas.
Entrada multimodal y seguridad
Un elemento contents[].parts[] contiene exactamente una carga útil: texto, medios en línea, una referencia a archivo, una llamada o respuesta de función, o una parte de ejecución. También puede incluir una firma o metadatos de medios. La entrada admite texto, imágenes, audio, vídeo y PDF; la salida es solo texto. El modelo no genera imágenes ni audio y no tiene Live API.
Para bytes en línea, usa inlineData.mimeType y data en base64. Para referencias a archivos, usa fileData.mimeType y fileUri. Una URL sintácticamente válida no demuestra que el modelo pueda recuperar su contenido. Los metadatos de vídeo pueden especificar desplazamientos de inicio y fin y un fps positivo no superior a 24. La comprensión de vídeo con agentes se selecciona por parte con mediaProcessing: "AGENTIC" junto al fileData o inlineData del vídeo; el procesamiento estático es el predeterminado. videoMetadata contiene solo startOffset, endOffset y fps.
Los ajustes de seguridad usan el formato nativo oficial y pasan por la API sin cambios. En el Playground, las cuatro categorías deben establecerse en BLOCK_MEDIUM_AND_ABOVE o un nivel más estricto; los umbrales inferiores solo están disponibles a través de la API.
Respuestas JSON y streaming
generateContent devuelve JSON nativo. streamGenerateContent?alt=sse emite JSON nativo en eventos SSE data:. Entre los campos importantes están candidates[].content.parts, finishReason, continuationToken, safetyRatings, groundingMetadata, promptFeedback, modelVersion, responseId y usageMetadata.
Conserva el contenido nativo completo en el historial de conversación. Los resúmenes de razonamiento no son lo mismo que las firmas de razonamiento. Una desconexión no demuestra que la generación haya fallado o terminado; inspecciona el resultado parcial y el registro de la cuenta antes de enviar otra solicitud. El consumo del streaming es acumulativo, así que usa los contadores más recientes en lugar de sumar cada fragmento.
Consumo y precios
promptTokenCount incluye la entrada en caché. cachedContentTokenCount se factura a la tarifa de entrada en caché, en lugar de volver a cobrarse como entrada sin caché. La salida facturable incluye candidatesTokenCount más thoughtsTokenCount. Hydrogen usa razonamiento high por defecto. Configura el nivel explícitamente al comparar su consumo con otro modelo.
Este modelo no tiene un escalón de precios según la longitud del contexto. Los precios actuales de SeedRouter usan tarifas de tokens Standard; no se han configurado descuentos Flex ni recargos Priority para esta integración. La compatibilidad con esos niveles de procesamiento aún requiere verificación. El grounding de Google Search puede añadir cargos por consulta además del consumo de tokens; comprueba los precios de las herramientas antes de activarlo. Las solicitudes fallidas no se cobran. Consulta la tabla de precios actuales.
Grupos de cuenta
El nivel Default usa el ID de modelo gemini-4-hydrogen sin sufijo. Los niveles adicionales usan gemini-4-hydrogen:GROUP_NAME en la URL. El Playground selecciona un nivel disponible; la API también acepta una cabecera explícita:
X-SeedRouter-Group: GROUP_NAMEEl grupo elegido determina el precio y la capacidad disponible; una selección explícita no cambia silenciosamente a otro grupo. Omite la cabecera o usa auto para mantener el comportamiento predeterminado de la clave API.
Comprueba los grupos disponibles para tu clave API sin generar una respuesta:
curl "https://api.seedrouter.ai/api/seedrouter/llm/groups?model=gemini-4-hydrogen" \
-H "Authorization: Bearer YOUR_SEEDROUTER_KEY"Estado de verificación
La documentación oficial se comprobó el 13 de noviembre de 2026. Ese día se superaron tres comprobaciones de pago con un único intento cada una a través de SeedRouter: JSON estructurado con pensamiento low, SSE con pensamiento xhigh y llamada a una función declarada con pensamiento low. Los tokens de entrada, salida y pensamiento notificados coincidieron con los cargos registrados según las tarifas publicadas. La comprensión de medios, la fundamentación, Computer Use, la continuación/decodificación larga, otros campos genéricos y los niveles de procesamiento siguen sin verificar. Estas comprobaciones no establecen calidad ni latencia comparativas.
