Skip to content

Getting started

Models

Pass a model ID as model in either API. Prices are in US dollars per million tokens, and you pay only for the tokens each request uses.

Live models#

ModelInput / 1MOutput / 1MContextMax outputGrade
  • DeepSeek V4.1 Flash 1017deepseek-v4.1-flash-1017ImagesReasoningInput / 1M$0.20Output / 1M$0.60Context1MMax output32KNot rated
  • Kimi K3kimi-k3ImagesReasoningInput / 1M$2.85Output / 1M$14.25Context1MMax output32KExcellent · 89
  • Nef 4.0nef-4.0ImagesReasoningInput / 1M$0.60Output / 1M$2.40Context1MMax output32KNot rated
  • Sifu 3.5sifu-3.5ImagesReasoningInput / 1M$0.30Output / 1M$1.00Context1MMax output32KExcellent · 83

These are the chat models. Embedding and rerank models have their own endpoints and are listed on Embeddings and Rerank. Grades summarise public benchmarks; see Grades and benchmarks. Plans include a monthly allowance spent at these prices before your prepaid balance; see Pricing and billing. Compare models side by side on Rankings.

Choosing a model#

  • Context is how many tokens of input and output one request can hold. Long codebases and documents need a large one.
  • Max output caps the answer. A max_tokens above it is lowered to it; leave max_tokens out and you get up to the cap.
  • Images models read screenshots and photos; see Images. Reasoning models take reasoning_effort; see Reasoning.
  • Tools are passed to the model as you send them; see Tool calling.
  • Not sure? Send fullsend/auto and FullsendAI picks a model that can take each request; see The fullsend/auto model.

Listing models from code#

GET /v1/models answers in OpenAI's shape, or in Anthropic's when the request carries an anthropic-version header, so either SDK's models.list() works. It lists only the models your key may call.

It lists chat models by default, since tools fill their model pickers from it. Add ?kind=embedding, ?kind=rerank or ?kind=all for the others. The Anthropic shape always lists chat models only.

curl https://fullsendai.com/v1/models -H "Authorization: Bearer $FULLSEND_API_KEY"
Response
{  "object": "list",  "data": [    {      "id": "deepseek-v4.1-flash",      "object": "model",      "created": 1792081138,      "owned_by": "fullsendai",      "name": "DeepSeek V4.1 Flash",      "kind": "chat",      "icon": "deepseek",      "context_length": 1048576,      "max_output_tokens": 32768,      "images": true,      "reasoning": false,      "pricing": { "input": 0.2, "output": 0.6, "cached_input": 0.05 },      "grade": { "tier": "green", "composite": 83.7 },      "precision": "fp8"    }  ]}

Model object (OpenAI shape)

idstring
The model ID to send as model.
namestring
Display name.
kindstring
chat (/v1/chat/completions and /v1/messages), embedding (/v1/embeddings) or rerank (/v1/rerank). Calling a model at another kind's endpoint answers 400 invalid_model_kind.
iconstring
The maker's icon key, for apps that show one (fullsend when there is none).
context_lengthinteger | null
Tokens of input and output one request can hold.
max_output_tokensinteger
The most a single answer can be; max_tokens is capped to it.
imagesboolean
Accepts image input.
reasoningboolean
Takes reasoning_effort.
pricingobject
input and output, US dollars per million tokens. cached_input is the price of input read from the model's prompt cache, or null when cached input is billed as ordinary input. Embedding and rerank models charge input only (output is 0).
gradeobject
tier (gray, yellow, lime or green) and composite (0–100, or null when not rated). See Grades.
precisionstring | null
The numeric precision the model is served at (fp32, bf16, fp16, fp8, int8, fp6, fp4 or int4), or null when not stated. No call is routed to a lower one; see Precision guarantee.

While it's available, fullsend/auto is listed with the chat models, with pricing null: each call is billed at the price of the model it picks.

In Anthropic's shape each model has type, id, display_name and created_at, with has_more, first_id and last_id around the list.

New and retired models#

New models and retirements are announced in the changelog (also as RSS). A retired model disappears from GET /v1/models, and calls to its ID return 404 model_not_found, so read the model ID from configuration rather than hard-coding it, and check /v1/models if a call starts failing that way.

Stuck? Email [email protected]System statusChangelog