RelaySwitch

io.relayswitch/gateway · v1.0.0 · ai-and-media

RelaySwitch is healthy: it completed an MCP handshake in 775 ms and exposes 15 tools.

Every major chat, image and video model on one prepaid key. OpenAI, Anthropic and Gemini formats.

Endpoint: https://api.relayswitch.io/mcp (streamable-http)

No repository listed · Website · JSON · Add to my inventory

Facts

Users (last 30 days)0
HandshakeHealthy
Auth neededNone
Tool count15
Latency775 ms
Last checked (UTC)2026-11-08T09:55:23.332Z

Health history

Checked (UTC)StatusLatencyError
2026-11-08T09:55:23.332ZHealthy775

Tools (15)

list_modelsEvery chat, embedding, rerank and transcription model on RelaySwitch with its id, type, the routes and tools that take it, our price (per million tokens, or per audio minute for transcription), the developer's list price where recorded, the wire formats it answers (openai, anthropic, gemini) and its
list_media_modelsEvery media model on RelaySwitch with its id, kind, endpoint, unit and price per image, second, generation or minute at each setting, next to the developer's price where recorded. No key needed. Live from GET /v1/catalog/media.
media_modelEverything generate needs to call one image, video, speech, music or 3D model: each setting under params with its type, the values it takes, its range and its default, and the price per unit at each setting under pricing. No key needed. Live from GET /v1/catalog/media.
estimateThe cost of a request on every chat model (or the ids given), cheapest first, with the developer's list cost and the saving. Give input_tokens, or a prompt / messages to count from. With the caller's key, prices are the key's own (price locks included). Live from POST /v1/estimate.
media_quoteWhat generate would charge for exactly these settings, at the key's own rates: the units billed, the charge, and the developer's own price for the same request where one is on record. The settings are checked as a real request's would be, so a wrong value fails here, not at the model. Nothing runs a
proofWhether each model is still the model it says it is: every day one fixed prompt goes to every model and the verdict per model is stable, changed, failed or unchecked, with the time of the last check and how long the answer has been unchanged. No key needed. Live from GET /v1/proof.
chatSends messages to any chat model id through POST /v1/chat/completions and returns the answer, the token usage and what the request cost. system adds instructions, image_urls lets a model that sees images look at them (a file generate made works), web_search lets the model search while it answers. Bi
compareSends the same conversation (or one prompt) to 2 to 5 chat model ids at once through POST /v1/chat/completions and returns every answer side by side with its token usage, cost and time, plus the total. For a second opinion from another model, or to pick the model that answers a kind of question best
searchOne web search through POST /v1/search: titles, URLs, snippets and publish dates, up to 10 results, optionally only from the last day, week, month or year. Billed as one search to the key in the MCP request's Authorization header (the price in GET /v1/catalog server_tools); a search that fails is no
embedEmbeds one text or up to 64 through POST /v1/embeddings with an embedding model id from list_models (type embedding) and returns one vector per text, in order, with the token usage and the charge. Billed to the key in the MCP request's Authorization header.
rerankOrders up to 100 documents by relevance to a query through POST /v1/rerank with a rerank model id from list_models (type rerank): each result's index into documents, its score and its text, best first. Billed per input token to the key in the MCP request's Authorization header.
transcribeTurns the speech in an audio or video file at an https URL (25 MB at most; a file generate made works) into text through POST /v1/audio/transcriptions, or into English with translate. Use a transcription model id from list_models (type transcription). Billed per second of audio to the key in the MCP
generateRuns any media model id from list_media_models with its settings (see media_model) through POST /v1/generations, waits up to wait_seconds for the files, and returns the generation: a link per file (kept 30 days), a finished image inline, and the charge. A video that is still running when the wait en
generationOne generation by id: its status, progress, files and charge, waiting up to wait_seconds for it to finish first. Use it after generate answers with a video still running. Needs the key the generation was made with. Live from GET /v1/generations/{id}.
generationsThe organization's generations, newest first, each with its status, model, files and charge: the asset library behind generate. Filter by kind, model or status; page with before. Files are kept 30 days. Needs the key. Live from GET /v1/generations.