o1 Preview
o1-previewo1 Preview for text generation, reasoning, tool calling, and streaming responses.
o1 Preview for text generation, reasoning, tool calling, and streaming responses.
Language, code, reasoning, multimodal chat, tool calling, and streaming responses. Endpoint: http://omixa.cloud/api/v1/chat/completions
o1 Preview for text generation, reasoning, tool calling, and streaming responses.
Use Omixa's unified endpoint and your workspace API key. Provider routing, billing, failover, and usage records are handled by Omixa.
http://omixa.cloud/api/v1/chat/completions
Only send options supported by this model. Required fields and accepted values are listed below.
| Field | Type | Required | Accepted values | Description |
|---|---|---|---|---|
model |
string | Yes | o1-preview | Use `o1-preview`. Omixa resolves the active provider route and failover key automatically. |
messages |
array | Yes | Any valid value | Conversation turns. Each item contains `role` and `content`. Roles are `system`, `user`, `assistant`, and tool roles when supported. |
messages[].content |
string|array | Yes | Any valid value | Text prompt or multimodal parts. Multimodal-capable models accept `{type:"text"}`, `{type:"image_url"}`, and inline files supported by Omixa. |
stream |
boolean | No | Any valid value | When true, returns OpenAI-compatible Server-Sent Events until `data: [DONE]`. |
max_tokens|max_completion_tokens |
integer | No | Any valid value | Maximum answer tokens. Omixa maps the correct field for Google, Azure chat, and reasoning model families. |
temperature |
number | No | Any valid value | Sampling randomness for non-reasoning models. Reasoning-only models may ignore or reject it, so Omixa strips it where needed. |
top_p |
number | No | Any valid value | Nucleus sampling. Use either `temperature` or `top_p` for predictable tuning. |
stop |
string|array | No | Any valid value | Stop sequence or sequences. Not all provider routes support it. |
response_format |
object | No | Any valid value | Structured output hints such as `{ "type": "json_object" }` when the selected provider supports JSON mode. |
tools |
array | No | Any valid value | OpenAI-style tool/function declarations. Omixa forwards compatible declarations to tool-capable providers. |
tool_choice |
string|object | No | Any valid value | `auto`, `none`, `required`, or a specific tool choice when the provider supports it. |
reasoning_effort |
string | No | low, medium, high | Reasoning budget/effort. Omixa normalizes options per provider family. |
show_thinking |
boolean | No | Any valid value | Requests reasoning summaries or native `reasoning_content` chunks when supported by the selected route. |
attachments |
inline parts | No | Any valid value | Send image or document parts inside `messages[].content`. Use data URLs/base64 with MIME type; remote URLs are not fetched by Omixa for Google Vertex. |
service_tier |
string | No | auto, default, priority | Use `priority` for eligible Azure OpenAI deployments. Omixa omits it for routes that do not support priority processing. |
Start with this model-safe payload and expect the normalized Omixa response shape shown beside it.
{
"model": "o1-preview",
"messages": [
{
"role": "system",
"content": "You are a concise API assistant."
},
{
"role": "user",
"content": "Explain this model in three practical bullet points."
}
],
"stream": false,
"max_tokens": 2048,
"reasoning_effort": "low",
"show_thinking": true,
"service_tier": "priority",
"tools": [
{
"type": "function",
"function": {
"name": "lookup_order",
"description": "Return order status by ID.",
"parameters": {
"type": "object",
"properties": {
"order_id": {
"type": "string"
}
},
"required": [
"order_id"
]
}
}
}
],
"tool_choice": "auto"
}
{
"object": "chat.completion",
"choices": [
{
"message": {
"role": "assistant",
"content": "..."
}
}
],
"usage": {
"prompt_tokens": 123,
"completion_tokens": 45,
"total_tokens": 168
}
}
Replace the example API key with a workspace key and keep model-specific fields unchanged unless the table above marks them optional.
curl -X POST http://omixa.cloud/api/v1/chat/completions \
-H "Authorization: Bearer omx_live_xxx" \
-H "Content-Type: application/json" \
-d '{
"model": "o1-preview",
"messages": [
{
"role": "system",
"content": "You are a concise API assistant."
},
{
"role": "user",
"content": "Explain this model in three practical bullet points."
}
],
"stream": false,
"max_tokens": 2048,
"reasoning_effort": "low",
"show_thinking": true,
"service_tier": "priority",
"tools": [
{
"type": "function",
"function": {
"name": "lookup_order",
"description": "Return order status by ID.",
"parameters": {
"type": "object",
"properties": {
"order_id": {
"type": "string"
}
},
"required": [
"order_id"
]
}
}
}
],
"tool_choice": "auto"
}'
const response = await fetch('http://omixa.cloud/api/v1/chat/completions', {
method: 'POST',
headers: {
'Authorization': 'Bearer omx_live_xxx',
'Content-Type': 'application/json'
},
body: "{\n \"model\": \"o1-preview\",\n \"messages\": [\n {\n \"role\": \"system\",\n \"content\": \"You are a concise API assistant.\"\n },\n {\n \"role\": \"user\",\n \"content\": \"Explain this model in three practical bullet points.\"\n }\n ],\n \"stream\": false,\n \"max_tokens\": 2048,\n \"reasoning_effort\": \"low\",\n \"show_thinking\": true,\n \"service_tier\": \"priority\",\n \"tools\": [\n {\n \"type\": \"function\",\n \"function\": {\n \"name\": \"lookup_order\",\n \"description\": \"Return order status by ID.\",\n \"parameters\": {\n \"type\": \"object\",\n \"properties\": {\n \"order_id\": {\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"order_id\"\n ]\n }\n }\n }\n ],\n \"tool_choice\": \"auto\"\n}"
});
const data = await response.json();
import requests
response = requests.post(
'http://omixa.cloud/api/v1/chat/completions',
headers={'Authorization': 'Bearer omx_live_xxx', 'Content-Type': 'application/json'},
json={
"model": "o1-preview",
"messages": [
{
"role": "system",
"content": "You are a concise API assistant."
},
{
"role": "user",
"content": "Explain this model in three practical bullet points."
}
],
"stream": False,
"max_tokens": 2048,
"reasoning_effort": "low",
"show_thinking": True,
"service_tier": "priority",
"tools": [
{
"type": "function",
"function": {
"name": "lookup_order",
"description": "Return order status by ID.",
"parameters": {
"type": "object",
"properties": {
"order_id": {
"type": "string"
}
},
"required": [
"order_id"
]
}
}
}
],
"tool_choice": "auto"
}
)
print(response.json())
$ch = curl_init('http://omixa.cloud/api/v1/chat/completions');
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_HTTPHEADER => ['Authorization: Bearer omx_live_xxx', 'Content-Type: application/json'],
CURLOPT_POSTFIELDS => '{
"model": "o1-preview",
"messages": [
{
"role": "system",
"content": "You are a concise API assistant."
},
{
"role": "user",
"content": "Explain this model in three practical bullet points."
}
],
"stream": false,
"max_tokens": 2048,
"reasoning_effort": "low",
"show_thinking": true,
"service_tier": "priority",
"tools": [
{
"type": "function",
"function": {
"name": "lookup_order",
"description": "Return order status by ID.",
"parameters": {
"type": "object",
"properties": {
"order_id": {
"type": "string"
}
},
"required": [
"order_id"
]
}
}
}
],
"tool_choice": "auto"
}',
CURLOPT_RETURNTRANSFER => true,
]);
$response = curl_exec($ch);
using var client = new HttpClient();
client.DefaultRequestHeaders.Authorization = new System.Net.Http.Headers.AuthenticationHeaderValue("Bearer", "omx_live_xxx");
var json = @"{
""model"": ""o1-preview"",
""messages"": [
{
""role"": ""system"",
""content"": ""You are a concise API assistant.""
},
{
""role"": ""user"",
""content"": ""Explain this model in three practical bullet points.""
}
],
""stream"": false,
""max_tokens"": 2048,
""reasoning_effort"": ""low"",
""show_thinking"": true,
""service_tier"": ""priority"",
""tools"": [
{
""type"": ""function"",
""function"": {
""name"": ""lookup_order"",
""description"": ""Return order status by ID."",
""parameters"": {
""type"": ""object"",
""properties"": {
""order_id"": {
""type"": ""string""
}
},
""required"": [
""order_id""
]
}
}
}
],
""tool_choice"": ""auto""
}";
var response = await client.PostAsync("http://omixa.cloud/api/v1/chat/completions", new StringContent(json, System.Text.Encoding.UTF8, "application/json"));
var body = await response.Content.ReadAsStringAsync();
payload := []byte(`{
"model": "o1-preview",
"messages": [
{
"role": "system",
"content": "You are a concise API assistant."
},
{
"role": "user",
"content": "Explain this model in three practical bullet points."
}
],
"stream": false,
"max_tokens": 2048,
"reasoning_effort": "low",
"show_thinking": true,
"service_tier": "priority",
"tools": [
{
"type": "function",
"function": {
"name": "lookup_order",
"description": "Return order status by ID.",
"parameters": {
"type": "object",
"properties": {
"order_id": {
"type": "string"
}
},
"required": [
"order_id"
]
}
}
}
],
"tool_choice": "auto"
}`)
req, _ := http.NewRequest("POST", "http://omixa.cloud/api/v1/chat/completions", bytes.NewReader(payload))
req.Header.Set("Authorization", "Bearer omx_live_xxx")
req.Header.Set("Content-Type", "application/json")
resp, err := http.DefaultClient.Do(req)