AsyncAPI 2.6 description of the asynchronous surfaces of the Novita AI platform: 1. **Server-Sent Events (SSE) streaming** for OpenAI-compatible chat completions (`POST /openai/v1/chat/completions` with `stream: true`). Modeled as a publish-from-server channel that emits incremental chat completion chunk events terminated by the `[DONE]` sentinel. 2. **Outbound webhook callbacks** for the asynchronous image, video, image editing, and upscale tasks created against the `/v3/async/*` and `/v3beta/*` task endpoints. When a request includes `extra.webhook.url`, Novita AI delivers the completed task result to the caller-hosted endpoint with the same payload shape returned by the `GET /v3/async/task-result` polling endpoint. Scope is deliberately limited to event-driven surfaces. Synchronous REST operations (LLM non-streaming chat, embeddings, reranking, batch, GPU instance management, Seedream 4.0 synchronous image generation, etc.) are described separately in the OpenAPI document referenced from `apis.yml`.
View SpecView on GitHubArtificial IntelligenceLLMInferenceGPUOpenAI-CompatibleImage-GenerationVideo GenerationAudioEmbeddingsSandboxMCPAsyncAPIEventsWebhooks
Channels
/openai/v1/chat/completions
subscribesubscribeChatCompletionStream
Receive incremental chat completion chunks over SSE.
Server-Sent Events stream for OpenAI-compatible chat completions. Opened by `POST https://api.novita.ai/openai/v1/chat/completions` with `Accept: text/event-stream` and request body `stream: true`. Each `data:` frame carries a JSON `chat.completion.chunk` object; the stream terminates with the literal frame `data: [DONE]`.
webhook/task-result
publishpublishTaskResultWebhook
Receive completed async task results.
Outbound webhook delivered to the URL provided in `extra.webhook.url` at async task submission time. The POST body matches the synchronous `GET /v3/async/task-result?task_id={task_id}` response and is dispatched once on task completion. Applies to image generation (`/v3/async/txt2img`, `/v3/async/img2img`, FLUX, Seedream 3.0, Qwen image), image editing (`/v3/async/upscale`, `/v3/async/remove-background`, `/v3/async/replace-background`, `/v3/async/inpainting`), and video generation (`/v3/async/txt2video`, `/v3/async/img2video`, `/v3/async/hunyuan-video-fast`, `/v3/async/kling-v2.1-t2v-master`, `/v3/async/minimax-hailuo-02`).
Messages
✉
ChatCompletionChunk
Chat Completion Chunk
A single incremental token/delta frame in an SSE chat completion stream.
✉
ChatCompletionStreamDone
SSE Stream Terminator
Sentinel frame written by the server as the literal SSE line `data: [DONE]` to signal end of stream.
✉
TaskResultWebhook
Async Task Result Webhook
Final task payload delivered to `extra.webhook.url` when an async image/video/edit task reaches a terminal status.
Servers
https
productionapi.novita.ai
Novita AI production API host. SSE chat completion streams originate from `https://api.novita.ai/openai/v1/chat/completions`. Async task submissions target `https://api.novita.ai/v3/async/*` (or `https://api.novita.ai/v3beta/*` for select FLUX endpoints), and webhook callbacks are dispatched outbound from this host to the URL supplied in `extra.webhook.url`.
https
webhook-receiver{webhookHost}
Customer-hosted HTTPS endpoint that receives outbound POST callbacks from Novita AI when an async task completes. The exact URL is the `extra.webhook.url` value supplied at task submission time.
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we
store it to create your key and to recognise you if you sign in with another
provider. See our Privacy Policy and
Terms.