Skip to navigation

Models

Flow AI serves models from many labs through one API. The catalog changes as labs release models, so the live list is on the Models page, where you can filter by type and lab and search by name.

Model ids

Every request names its model by id, in the form lab/model, for example openai/gpt-6-luna or cohere/cohere-embed-v4. Use the id exactly as listed.

Types

Every model has one type, which decides the endpoint you call it on.

TypeUse it forEndpoint
ChatConversation, reasoning, coding, tool use, image and document understandingPOST /v1/chat/completions
EmbeddingSearch, clustering, retrievalPOST /v1/embeddings
ImageGenerating and editing imagesPOST /v1/images/generations, POST /v1/images/edits
VideoGenerating short videosPOST /v1/videos

Labs

Models are grouped by lab, the company that makes them, such as OpenAI, Google or DeepSeek. Each model has its own page at ai.hyperflow.fun/models/{lab}/{model} with its id, context window, prices, a code sample for its type and, for image models, the sizes and qualities it offers.

Models API

GET /v1/models follows the OpenAI Models API and lists the models your key may call. A key can call every model unless you limited it to a list.

curl https://ai.hyperflow.fun/v1/models \
-H "Authorization: Bearer $HYPERFLOW_API_KEY"
{
"object": "list",
"data": [
{ "id": "openai/gpt-6-luna", "object": "model", "created": 0, "owned_by": "OpenAI", "mode": "chat" },
{ "id": "cohere/cohere-embed-v4", "object": "model", "created": 0, "owned_by": "Cohere", "mode": "embedding" }
]
}

owned_by is the lab and mode is the model’s type: chat, embedding, image or video.

Public catalog

GET https://ai.hyperflow.fun/public/models needs no key and returns every model with its prices. It’s what the Models page is built from.

curl https://ai.hyperflow.fun/public/models
[
{
"id": "openai/gpt-6-luna",
"name": "GPT-6 Luna",
"lab": "OpenAI",
"logoUrl": null,
"mode": "chat",
"contextLength": 1050000,
"pricing": {
"mode": "chat",
"input": "0.1",
"output": "0.5",
"cacheRead": "0.01",
"cacheWrite": "0.125",
"tiers": [{ "aboveTokens": 272000, "input": "0.2", "output": "0.75", "cacheRead": "0.02", "cacheWrite": "0.25" }],
"tierAtThreshold": false
}
}
]
FieldWhat it is
idThe id you send as model
nameThe model’s display name
labThe lab that makes it
modeIts type. The catalog can list types not covered in these docs
contextLengthIts context window in tokens, for chat and embedding models; otherwise null
pricingIts prices in $THINK, as decimal strings, in the unit its type is sold by

What pricing holds depends on the type:

TypeFields
Chatinput, output, and where offered cacheRead, cacheWrite, reasoning, all per 1M tokens; tiers for higher prices above a prompt length
Embeddinginput, per 1M tokens
Imagesizes and qualities it offers, then either unit: "image" with perImage, or unit: "token" with input, inputImage and outputImage per 1M tokens
VideoperSecond, and byResolution where a size is priced differently

See Pricing for how these turn into the cost of a request.

Rankings

Rankings shows which models are used most on Flow AI, by tokens processed per day, week or month. The same data is public:

curl "https://ai.hyperflow.fun/public/rankings?period=week"

period is day, week (the default) or month. Each entry has the model’s modelId, name, lab, tokens, requests and its share of all tokens.

Every model counts tokens its own way. Each lab splits text into tokens differently, so the same prompt can be a different number of tokens, and a different cost, on different models. You’re always charged by the model’s own count, which the usage field of every response shows.

Next: Pricing — how a model’s price turns into the cost of a request.