Provider - OpenAI
- API Key: platform.openai.com
- Available Models: platform.openai.com/docs/models
- Models Pricing: platform.openai.com/docs/pricing
Environment Setup
Copy
export OPENAI_COMPATIBLE_BASE_URL="https://api.openai.com/v1"
export OPENAI_COMPATIBLE_API_KEY="YOUR_OPENAI_API_KEY"
export OPENAI_COMPATIBLE_MODEL_NAME="gpt-5-nano"
API Call
- cURL
- Python
- Python (OpenAI SDK)
- TypeScript
- TypeScript (OpenAI SDK)
Copy
curl "$OPENAI_COMPATIBLE_BASE_URL/chat/completions" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $OPENAI_COMPATIBLE_API_KEY" \
-d @- <<EOF
{
"model": "${OPENAI_COMPATIBLE_MODEL_NAME}",
"messages": [
{"role": "system", "content": "You are a helpful assistant"},
{"role": "user", "content": "Hello"}
]
}
EOF
openai-compatible-api-call.py
Copy
import os
import requests
base_url = os.environ["OPENAI_COMPATIBLE_BASE_URL"]
api_key = os.environ["OPENAI_COMPATIBLE_API_KEY"]
model = os.environ["OPENAI_COMPATIBLE_MODEL_NAME"]
r = requests.post(
f"{base_url}/chat/completions",
headers={
"Authorization": f"Bearer {api_key}",
"Content-Type": "application/json",
},
json={
"model": model,
"messages": [
{"role": "system", "content": "You are a helpful assistant"},
{"role": "user", "content": "Hello"}
],
},
)
r.raise_for_status()
data = r.json()
print(data["choices"][0]["message"]["content"])
Copy
pip install requests
python openai-compatible-api-call.py
openai-compatible-api-call-with-openai-library.py
Copy
import os
from openai import OpenAI
client = OpenAI(
base_url=os.environ["OPENAI_COMPATIBLE_BASE_URL"],
api_key=os.environ["OPENAI_COMPATIBLE_API_KEY"],
)
model = os.environ["OPENAI_COMPATIBLE_MODEL_NAME"]
completion = client.chat.completions.create(
model=model,
messages=[
{"role": "system", "content": "You are a helpful assistant"},
{"role": "user", "content": "Hello"}
],
)
print(completion.choices[0].message.content)
Copy
pip install openai
python openai-compatible-api-call.py
openai-compatible-api-call.ts
Copy
const baseURL = process.env.OPENAI_COMPATIBLE_BASE_URL;
const apiKey = process.env.OPENAI_COMPATIBLE_API_KEY;
const model = process.env.OPENAI_COMPATIBLE_MODEL_NAME;
const resp = await fetch(`${baseURL}/chat/completions`, {
method: "POST",
headers: {
"Authorization": `Bearer ${apiKey}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
model,
messages: [
{ role: "system", content: "You are a helpful assistant" },
{ role: "user", content: "Hello" }
],
}),
});
if (!resp.ok) throw new Error(`HTTP ${resp.status}: ${await resp.text()}`);
const data = await resp.json();
console.log(data.choices?.[0]?.message?.content);
Copy
bun openai-compatible-api-call.ts
openai-compatible-api-call-with-openai-library.ts
Copy
import OpenAI from "openai";
const client = new OpenAI({
baseURL: process.env.OPENAI_COMPATIBLE_BASE_URL,
apiKey: process.env.OPENAI_COMPATIBLE_API_KEY,
});
const model = process.env.OPENAI_COMPATIBLE_MODEL_NAME;
const completion = await client.chat.completions.create({
model,
messages: [
{ role: "system", content: "You are a helpful assistant" },
{ role: "user", content: "Hello" }
],
});
console.log(completion.choices[0].message.content);
Copy
bun openai-compatible-api-call-with-openai-library.ts