Inicio rápido
curl https://api.highwayapi.ai/openai/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer <YOUR-API-KEY>" \
-d '{
"model": "gemini-2.5-flash",
"messages": [{
"role": "user", "content": "What is the capital of France?"
}],
"reasoning_effort": "low"
}'
curl https://api.highwayapi.ai/gemini/v1/models/gemini-2.5-flash:generateContent \
-H "Content-Type: application/json" \
-H "Authorization: Bearer <YOUR-API-KEY>" \
-d '{
"contents": [{
"role": "user",
"parts": [{"text": "What is the capital of France?"}]
}],
"generationConfig": {
"thinkingConfig": {
"thinkingBudget": 1024
}
}
}'
Control del razonamiento con el protocolo OpenAI
La plataforma convertirá el parámetro reasoning_effort de las solicitudes OpenAI chat/completions en parámetros thinking de Gemini.| reasoning_effort | thinking |
|---|---|
| ”disable”, “none" | "budget_tokens”: 0 |
| ”low" | "budget_tokens”: 1024 |
| ”medium" | "budget_tokens”: 2048 |
| ”high" | "budget_tokens”: 4096 |
Configuración predeterminada de cada modelo
| Modelo | Configuración predeterminada (cuando no se establece reasoning_effort) |
|---|---|
| 2.5 Pro | Razonamiento dinámico: el modelo decide cuándo razonar y cuánto |
| 2.5 Flash | Razonamiento dinámico: el modelo decide cuándo razonar y cuánto |
| 2.5 Flash Lite | Razonamiento desactivado |
Uso de herramientas del lado del servidor
Google Search
Con Google Search, los modelos Gemini pueden conectarse con contenido web en tiempo real y admiten todos los idiomas disponibles. De este modo, Gemini puede ofrecer respuestas más precisas y citar fuentes verificables posteriores a la fecha de corte de conocimiento.curl https://api.highwayapi.ai/openai/chat/completions \
-H "Authorization: Bearer <YOUR-API-KEY>" \
-H "Content-Type: application/json" -d @- <<EOF
{
"model": "gemini-2.5-flash-lite",
"messages": [
{
"role": "user",
"content": "Enumera las noticias destacadas de hoy en China"
}
],
"tools": [
{
"function": {"name": "google_search"}
}
]
}
EOF
curl https://api.highwayapi.ai/gemini/v1/models/gemini-2.5-flash-lite:generateContent \
-H "Authorization: Bearer <YOUR-API-KEY>" \
-H "Content-Type: application/json" -d @- <<EOF
{
"contents": [
{
"role": "user",
"parts": [{"text": "Enumera las noticias destacadas de hoy en China"}]
}
],
"tools": [
{
"googleSearch": {}
}
]
}
EOF
{
"id": "dcc7eab10b5adeb9e8648d134e815409",
"object": "chat.completion",
"choices": [
{
"index": 0,
"message": {
"role": "assistant",
"content": "Here are some of today's top news in China: ..."
},
"finish_reason": "stop"
}
],
"gemini_grounding_metadata": { # 👈 GEMINI GROUNDING
"webSearchQueries": [
"noticias destacadas de hoy en China"
],
...
"groundingChunks": [
...
]
}
}
{
"candidates": [
{
"content": {
"role": "model",
"parts": [
{
"text": "Según los resultados de búsqueda proporcionados, estas son algunas de las noticias destacadas de hoy en China:..."
}
]
},
"finishReason": "STOP",
"index": 0,
"groundingMetadata": {
"webSearchQueries": [
"noticias destacadas de hoy en China",
"últimos titulares de noticias de China"
],
"searchEntryPoint": {...},
"groundingChunks": [...],
"groundingSupports": [...]
}
}
]
}
Code Execution
Gemini proporciona una herramienta de ejecución de código que permite al modelo generar y ejecutar código Python. Luego, el modelo puede iterar basándose en los resultados de la ejecución del código hasta obtener la salida final.curl https://api.highwayapi.ai/openai/chat/completions \
-H "Authorization: Bearer <YOUR-API-KEY>" \
-H "Content-Type: application/json" -d @- <<EOF
{
"model": "gemini-2.5-flash",
"messages": [
{
"role": "user",
"content": "What is the sum of the first 50 prime numbers? Generate and run code for the calculation, and make sure you get all 50."
}
],
"tools": [
{
"function": {"name": "code_execution"}
}
],
"reasoning_effort": "low"
}
EOF
curl https://api.highwayapi.ai/gemini/v1/models/gemini-2.5-flash:generateContent \
-H "Authorization: Bearer <YOUR-API-KEY>" \
-H "Content-Type: application/json" -d @- <<EOF
{
"contents": [
{
"role": "user",
"parts": [{"text": "What is the sum of the first 50 prime numbers? Generate and run code for the calculation, and make sure you get all 50."}]
}
],
"tools": [
{
"codeExecution": {}
}
],
"generationConfig": {
"thinkingConfig": {
"thinkingBudget": 1024
}
}
}
EOF
Okay, I can help you with that. I will write a Python script to find the
first 50 prime numbers and then calculate their sum.
Here's the plan:
1. Create a function to check if a number is prime.
2. Create a function to generate the first `n` prime numbers.
3. Call the generation function for the first 50 primes.
4. Sum the resulting list of primes.
Here is the code to perform this calculation:
```PYTHON
def is_prime(num):
"""Checks if a number is prime."""
if num <= 1:
return False
if num <= 3:
return True
if num % 2 == 0 or num % 3 == 0:
return False
i = 5
while i * i <= num:
if num % i == 0 or num % (i + 2) == 0:
return False
i += 6
return True
def get_first_n_primes(n):
"""Generates a list of the first n prime numbers."""
primes = []
num = 2
while len(primes) < n:
if is_prime(num):
primes.append(num)
num += 1
return primes
# Get the first 50 prime numbers
first_50_primes = get_first_n_primes(50)
# Calculate the sum of these prime numbers
sum_of_primes = sum(first_50_primes)
print(f"The first 50 prime numbers are: {first_50_primes}")
print(f"The sum of the first 50 prime numbers is: {sum_of_primes}")
```
The first 50 prime numbers are: [2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31,
37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97, 101, 103, 107,
109, 113, 127, 131, 137, 139, 149, 151, 157, 163, 167, 173, 179, 181, 191,
193, 197, 199, 211, 223, 227, 229]
The sum of the first 50 prime numbers is: 5117
- executableCode:
language: PYTHON
code: |
import sympy
def is_prime(n):
if n <= 1:
return False
if n <= 3:
return True
if n % 2 == 0 or n % 3 == 0:
return False
i = 5
while i * i <= n:
if n % i == 0 or n % (i + 2) == 0:
return False
i += 6
return True
prime_numbers = []
num = 2
while len(prime_numbers) < 50:
if is_prime(num):
prime_numbers.append(num)
num += 1
sum_of_primes = sum(prime_numbers)
print(f"The first 50 prime numbers are: {prime_numbers}")
print(f"The sum of the first 50 prime numbers is: {sum_of_primes}")
- codeExecutionResult:
outcome: OUTCOME_OK
output: >
The first 50 prime numbers are: [2, 3, 5, 7, 11, 13, 17, 19, 23, 29,
31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97, 101, 103,
107, 109, 113, 127, 131, 137, 139, 149, 151, 157, 163, 167, 173, 179,
181, 191, 193, 197, 199, 211, 223, 227, 229]
The sum of the first 50 prime numbers is: 5117
- text: The sum of the first 50 prime numbers is 5117.
URL context
Con la herramienta URL context, puede proporcionar más contexto al modelo en forma de URLs. Al agregar URLs a la solicitud, el modelo accederá al contenido de esas páginas web, lo que aportará información a la respuesta y mejorará su calidad.curl https://api.highwayapi.ai/openai/chat/completions \
-H "Authorization: Bearer <YOUR-API-KEY>" \
-H "Content-Type: application/json" -d @- <<EOF
{
"model": "gemini-2.5-flash-lite",
"messages": [
{
"role": "user",
"content": "¿Para qué tipo de personas es adecuada esta receta? https://www.foodnetwork.com/recipes/ina-garten/perfect-roast-chicken-recipe-1940592"
}
],
"tools": [
{
"function": {"name": "url_context"}
}
]
}
EOF
curl https://api.highwayapi.ai/gemini/v1/models/gemini-2.5-flash-lite:generateContent \
-H "Authorization: Bearer <YOUR-API-KEY>" \
-H "Content-Type: application/json" -d @- <<EOF
{
"contents": [
{
"role": "user",
"parts": [{"text": "¿Para qué tipo de personas es adecuada esta receta? https://www.foodnetwork.com/recipes/ina-garten/perfect-roast-chicken-recipe-1940592"}]
}
],
"tools": [
{
"urlContext": {}
}
]
}
EOF
{
"id": "82f10046aebe6697ed9d33a9fa398de4",
"object": "chat.completion",
"choices": [
{
"index": 0,
"message": {
"role": "assistant",
"content": "Esta receta trata sobre cómo preparar el pollo asado perfecto de Ina Garten.\n\n**Información clave:**\n* **Fuente de la receta:** Ina Garten, adaptada de «Barefoot Contessa Cookbook».\n* **Tiempo de preparación:** 20 minutos\n* **Tiempo de horneado:** 1 hora 30 minutos\n* **Tiempo total:** 2 horas 10 minutos\n* **Raciones:** 8 personas\n* **Dificultad:** Media\n\n**Ingredientes:**\n* Un pollo para asar de 5-6 libras\n* Sal kosher\n* Pimienta negra recién molida\n* Un manojo grande de tomillo fresco, más 20 ramitas\n* Un limón, cortado por la mitad\n* Una cabeza de ajo, cortada transversalmente por la mitad\n* 2 cucharadas (1/4 de barra) de mantequilla, derretida\n* 1 cebolla amarilla grande, cortada en rodajas gruesas\n* 4 zanahorias, cortadas en trozos de 2 pulgadas\n* 1 bulbo de hinojo, sin la parte superior y cortado en gajos\n* Aceite de oliva\n\n**Pasos de preparación:**\n1. Precaliente el horno a 425 grados Fahrenheit (aprox. 220 grados Celsius).\n2. Retire las vísceras del pollo y enjuague el pollo por dentro y por fuera. Quite el exceso de grasa y las plumas restantes, y seque el exterior del pollo con papel.\n3. Sazone generosamente el interior del pollo con sal y pimienta. Coloque dentro de la cavidad un manojo de tomillo, medio limón y todo el ajo.\n4. Pinte el exterior del pollo con la mantequilla derretida y vuelva a espolvorear sal y pimienta.\n5. Ate las patas del pollo con hilo de cocina y meta las puntas de las alas debajo del cuerpo.\n6. Coloque la cebolla, las zanahorias y el hinojo en una bandeja para asar. Mezcle con sal, pimienta, 20 ramitas de tomillo y aceite de oliva. Distribuya las verduras en el fondo de la bandeja y coloque el pollo encima.\n7. Hornee el pollo durante 1,5 horas, o hasta que los jugos salgan claros al cortar con un cuchillo entre la pata y el muslo.\n8. Pase el pollo asado y las verduras a una fuente, cúbralos con papel de aluminio y déjelos reposar unos 20 minutos.\n9. Corte el pollo en porciones y sírvalo con las verduras.\n\n**Consejos de cocina y comentarios de usuarios:**\n* La receta menciona que, si las verduras empiezan a dorarse demasiado en el fondo, se puede añadir una taza de caldo de pollo para ayudar a mantener la humedad.\n* Algunos usuarios sugieren usar una bandeja para asar más pequeña para evitar que las verduras se quemen.\n* Algunos usuarios han sustituido el hinojo por patatas.\n* Muchos usuarios comentan que el pollo queda muy tierno, jugoso y lleno de sabor, y que el proceso de cocción es sencillo."
},
"finish_reason": "stop"
}
],
"gemini_grounding_metadata": {
"groundingChunks": [
{
"web": {
"uri": "https://www.foodnetwork.com/recipes/ina-garten/perfect-roast-chicken-recipe-1940592",
"title": "Perfect Roast Chicken Recipe | Ina Garten | Food Network"
}
}
],
"groundingSupports": [....]
}
}
{
"candidates": [
{
"content": {
"role": "model",
"parts": [
{
"text": "\nEsta receta es adecuada para quienes disfrutan del pollo asado clásico, especialmente para cocineros caseros que quieren preparar un plato delicioso y relativamente fácil. La dificultad de la receta se califica como “media” y requiere un total de 2 horas y 10 minutos (incluidos 20 minutos de preparación, 20 minutos de tiempo inactivo y 1 hora y 30 minutos de cocción).\n\nAdemás, también es adecuada para quienes desean preparar un plato principal impresionante para una reunión o una ocasión especial, ya que el pollo asado suele ser un punto destacado en las mesas festivas.\n\nLa receta también menciona que los ingredientes pueden ajustarse según el gusto personal; por ejemplo, algunos comentarios indican que se puede omitir el hinojo o añadir caldo de pollo para ayudar con el Basting, lo que demuestra que también puede ser adecuada para quienes disfrutan experimentando y haciendo ajustes al cocinar."
}
]
},
"finishReason": "STOP",
"index": 0,
"safetyRatings": null,
"groundingMetadata": {
"groundingChunks": [
{
"web": {
"uri": "https://www.foodnetwork.com/recipes/ina-garten/perfect-roast-chicken-recipe-1940592",
"title": "Perfect Roast Chicken Recipe | Ina Garten | Food Network"
}
}
],
"groundingSupports": [
{
"segment": {
"startIndex": 148,
"endIndex": 317,
"text": "La dificultad de la receta se califica como “media” y requiere un total de 2 horas y 10 minutos (incluidos 20 minutos de preparación, 20 minutos de tiempo inactivo y 1 hora y 30 minutos de cocción)."
},
"groundingChunkIndices": [
0
]
},
{
"segment": {
"startIndex": 319,
"endIndex": 475,
"text": "Además, también es adecuada para quienes desean preparar un plato principal impresionante para una reunión o una ocasión especial, ya que el pollo asado suele ser un punto destacado en las mesas festivas."
},
"groundingChunkIndices": [
0
]
},
{
"segment": {
"startIndex": 477,
"endIndex": 695,
"text": "La receta también menciona que los ingredientes pueden ajustarse según el gusto personal; por ejemplo, algunos comentarios indican que se puede omitir el hinojo o añadir caldo de pollo para ayudar con el Basting, lo que demuestra que también puede ser adecuada para quienes disfrutan experimentando y haciendo ajustes al cocinar."
},
"groundingChunkIndices": [
0
]
}
]
}
}
],
"promptFeedback": {
"safetyRatings": null
},
"usageMetadata": {
"promptTokenCount": 37,
"candidatesTokenCount": 159,
"totalTokenCount": 3270,
"trafficType": "ON_DEMAND",
"promptTokensDetails": [
{
"modality": "TEXT",
"tokenCount": 37
}
],
"candidatesTokensDetails": [
{
"modality": "TEXT",
"tokenCount": 159
}
],
"toolUsePromptTokensDetails": [
{
"modality": "TEXT",
"tokenCount": 3074
}
],
"toolUsePromptTokenCount": 3074
},
"responseId": "0472efecb0da2db5f78d047e70e54db6",
"modelVersion": "gemini-2.5-flash-lite"
}