Models
The live menus, with every model and its price.
List chat models
GET
/api/v1/chat/modelsFreeThe 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/modelsFreeThe 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/modelsFreeThe 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_videomodels[].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 } } } ]}