Developers

If it talks to OpenAI, it talks to Relayz.

Use the official OpenAI SDKs, LangChain, coding extensions or plain HTTP. Change the base URL and the key, and keep the rest of your code.

Three lines
to switch.

Ask the Relayz owner for an app key. Each key is limited to the models you choose and a monthly budget.

  • One key per app, limited to chosen tiers and a monthly budget
  • Streaming, multi-turn conversations and real token usage
  • Function calling for agents, on every chat model
  • Every request logged: app, model, tokens, timing and errors
from openai import OpenAI

client = OpenAI(
    base_url="https://relayz.net/v1",
    api_key="sk-...your Relayz key...",
)

stream = client.chat.completions.create(
    model="claude",  # or "chatgpt", "gemini-search", ...
    messages=[{"role": "user",
               "content": "Summarise this quotation email."}],
    stream=True,
)
for chunk in stream:
    print(chunk.choices[0].delta.content or "", end="")
import OpenAI from "openai";

const client = new OpenAI({
  baseURL: "https://relayz.net/v1",
  apiKey: "sk-...your Relayz key...",
});

const stream = await client.chat.completions.create({
  model: "chatgpt",  // or "claude", "gemini", ...
  messages: [{ role: "user", content: "Summarise this quotation email." }],
  stream: true,
});
for await (const chunk of stream) {
  process.stdout.write(chunk.choices[0]?.delta?.content ?? "");
}
curl https://relayz.net/v1/chat/completions \
  -H "Authorization: Bearer sk-...your Relayz key..." \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gemini",
    "messages": [{"role": "user",
                  "content": "Summarise this quotation email."}]
  }'
Capabilities

What you can send

Standard OpenAI request fields. The API reference has a full example for each.

FeatureHow
Image inputA message part {"type": "image_url", ...} with a data URL or an https link
DocumentsA message part {"type": "file", ...}: PDF, DOCX, XLSX, TXT, CSV, MD or JSON, up to 20 MB
Web searchUse a *-search tier, or send web_search_options: {}
Deeper reasoningUse a *-thinking tier, or send reasoning_effort from low to max
Structured JSONresponse_format with a JSON schema or json_object
Function callingStandard tools and tool_choice; replies carry tool_calls
Image generationimages.generate(model="chatgpt-image", ...), up to 4 images
Streamingstream: true; thinking progress arrives as reasoning_content
Works with

Your favourite tools

Anything that accepts an OpenAI-compatible provider works with Relayz, including coding assistants in agent mode.

OpenAI Python SDKOpenAI Node SDKLangChainContinueClineRoo CodeKilo CodeAiderCopilot custom modelsRelayz Code

Coding extensions

Choose the OpenAI compatible provider, set the base URL to https://relayz.net/v1, paste a coding key and pick a tier such as claude as the model. Chat, edit and agent modes work; inline autocomplete doesn't.

MCP for ChatGPT and Claude

Relayz's MCP server lets ChatGPT (developer mode), Claude Desktop, Claude Code and Codex ask other models, save and search notes, and read shared files. The Relayz owner can give you the connector link.

Endpoints

From the internet: /v1/chat/completions, /v1/images/generations and /v1/models.

Limits

Attachments up to 20 MB each. Plan usage limits return HTTP 429; Relayz doesn't silently switch models.

OpenAPI spec

Import the spec from the API reference into Postman or a code generator.

Ready when you are