Endpoints
Busca na web
Baseie as respostas em resultados ao vivo da web com a variante :online, o plugin web ou web_search_options, com citações de URL e preços.
Teste no playgroundA busca na web adiciona resultados ao vivo da web ao contexto do modelo e retorna citações com URL. Você pode ativá-la em qualquer modelo de texto de três formas.
1. A variante :online
Adicione :online a qualquer id de modelo:
{ "model": "openai/gpt-5-mini:online", "messages": [{ "role": "user", "content": "What happened in AI this week?" }] }
:online usa os mesmos preços, a mesma lista de permissões da chave e as mesmas regras de plano do modelo base. Veja IDs de modelo.
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. O plugin web
O plugin dá a você controle sobre a busca:
{
"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:" }
]
}
| Campo | Tipo | Descrição |
|---|---|---|
plugins[].id | string | "web" |
max_results | integer | Número de resultados a injetar (padrão 5). |
engine | string | "native" (a busca própria do provedor, quando disponível) ou "exa". Se omitido, usa-se a nativa quando disponível, caso contrário a Exa. |
search_prompt | string | Texto colocado antes dos resultados injetados. |
3. web_search_options
A opção no estilo OpenAI para modelos com busca nativa:
{
"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 é "low", "medium" ou "high". Ele define quanto conteúdo de busca é recuperado e o preço.
Resposta
As citações são retornadas como annotations na mensagem:
{
"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 }
}
Preços
Além dos tokens, a busca tem seu próprio preço: a Exa é cobrada por resultado e a busca nativa por requisição, conforme o preço web_search do modelo. Os resultados da busca também contam como tokens de entrada. Tudo está incluído em usage.cost e é debitado em USD. Veja Preços e cobrança.
Erros
Os mesmos de Chat completions. Veja Erros.