Overview
Flow AI’s API follows the OpenAI API, so the official OpenAI SDKs and plain HTTP both work.
Base URL
Every request takes your key as Authorization: Bearer sk-...; see Authentication. Every inference request names a model by its id, lab/model, such as openai/gpt-6-luna; see Models.
Endpoints
Parameters
Each endpoint takes the parameters below. Anything else is removed before the request reaches the model, so it has no effect. This includes a host’s own options, such as routing, plugins and web search, which the host would bill separately.
Chat completions
model, messages, stream, stream_options, max_tokens, max_completion_tokens, temperature, top_p, frequency_penalty, presence_penalty, stop, seed, n (1 to 8), logprobs, top_logprobs, logit_bias, tools (function tools only), tool_choice, parallel_tool_calls, response_format, reasoning_effort, user, metadata
Embeddings
model, input, dimensions, encoding_format, user, metadata
Image generation
model, prompt, n, size, quality, style, background, output_format, user, metadata
Image edits
model, prompt, image, mask, n, size, quality, background, output_format, user, metadata
Videos
model, prompt, seconds, size, input_reference, user, metadata
extra_body is removed too. If an SDK sends a model-specific option through it, that option has no effect on Flow AI.
The model list
GET /models returns the models the key may call, in OpenAI’s shape, with the lab as owned_by and the model’s type as mode:
mode is one of chat, embedding, image or video.
Next: Authentication — send your key with every request.