Computer Use Preview
computer-use-previewComputer Use Preview for text generation, reasoning, tool calling, and live streaming responses.
Computer Use Preview for text generation, reasoning, tool calling, and live streaming responses.
Language, code, reasoning, multimodal chat, tool calling, and streaming responses. Endpoint: http://omixa.cloud/api/v1/chat/completions
Computer Use Preview for text generation, reasoning, tool calling, and live 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 | computer-use-preview | Use `computer-use-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. |
Start with this model-safe payload and expect the normalized Omixa response shape shown beside it.
{
"model": "computer-use-preview",
"messages": [
{
"role": "system",
"content": "You are a concise API assistant."
},
{
"role": "user",
"content": "Explain this model in three practical bullet points."
}
],
"stream": true,
"max_tokens": 2048,
"temperature": 0.7,
"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": "computer-use-preview",
"messages": [
{
"role": "system",
"content": "You are a concise API assistant."
},
{
"role": "user",
"content": "Explain this model in three practical bullet points."
}
],
"stream": true,
"max_tokens": 2048,
"temperature": 0.7,
"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\": \"computer-use-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\": true,\n \"max_tokens\": 2048,\n \"temperature\": 0.7,\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": "computer-use-preview",
"messages": [
{
"role": "system",
"content": "You are a concise API assistant."
},
{
"role": "user",
"content": "Explain this model in three practical bullet points."
}
],
"stream": True,
"max_tokens": 2048,
"temperature": 0.7,
"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": "computer-use-preview",
"messages": [
{
"role": "system",
"content": "You are a concise API assistant."
},
{
"role": "user",
"content": "Explain this model in three practical bullet points."
}
],
"stream": true,
"max_tokens": 2048,
"temperature": 0.7,
"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"": ""computer-use-preview"",
""messages"": [
{
""role"": ""system"",
""content"": ""You are a concise API assistant.""
},
{
""role"": ""user"",
""content"": ""Explain this model in three practical bullet points.""
}
],
""stream"": true,
""max_tokens"": 2048,
""temperature"": 0.7,
""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": "computer-use-preview",
"messages": [
{
"role": "system",
"content": "You are a concise API assistant."
},
{
"role": "user",
"content": "Explain this model in three practical bullet points."
}
],
"stream": true,
"max_tokens": 2048,
"temperature": 0.7,
"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)
Set `"stream": true` and read Server-Sent Events line by line until `data: [DONE]`. Each event is OpenAI-compatible `chat.completion.chunk` JSON.