List models
Every model you can call and its price. No key needed.
The same list the RFS Router serves: every model with a fixed price, and the prices you pay, the model's own price plus 20%. Prices are in dollars as decimal strings, per token unless named otherwise.
It changes when models arrive or leave, at most every hour, so cache it for a few minutes. See every model on Models.
Response
dataobject[]One entry per model.
idstringThe id to send as
model.namestringIts display name.
context_lengthintegerThe longest prompt plus answer, in tokens.
max_output_tokensinteger | nullThe longest answer it can write.
architectureobjectWhat it reads and writes:
input_modalitiesandoutput_modalities, such astext,imageandfile.reasoningobject | nullHow it thinks, for a reasoning model:
supported_efforts,default_effort, whether thinking ismandatory, and whether itsupports_max_tokens. Null for a model that doesn't reason.pricingobjectWhat you pay, in dollars as decimal strings:
prompt,completionandreasoningper token,requestper call,imageper image read,image_outputper image token written,web_searchper search.
curl https://relayfor.si/api/v1/models{ "object": "list", "data": [ { "id": "anthropic/claude-sonnet-5.5", "object": "model", "owned_by": "anthropic", "name": "Anthropic: Claude Sonnet 5.5", "architecture": { "input_modalities": [ "text", "image", "file" ], "output_modalities": [ "text" ] }, "context_length": 1000000, "max_output_tokens": 128000, "reasoning": { "supported_efforts": [ "max", "xhigh", "high", "medium", "low" ], "default_effort": "high", "mandatory": true, "supports_max_tokens": false }, "pricing": { "prompt": "0.0000024", "completion": "0.000012", "reasoning": "0.000012", "request": "0", "image": "0", "image_output": "0", "web_search": "0.012" } } ]}