Skip to main content

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

Most OpenAI-compatible clients should set Base URL to 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:
Claude-style clients may also 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

Send stream: 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 model using the ID from Model Square or GET /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/messages with Anthropic Messages JSON (model, max_tokens, messages, …).
  • Gemini: POST /v1beta/models/{model_name}:{action} (for example generateContent), or OpenAI-compatible chat against /v1/chat/completions when 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.
Common 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-style error.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