Gemini nativo
Generar Contenido
Genera contenido utilizando el formato de la API de Google Gemini
Usa los formatos de solicitud y respuesta de Gemini con un modelo devuelto por Gemini Models API. Se aceptan nombres ProtoJSON lowerCamelCase y sus equivalentes proto snake_case. Los campos opcionales y valores admitidos dependen del modelo elegido.
Parámetros de Ruta
Nombre del modelo (por ejemplo, gemini-2.5-pro, gemini-3.5-flash).
Parámetros de Consulta
Clave API (alternativa a la autenticación por encabezado).
Autenticación
Los endpoints de Gemini admiten múltiples métodos de autenticación:
- Parámetro de consulta
?key=YOUR_API_KEY - Encabezado
x-goog-api-key: YOUR_API_KEY - Encabezado
Authorization: Bearer YOUR_API_KEY
Cuerpo de la Solicitud
Contenido de conversación con parts y un role opcional. Los medios usan inlineData / inline_data o fileData / file_data. Los ID de Files y Cache creados por TokenLab solo pueden usarse en el Workspace al que pertenecen.
Instrucción del sistema para el modelo.
Ajustes de generación como temperature, topP, topK, maxOutputTokens, stopSequences, candidateCount, responseModalities, responseMimeType, responseSchema y thinkingConfig. También se aceptan los nombres snake_case equivalentes. Los valores y combinaciones dependen del modelo.
Configuración de filtros de seguridad.
Respuesta
Candidatos de contenido generado.
Información de uso de tokens.
Solicitud
curl -X POST "https://api.tokenlab.sh/v1beta/models/gemini-2.5-pro:generateContent?key=sk-your-api-key" \
-H "Content-Type: application/json" \
-d '{
"contents": [
{
"parts": [{"text": "Hello, Gemini!"}]
}
],
"generationConfig": {
"temperature": 0.7,
"maxOutputTokens": 1024
}
}'Ejemplos de entrada multimodal
Para solicitudes multimodales de Gemini, coloca los medios dentro de contents[].parts[] usando bytes inline o referencias de archivo basadas en URL.
Categorías multimedia compatibles actualmente en los detalles del modelo de Gemini:
- imagen
- audio
- video
Para medios inline, usa inlineData o inline_data y pasa los bytes del archivo codificados en Base64.
Para medios mediante URL, usa fileData o file_data y pasa una URL pública https.
Ejemplo de entrada de imagen
{
"contents": [
{
"role": "user",
"parts": [
{ "text": "Describe esta imagen." },
{
"inlineData": {
"mimeType": "image/jpeg",
"data": "/9j/4AAQSkZJRgABAQ..."
}
}
]
}
]
}Ejemplo de entrada de audio
{
"contents": [
{
"role": "user",
"parts": [
{ "text": "Transcribe y resume este audio." },
{
"file_data": {
"mime_type": "audio/mpeg",
"file_uri": "https://example.com/sample.mp3"
}
}
]
}
]
}Ejemplo de entrada de video
{
"contents": [
{
"role": "user",
"parts": [
{ "text": "Describe brevemente este video." },
{
"fileData": {
"mimeType": "video/mp4",
"fileUri": "https://example.com/sample.mp4"
}
}
]
}
]
}Respuesta
{
"candidates": [
{
"content": {
"role": "model",
"parts": [
{"text": "Hello! How can I assist you today?"}
]
},
"finishReason": "STOP",
"safetyRatings": [
{"category": "HARM_CATEGORY_HARASSMENT", "probability": "NEGLIGIBLE"}
]
}
],
"usageMetadata": {
"promptTokenCount": 5,
"candidatesTokenCount": 10,
"totalTokenCount": 15
}
}Ejemplo de entrada de video
{
"contents": [
{
"role": "user",
"parts": [
{ "text": "Please describe this video." },
{
"fileData": {
"mimeType": "video/mp4",
"fileUri": "https://example.com/demo.mp4"
}
}
]
}
]
}Ejemplo de entrada de audio
{
"contents": [
{
"role": "user",
"parts": [
{ "text": "Please describe this audio." },
{
"fileData": {
"mimeType": "audio/mpeg",
"fileUri": "https://example.com/demo.mp3"
}
}
]
}
]
}Autorización
BearerAuth Autenticación con API Key. Cree o gestione API keys en Dashboard > API > API Keys.
Ubicación: header
Parámetros de ruta
Nombre del modelo (ej. gemini-2.5-pro)
Parámetros de consulta
Clave de API (alternativa a la autenticación por encabezado)
Encabezados
Política de entrega por solicitud. Sustituye los valores predeterminados de la API key y del Workspace. Auto intenta primero con TokenLab Verified y puede cambiar una vez a Official solo antes de la salida, la aceptación de la solicitud o la creación de recursos persistentes.
Valores permitidos
- "auto"
- "verified"
- "official"
Cuerpo de la solicitud
application/json
Solicitud nativa de Gemini GenerateContent. Se aceptan y conservan tanto los nombres lowerCamelCase de ProtoJSON como los nombres snake_case del proto original, incluyendo solicitudes mixtas. Si ambas grafías de un campo están presentes, TokenLab no las fusiona ni elige una precedencia local. Los campos desconocidos se reenvían bajo un criterio de mejor esfuerzo.
Respuesta
application/json
application/json
application/json
application/json
application/json
application/json