Skip to main content
POST
CometAPI admite el formato nativo de la API de Gemini, lo que te da acceso completo a funciones específicas de Gemini como control de pensamiento, anclaje con Google Search, modalidades nativas de generación de imágenes y más. Usa este endpoint cuando necesites capacidades que no estén disponibles a través del endpoint de chat compatible con OpenAI.
Usa la referencia oficial de la API GenerateContent de Google como fuente autorizada para conocer los campos completos de la solicitud, el esquema de respuesta y el comportamiento específico de los modelos Gemini. Esta página de CometAPI explica cómo enviar ese formato de solicitud nativo a través de CometAPI.
Los parámetros de solicitud y los campos de respuesta de Gemini pueden cambiar a medida que Google actualiza la API nativa. Consulta la documentación de generación de texto de Gemini para ver la lista completa más reciente de parámetros y el comportamiento específico del proveedor.
Se admiten tanto los encabezados x-goog-api-key como Authorization: Bearer para la autenticación.

Inicio rápido

Para usar cualquier SDK de Gemini o cliente HTTP con CometAPI, reemplaza la URL base y la clave de API:

Enviar entrada de video

Gemini generateContent acepta video como una parte de contenido. Elige la forma de entrada según dónde esté almacenado el video:
Para solicitudes REST y curl, usa los nombres de campo en camelCase de Gemini, como inlineData.mimeType y fileData.fileUri. No envíes medios por URL como file_data.file_uri.
Este ejemplo lee un archivo MP4 local, lo codifica como base64 y lo envía en el cuerpo de la solicitud:
Este ejemplo envía una URL pública de MP4 con fileData.fileUri:
CometAPI no recomienda un flujo de carga separado de Gemini Files API para este endpoint. Envía los medios en la propia solicitud generateContent con inlineData o fileData.fileUri.

Configurar thinking (reasoning)

Los modelos Gemini pueden realizar razonamiento interno antes de generar una respuesta. El método de control depende de la generación del modelo.
Los modelos Gemini 3 usan thinkingLevel para controlar la profundidad del razonamiento. Niveles disponibles: MINIMAL, LOW, MEDIUM, HIGH.Usa gemini-3-flash-preview como model de ejemplo predeterminado a menos que necesites específicamente una variante diferente de Gemini 3.
Usar thinkingLevel con modelos Gemini 2.5 (o thinkingBudget con modelos Gemini 3) puede causar errores. Usa el parámetro correcto para la versión de tu modelo.

Transmitir respuestas

Para recibir eventos enviados por el servidor a medida que el modelo genera contenido, usa streamGenerateContent?alt=sse como operador. Cada evento SSE contiene una línea data: con un objeto JSON GenerateContentResponse.

Establecer instrucciones del sistema

Para guiar el comportamiento del modelo durante toda la conversación, usa systemInstruction:

Solicitar salida JSON

Para forzar una salida JSON estructurada, establece responseMimeType. Opcionalmente, proporciona un responseSchema para una validación estricta del esquema:

Para habilitar la búsqueda web en tiempo real, agrega una herramienta googleSearch:
La respuesta incluye groundingMetadata con URL de las fuentes y puntuaciones de confianza.

Ejemplo de respuesta

Una respuesta típica del endpoint de Gemini de CometAPI:
El campo thoughtsTokenCount en usageMetadata muestra cuántos tokens gastó el modelo en razonamiento interno, incluso cuando la salida de pensamiento no se incluye en la respuesta.

Comparación con el endpoint compatible con OpenAI

Autorizaciones

x-goog-api-key
string
header
requerido

Your CometAPI key passed via the x-goog-api-key header. Bearer token authentication (Authorization: Bearer $COMETAPI_KEY) is also supported.

Parámetros de ruta

model
string
requerido

Gemini model ID. Example: gemini-3-flash-preview, gemini-2.5-pro. See the Models page for current options.

operator
enum<string>
requerido

The operation to perform. Use generateContent for synchronous responses, or streamGenerateContent?alt=sse for Server-Sent Events streaming.

Opciones disponibles:
generateContent,
streamGenerateContent?alt=sse

Cuerpo

application/json
contents
object[]

Conversation content. Each entry has an optional role (user or model) and a parts array.

systemInstruction
object

System instructions that guide the model's behavior across the entire conversation. Text only.

tools
object[]

Tools the model may use to generate responses. Supports function declarations, Google Search, Google Maps, and code execution.

toolConfig
object

Configuration for tool usage, such as function calling mode.

safetySettings
object[]

Safety filter settings. Override default thresholds for specific harm categories.

generationConfig
object

Configuration for model generation behavior including temperature, output length, and response format.

cachedContent
string

The name of cached content to use as context. Format: cachedContents/{id}. See the Gemini context caching documentation for details.

Respuesta

200 - application/json

Successful response. For streaming requests, the response is a stream of SSE events, each containing a GenerateContentResponse JSON object prefixed with data:.

candidates
object[]

The generated response candidates.

promptFeedback
object

Feedback on the prompt, including safety blocking information.

usageMetadata
object

Token usage statistics for the request.

modelVersion
string

The model version that generated this response.

createTime
string

The timestamp when this response was created (ISO 8601 format).

responseId
string

Unique identifier for this response.