Skip to content

Chat Completions

POST https://api.bve.me/v1/chat/completions

Requires Authorization: Bearer sk-bve-YOUR_KEY.

This endpoint proxies directly to Fuelix /chat/completions. The request body and response shape follow the OpenAI Chat Completions API. Streaming (SSE) is supported.

{
"model": "gpt-4o",
"messages": [
{ "role": "system", "content": "You are a helpful assistant." },
{ "role": "user", "content": "What is 2 + 2?" }
],
"stream": false
}
FieldTypeRequiredDescription
modelstringYesModel ID (e.g. gpt-4o)
messagesarrayYesArray of message objects
streambooleanNoEnable SSE streaming
temperaturenumberNoSampling temperature
top_pnumberNoNucleus sampling
max_tokensintegerNoMaximum tokens to generate
stopstring | arrayNoStop sequences
presence_penaltynumberNoPresence penalty
frequency_penaltynumberNoFrequency penalty
userstringNoEnd-user identifier
seedintegerNoDeterministic seed

Any additional fields supported by Fuelix are forwarded as-is.

In addition to upstream headers, BVE Gateway adds:

HeaderDescription
X-Request-IdUUID for this request (generated per request)
X-BVE-LatencyTotal gateway latency in milliseconds

Only a safe subset of Fuelix response headers are forwarded to the client:

  • content-type
  • cache-control
  • x-request-id
  • x-quota-allowed
  • x-quota-available
  • x-quota-reset
Terminal window
curl https://api.bve.me/v1/chat/completions \
-H "Authorization: Bearer sk-bve-YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-4o",
"messages": [{ "role": "user", "content": "What is 2 + 2?" }]
}'

Response:

{
"id": "chatcmpl-abc123",
"object": "chat.completion",
"created": 1716288000,
"model": "gpt-4o",
"choices": [
{
"index": 0,
"message": { "role": "assistant", "content": "4" },
"finish_reason": "stop"
}
],
"usage": {
"prompt_tokens": 14,
"completion_tokens": 1,
"total_tokens": 15
}
}

See Streaming for full streaming documentation.

Terminal window
curl https://api.bve.me/v1/chat/completions \
-H "Authorization: Bearer sk-bve-YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-4o",
"messages": [{ "role": "user", "content": "Count to 3." }],
"stream": true
}'

Request bodies larger than 10 MB are rejected with 413 Request Entity Too Large:

{
"error": {
"message": "Request body too large",
"type": "invalid_request_error",
"code": "request_too_large"
}
}
import OpenAI from 'openai';
const client = new OpenAI({
apiKey: 'sk-bve-YOUR_KEY',
baseURL: 'https://api.bve.me/v1',
});
const response = await client.chat.completions.create({
model: 'gpt-4o',
messages: [{ role: 'user', content: 'What is 2 + 2?' }],
});