Gerador de requisições cURL compatíveis com OpenAI
Gere comandos cURL para endpoints de API compatíveis com OpenAI. Configure a URL base, o endpoint, o modelo, o prompt, a temperatura e outros parâmetros para requisições de chat, conclusões e embeddings.
Entrada
Saída
Leia-me
O que é uma API compatível com OpenAI?
Muitos provedores de LLM e servidores de inferência autogerenciados — a própria OpenAI, Azure OpenAI, Groq, OpenRouter, Together AI, Mistral, DeepSeek, vLLM, o servidor do llama.cpp, LM Studio e o modo compatível com OpenAI do Ollama — expõem a mesma interface REST popularizada pela OpenAI: solicitações JSON para endpoints como /v1/chat/completions, autenticadas com um token Bearer no cabeçalho Authorization. Isso permite trocar de provedor sem reescrever o código da sua integração.
Escrever manualmente um comando cURL correto para esses endpoints exige configurar exatamente a URL, os cabeçalhos e o corpo JSON, especialmente ao ajustar parâmetros de amostragem, como temperatura e penalidades, ou ao alternar entre solicitações de chat, completions legadas e embeddings.
Descrição da ferramenta
Esta ferramenta gera comandos cURL prontos para uso para qualquer API compatível com OpenAI. Defina a URL base, o endpoint, o modelo e os parâmetros, e obtenha instantaneamente um comando cURL formatado corretamente, pronto para colar no seu terminal ou nos seus scripts.
Exemplos
Conclusão de chat:
curl -X POST "https://api.openai.com/v1/chat/completions" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_KEY" \
-d '{
"model": "gpt-4o-mini",
"messages": [
{ "role": "system", "content": "Você é um assistente útil para programação." },
{ "role": "user", "content": "Escreva uma função Python para inverter uma string" }
],
"temperature": 0.3,
"stream": false
}'Servidor autogerenciado (vLLM, llama.cpp, LM Studio, ...):
curl -X POST "http://localhost:8000/v1/chat/completions" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_KEY" \
-d '{
"model": "llama-3-8b-instruct",
"messages": [
{ "role": "user", "content": "Resuma o enredo de Hamlet em duas frases" }
],
"stream": true
}'Embeddings:
curl -X POST "https://api.openai.com/v1/embeddings" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_KEY" \
-d '{
"model": "text-embedding-3-small",
"input": "A rápida raposa marrom salta sobre o cão preguiçoso"
}'Recursos
- Suporta os três endpoints compatíveis com OpenAI mais comuns:
/chat/completions,/completionse/embeddings - Funciona com qualquer URL base compatível, atendendo igualmente à OpenAI, Azure, Groq, OpenRouter, Together AI e servidores autogerenciados
- Parâmetros de amostragem configuráveis: temperatura, top-p, penalidade de frequência, penalidade de presença, máximo de tokens, número de completions, sequências de parada e seed
- Formato opcional de resposta como objeto JSON para conclusões de chat
- Nada é enviado para nenhum lugar — o comando cURL é criado inteiramente no seu navegador, e nenhuma chave de API deixa o seu dispositivo
Opções explicadas
| Opção | Descrição | Padrão | Intervalo |
|---|---|---|---|
| URL base | A raiz da API, sem o caminho do endpoint. | https://api.openai.com/v1 |
Qualquer URL |
| Endpoint | O endpoint da API a ser utilizado. | /chat/completions |
chat, completions, embeddings |
| Temperatura | Controla a aleatoriedade da saída. Valores menores produzem textos mais focados; valores maiores aumentam a criatividade. | 1 | 0-2 |
| Top P | Limite da amostragem por núcleo. O modelo considera os tokens cuja probabilidade acumulada atinge este valor. | 1 | 0-1 |
| Penalidade de frequência | Penaliza tokens com base na frequência com que já apareceram, reduzindo a repetição literal. | 0 | -2-2 |
| Penalidade de presença | Penaliza tokens que já apareceram, incentivando o modelo a introduzir novos tópicos. | 0 | -2-2 |
| Máximo de tokens | Número máximo de tokens a gerar na resposta. Deixe vazio para omitir e usar o padrão do provedor. | - | Qualquer número inteiro |
| Completions (n) | Quantas opções de chat/completion gerar para a entrada. | 1 | Qualquer número inteiro |
| Seed | Seed fixa para obter, na medida do possível, uma saída reproduzível. Deixe vazio para resultados aleatórios. | - | Qualquer número inteiro |
| Sequências de parada | Lista separada por vírgulas de sequências nas quais a API interrompe a geração de novos tokens. | - | Qualquer texto |
| Formato da resposta | Defina como objeto JSON para forçar o modelo a retornar uma saída JSON válida (somente no endpoint de chat). | Nenhum | Nenhum / objeto JSON |
| Stream | Quando ativado, a resposta é transmitida como eventos enviados pelo servidor. Desative para receber a resposta completa de uma só vez. | Desativado | Ativado / Desativado |