Endpoints
Recherche web
Ancrez les réponses dans des résultats web en direct avec la variante :online, le plugin web ou web_search_options, et récupérez les citations d'URL.
Essayer dans le playgroundLa recherche web ajoute des résultats web en direct au contexte du modèle et renvoie des citations d'URL. Vous pouvez l'activer sur n'importe quel modèle de texte de trois façons.
1. La variante :online
Ajoutez :online à n'importe quel identifiant de modèle :
{ "model": "openai/gpt-5-mini:online", "messages": [{ "role": "user", "content": "What happened in AI this week?" }] }
:online applique les mêmes tarifs, la même liste autorisée de clés et les mêmes règles de forfait que le modèle de base. Voir Identifiants de modèles.
import OpenAI from "openai";
const client = new OpenAI({
baseURL: "https://api14.com/api/v1",
apiKey: process.env.API14_API_KEY,
});
const result = await client.chat.completions.create({
"model": "openai/gpt-5-mini:online",
"messages": [
{
"role": "user",
"content": "What are the latest AI model releases this week?"
}
]
});
console.log(result.choices[0].message.content);
2. Le plugin web
Le plugin vous donne le contrôle de la recherche :
{
"model": "anthropic/claude-sonnet-4.5",
"messages": [{ "role": "user", "content": "Latest stable Node.js version?" }],
"plugins": [
{ "id": "web", "max_results": 5, "engine": "exa", "search_prompt": "Use these sources:" }
]
}
| Champ | Type | Description |
|---|---|---|
plugins[].id | string | "web" |
max_results | integer | Nombre de résultats à injecter (5 par défaut). |
engine | string | "native" (la recherche propre au fournisseur, quand elle existe) ou "exa". Si vous l'omettez, la recherche native est utilisée quand elle est disponible, sinon Exa. |
search_prompt | string | Texte placé avant les résultats injectés. |
3. web_search_options
L'option de style OpenAI pour les modèles avec recherche native :
{
"model": "openai/gpt-4o-search-preview",
"messages": [{ "role": "user", "content": "Who won yesterday's match?" }],
"web_search_options": { "search_context_size": "high" }
}
search_context_size vaut "low", "medium" ou "high". Il détermine la quantité de contenu de recherche récupérée, et le prix.
Réponse
Les citations sont renvoyées sous forme d'annotations sur le message :
{
"choices": [
{
"index": 0,
"finish_reason": "stop",
"message": {
"role": "assistant",
"content": "The latest LTS release is ... [nodejs.org](https://nodejs.org/en/blog)",
"annotations": [
{
"type": "url_citation",
"url_citation": { "url": "https://nodejs.org/en/blog", "title": "Node.js Blog", "start_index": 25, "end_index": 60, "content": "..." }
}
]
}
}
],
"usage": { "prompt_tokens": 2410, "completion_tokens": 85, "total_tokens": 2495, "cost": 0.02061 }
}
Tarifs
En plus des tokens, la recherche a son propre prix : Exa est facturé par résultat, et la recherche native par requête selon le prix web_search du modèle. Les résultats de recherche comptent aussi comme tokens d'entrée. Le tout est inclus dans usage.cost et débité en USD. Voir Tarifs et facturation.
Erreurs
Les mêmes que pour les Chat completions. Voir Erreurs.