API overview
Omniall AI is a unified AI API gateway. Request and response schemas follow the OpenAI Chat Completions style (and related OpenAI media APIs), with additional first-class paths for Claude Messages, Gemini, and async video tasks. At a high level, Omniall normalizes routing, auth, billing, and response shapes across many upstream providers, so you can call text, image, video, and audio models through one Base URL and one API key.OpenAPI specification
Interactive request schemas and the playground are generated from the public OpenAPI document. Browse nested Chat (ChatGPT / Claude / Gemini / Responses), plus Images, Video, Audio, Platform, and Rerank. Use the playground to try calls against production (https://api.omniall.ai) with your own key.
Base URL
https://api.omniall.ai/v1 (include /v1). The website and console stay on https://omniall.ai. Paths below are shown from the API host root when that is clearer for non-/v1 prefixes (for example Gemini /v1beta).
Authentication
Create a key in the console under API Keys, then send:x-api-key with anthropic-version on /v1/messages and model list routes. Gemini-style clients may use x-goog-api-key or ?key= on Gemini-compatible model routes. Bearer auth works for all primary /v1/* APIs.
Capabilities
Model how-to guides live under the Docs tab (Guides).
Pick model IDs from the Model Square — use the exact
model string shown there in requests.
Requests
Chat Completions
POST /v1/chat/completions is the primary text (and multimodal chat) entry point. Body shape is OpenAI-compatible:
Streaming
Sendstream: true. The response is Server-Sent Events (SSE). Chunks use object: "chat.completion.chunk" and choices[].delta instead of message. Ignore SSE comment lines if present. The stream ends with a data: [DONE] sentinel.
Model selection
- Always pass
modelusing the ID from Model Square orGET /v1/models. - Availability depends on your account group, channel routing, and balance.
- Unsupported parameters for a given upstream model are typically ignored; supported fields are forwarded.
Images
Video (async tasks)
Video APIs are asynchronous: create a task, then poll until the status is complete. Preferred paths:
Exact body fields (
prompt, seconds, image / images, metadata, etc.) depend on the model family. See the Docs guides for Kling, Doubao Seedance, Veo, and others.
Claude Messages & Gemini
- Claude:
POST /v1/messageswith Anthropic Messages JSON (model,max_tokens,messages, …). - Gemini:
POST /v1beta/models/{model_name}:{action}(for examplegenerateContent), or OpenAI-compatible chat against/v1/chat/completionswhen the model is exposed that way.
Responses
Non-streaming Chat Completions responses follow the OpenAI shape:choices is always an array. Each choice has a message (or delta when streaming) and a finish_reason.
finish_reason values include stop, length, tool_calls, and content_filter. Token usage is returned in usage when the upstream provides it; billing follows Omniall quotas and Model Square pricing.
Video create responses return a task id; poll the status endpoint until the task finishes, then read the result URL from the task payload (or content download route when available).
Errors & limits
Failed requests return JSON error bodies (OpenAI-styleerror.message / error.type where applicable). Typical causes:
- Missing or invalid API key
- Unknown or unauthorized
model - Insufficient balance / quota
- Rate limits on your key or model
- Upstream provider errors (retried or surfaced depending on routing)
Next steps
- Try requests in Endpoints (interactive playground)
- Quickstart for SDK setup
- Model Square for model IDs and pricing
- Docs tab for image / video / audio model guides