Studios

Models

The live menus, with every model and its price.

List chat models

GET/api/v1/chat/modelsFree

The chat menu for Chat Completions and Messages. Each model shows its price per million tokens next to the provider's list price.

Example request

const res = await fetch("https://mystudios.fun/api/v1/chat/models");const menu = await res.json();

Response

modelsobject[]One entry per model. Send its idas the model. Prices are in USD per million tokens, ours and the provider's list.
max_tokensobjectThe default and the cap for max_tokens on Chat Completions.

A model priced per request shows usd_per_request instead of token rates. The clawhunter/smart entry is priced auto. It bills at the rates of the model it routes to.

Response
{  "endpoint": "/api/v1/chat/completions",  "pricing": "per_token",  "max_tokens": { "default": 1024, "cap": 8192 },  "models": [    {      "id": "claude-fable-5-1",      "label": "Claude Fable 5.1",      "provider": "anthropic",      "pricing": "per_token",      "input_usd_per_mtok": 5,      "output_usd_per_mtok": 25,      "list_input_usd_per_mtok": 10,      "list_output_usd_per_mtok": 50    },    {      "id": "clawhunter/smart",      "label": "Smart (auto-routing)",      "provider": "clawhunter",      "pricing": "auto"    }  ]}

List models (OpenAI format)

GET/api/v1/modelsFree

The same chat menu as an OpenAI model list. It's what an OpenAI SDK's models.list() reads, and what tools like Cursor use to check a key. It has ids only, including clawhunter/free and clawhunter/smart.

Example request

const res = await fetch("https://mystudios.fun/api/v1/models");const models = await res.json();

Response

Response
{  "object": "list",  "data": [    { "id": "claude-fable-5-1", "object": "model", "created": 1719878400, "owned_by": "anthropic" },    { "id": "clawhunter/free", "object": "model", "created": 1719878400, "owned_by": "clawhunter" },    { "id": "clawhunter/smart", "object": "model", "created": 1719878400, "owned_by": "clawhunter" }  ]}

List image and video models

GET/api/v1/media/modelsFree

The image and video menu. Each model shows its price per image or per render next to the provider's list price, and the options it accepts.

Example request

const res = await fetch("https://mystudios.fun/api/v1/media/models");const menu = await res.json();

Response

modelsobject[]One entry per model. kind is image or video. Send its id as the model.
models[].operationsobjectWhat the model can do, each with our price and the list price.generate · edit · text_to_video · image_to_video · reference_to_video
models[].optionsobjectThe aspect ratios, quality and resolution tiers, and video lengths the model accepts. Price multipliers sit beside the tiers that change the price.
models[].max_referencesintegerHow many reference images one call can use.
models[].free_tierobjectThe settings your daily free allowance covers on this model, when it's limited.
smartobjectWhat clawhunter/smart accepts at each quality tier.
Response
{  "image_endpoint": "/api/v1/images/generations",  "video_endpoint": "/api/v1/videos/generations",  "pricing": "per_unit",  "models": [    {      "id": "gpt-image-2",      "label": "GPT Image 2",      "provider": "openai",      "kind": "image",      "operations": {        "generate": { "usd_per_unit": 0.114, "list_usd_per_unit": 0.2 },        "edit": { "usd_per_unit": 0.13, "list_usd_per_unit": 0.26 }      },      "options": {        "resolution": ["1K", "2K"],        "default_resolution": "1K",        "resolution_price_multipliers": { "2K": 2 }      }    }  ]}

Notes

  • A video operation marked audio can render a soundtrack.
  • An operation with video_reference takes a reference clip, up to its max_seconds.
  • Use these values on Images and Video. A value a model doesn't list returns 400.