Démarrage rapide
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
}
}
}'
Contrôle du raisonnement avec le protocole OpenAI
La plateforme convertit le paramètre reasoning_effort des requêtes OpenAI chat/completions en paramètres thinking de Gemini.| reasoning_effort | thinking |
|---|---|
| ”disable”, “none" | "budget_tokens”: 0 |
| ”low" | "budget_tokens”: 1024 |
| ”medium" | "budget_tokens”: 2048 |
| ”high" | "budget_tokens”: 4096 |
Paramètres par défaut selon le modèle
| Modèle | Paramètre par défaut (si reasoning_effort n’est pas défini) |
|---|---|
| 2.5 Pro | Raisonnement dynamique : le modèle décide quand raisonner et dans quelle mesure |
| 2.5 Flash | Raisonnement dynamique : le modèle décide quand raisonner et dans quelle mesure |
| 2.5 Flash Lite | Raisonnement désactivé |
Utilisation des outils côté serveur
Google Search
Grâce à Google Search, vous pouvez relier les modèles Gemini à du contenu Web en temps réel, avec prise en charge de toutes les langues disponibles. Gemini peut ainsi fournir des réponses plus précises et citer des sources vérifiables postérieures à la date limite de ses connaissances.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": "Liste les actualités les plus populaires en Chine aujourd’hui"
}
],
"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": "Liste les actualités les plus populaires en Chine aujourd’hui"}]
}
],
"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": [
"中国今日热点新闻"
],
...
"groundingChunks": [
...
]
}
}
{
"candidates": [
{
"content": {
"role": "model",
"parts": [
{
"text": "根据您提供的搜索结果,以下是今日中国的一些热点新闻:..."
}
]
},
"finishReason": "STOP",
"index": 0,
"groundingMetadata": {
"webSearchQueries": [
"今日中国热点新闻",
"中国最新新闻头条"
],
"searchEntryPoint": {...},
"groundingChunks": [...],
"groundingSupports": [...]
}
}
]
}
Code Execution
Gemini fournit un outil d’exécution de code qui permet au modèle de générer et d’exécuter du code Python. Le modèle peut ensuite apprendre de manière itérative à partir des résultats d’exécution du code jusqu’à obtenir la sortie finale.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
À l’aide de l’outil URL context, vous pouvez fournir davantage de contexte au modèle sous forme d’URL. En ajoutant des URL à la requête, le modèle consultera le contenu de ces pages Web afin d’éclairer sa réponse et d’en améliorer la qualité.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": "À quel public cette recette convient-elle ? 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": "À quel public cette recette convient-elle ? 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": "Cette recette explique comment préparer le poulet rôti parfait d’Ina Garten.\n\n**Informations clés :**\n* **Source de la recette :** Ina Garten, adaptée du « Barefoot Contessa Cookbook ».\n* **Temps de préparation :** 20 minutes\n* **Temps de cuisson :** 1 heure 30 minutes\n* **Temps total :** 2 heures 10 minutes\n* **Portions :** 8 personnes\n* **Difficulté :** moyenne\n\n**Ingrédients :**\n* Un poulet à rôtir de 5 à 6 livres\n* Sel casher\n* Poivre noir fraîchement moulu\n* Une grosse botte de thym frais, plus 20 brins\n* Un citron, coupé en deux\n* Une tête d’ail, coupée en deux dans le sens de la largeur\n* 2 cuillères à soupe (1/4 de bâton) de beurre fondu\n* 1 gros oignon jaune, coupé en tranches épaisses\n* 4 carottes, coupées en morceaux de 2 pouces\n* 1 bulbe de fenouil, fanes retirées, coupé en quartiers\n* Huile d’olive\n\n**Étapes de préparation :**\n1. Préchauffer le four à 425 °F (environ 220 °C).\n2. Retirer les abats du poulet, puis rincer l’intérieur et l’extérieur du poulet. Retirer l’excès de gras et les éventuelles plumes restantes, puis sécher l’extérieur du poulet en le tamponnant.\n3. Saler et poivrer généreusement l’intérieur du poulet. Placer une botte de thym, un demi-citron et tout l’ail dans la cavité du poulet.\n4. Badigeonner l’extérieur du poulet de beurre fondu, puis saler et poivrer à nouveau.\n5. Ficeler les cuisses avec de la ficelle de cuisine et replier les extrémités des ailes sous le poulet.\n6. Placer l’oignon, les carottes et le fenouil dans un plat à rôtir. Mélanger avec du sel, du poivre, 20 brins de thym et de l’huile d’olive. Étaler les légumes au fond du plat, puis déposer le poulet dessus.\n7. Faire rôtir le poulet pendant 1,5 heure, ou jusqu’à ce que le jus soit clair lorsqu’on coupe entre la cuisse et le thigh avec un couteau.\n8. Transférer le poulet rôti et les légumes dans un plat, couvrir de papier aluminium et laisser reposer environ 20 minutes.\n9. Découper le poulet et le servir avec les légumes.\n\n**Conseils de cuisson et retours des utilisateurs :**\n* La recette indique que si le dessous des légumes commence à brunir, il est possible d’ajouter une tasse de bouillon de poulet pour aider à conserver l’humidité.\n* Certains utilisateurs suggèrent d’utiliser un plat à rôtir plus petit afin d’éviter que les légumes ne brûlent.\n* Certains utilisateurs remplacent le fenouil par des pommes de terre.\n* De nombreux utilisateurs indiquent que le poulet est très tendre, juteux, savoureux, et que la préparation est simple."
},
"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": "\nCette recette convient aux personnes qui aiment le poulet rôti classique, en particulier aux cuisiniers amateurs qui souhaitent préparer un plat délicieux et relativement facile. La difficulté de la recette est indiquée comme « moyenne », et elle nécessite au total 2 heures 10 minutes (dont 20 minutes de préparation, 20 minutes de temps de repos et 1 heure 30 minutes de cuisson).\n\nElle convient également aux personnes qui souhaitent préparer un plat principal impressionnant pour une réception ou une occasion spéciale, car le poulet rôti est souvent une pièce maîtresse des repas de fête.\n\nLa recette mentionne aussi que les ingrédients peuvent être ajustés selon les goûts personnels ; par exemple, certains commentaires indiquent que l’on peut omettre le fenouil ou ajouter du bouillon de poulet pour faciliter le Basting, ce qui montre qu’elle peut aussi convenir à ceux qui aiment expérimenter et adapter leurs préparations en cuisine."
}
]
},
"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 difficulté de la recette est indiquée comme « moyenne », et elle nécessite au total 2 heures 10 minutes (dont 20 minutes de préparation, 20 minutes de temps de repos et 1 heure 30 minutes de cuisson)."
},
"groundingChunkIndices": [
0
]
},
{
"segment": {
"startIndex": 319,
"endIndex": 475,
"text": "Elle convient également aux personnes qui souhaitent préparer un plat principal impressionnant pour une réception ou une occasion spéciale, car le poulet rôti est souvent une pièce maîtresse des repas de fête."
},
"groundingChunkIndices": [
0
]
},
{
"segment": {
"startIndex": 477,
"endIndex": 695,
"text": "La recette mentionne aussi que les ingrédients peuvent être ajustés selon les goûts personnels ; par exemple, certains commentaires indiquent que l’on peut omettre le fenouil ou ajouter du bouillon de poulet pour faciliter le Basting, ce qui montre qu’elle peut aussi convenir à ceux qui aiment expérimenter et adapter leurs préparations en cuisine."
},
"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"
}