POST
/v1/chat/completions
Chat Completions
Generate AI responses using chat models with conversation history support
Request
Example Requestbash
curl https://api.parrotrouter.com/v1/chat/completions \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-4",
"messages": [
{
"role": "system",
"content": "You are a helpful assistant."
},
{
"role": "user",
"content": "Explain quantum computing in simple terms"
}
],
"temperature": 0.7,
"max_tokens": 150
}'
Parameters
model
required
ID of the model to use. See the models page for available options.
messages
required
A list of messages comprising the conversation so far.
[
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": "Hello!"},
{"role": "assistant", "content": "Hi there! How can I help you today?"},
{"role": "user", "content": "What's the weather like?"}
]
temperature
optional
Sampling temperature between 0 and 2. Higher values make output more random. Default: 1
max_tokens
optional
Maximum number of tokens to generate. Default varies by model.
stream
optional
If true, partial message deltas will be sent as Server-Sent Events. Default: false
tools
optional
List of functions the model may call. Only supported by certain models.
See all parameters for the complete list including top_p, frequency_penalty, and more.
Response
Successful Responsejson
{
"id": "chatcmpl-abc123",
"object": "chat.completion",
"created": 1699000000,
"model": "gpt-4",
"choices": [
{
"index": 0,
"message": {
"role": "assistant",
"content": "Quantum computing is a type of computing that uses quantum-mechanical phenomena..."
},
"finish_reason": "stop"
}
],
"usage": {
"prompt_tokens": 26,
"completion_tokens": 103,
"total_tokens": 129
}
}
Streaming Response
When stream: true
, the response is sent as Server-Sent Events:
Stream Responsetext
data: {"id":"chatcmpl-abc123","object":"chat.completion.chunk","created":1699000000,"model":"gpt-4","choices":[{"index":0,"delta":{"content":"Quantum"},"finish_reason":null}]}
data: {"id":"chatcmpl-abc123","object":"chat.completion.chunk","created":1699000000,"model":"gpt-4","choices":[{"index":0,"delta":{"content":" computing"},"finish_reason":null}]}
data: {"id":"chatcmpl-abc123","object":"chat.completion.chunk","created":1699000000,"model":"gpt-4","choices":[{"index":0,"delta":{},"finish_reason":"stop"}]}
data: [DONE]
Code Examples
Pythonpython
from openai import OpenAI
client = OpenAI(
base_url="https://api.parrotrouter.com/v1",
api_key="YOUR_API_KEY"
)
response = client.chat.completions.create(
model="gpt-4",
messages=[
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": "Explain quantum computing in simple terms"}
],
temperature=0.7,
max_tokens=150
)
print(response.choices[0].message.content)
TypeScripttypescript
import OpenAI from 'openai';
const client = new OpenAI({
baseURL: 'https://api.parrotrouter.com/v1',
apiKey: 'YOUR_API_KEY',
});
const response = await client.chat.completions.create({
model: 'gpt-4',
messages: [
{ role: 'system', content: 'You are a helpful assistant.' },
{ role: 'user', content: 'Explain quantum computing in simple terms' }
],
temperature: 0.7,
max_tokens: 150,
});
console.log(response.choices[0].message.content);