Endpoints

Embeddings, rerank, audio, image edits and batch on one key.

The OpenAI endpoints an agent stack needs beyond chat, on the same key, balance and limits. Memory, retrieval, voice notes, product shots and overnight jobs, priced live from the catalog.

From the live catalog
Embedding models
11
Embeddings from
$0.024 / M tokens
Rerank models
1
Transcription models
3
Transcription from
$0.0013 / minute
Image edit models
43
Batch API
50% of the catalog price

What it does for an agent

Embeddings
11 models on POST /v1/embeddings for agent memory and retrieval, priced per million input tokens.
Rerank
POST /v1/rerank in Cohere and Jina’s shape: up to 1,000 documents scored against a query, best first.
Transcription and translation
OpenAI’s audio endpoints on Whisper and Parakeet models, billed per audio minute to the second.
Image edits
POST /v1/images/edits with files or URLs, on the image models that edit.
Moderation
POST /v1/moderations returns OpenAI’s moderation object, for checking what an agent is about to post.
Batch API
Upload JSONL to /v1/files, run it with /v1/batches within 24 hours at half the catalog rate, download the output file.

Copy, paste, run

OpenAI SDK: embeddings and rerank
python
1from openai import OpenAI
2import os
3
4client = OpenAI(
5 base_url="https://api.relayswitch.io/v1",
6 api_key=os.environ["RELAYSWITCH_API_KEY"],
7)
8
9vectors = client.embeddings.create(
10 model="bge-base-en-v1.5",
11 input=["refund policy", "shipping times", "warranty claims"],
12)
13print(len(vectors.data[0].embedding))
14
15# Rerank: Cohere and Jina's shape, on the same key.
16import httpx
17ranked = httpx.post(
18 "https://api.relayswitch.io/v1/rerank",
19 headers={"Authorization": f"Bearer {os.environ['RELAYSWITCH_API_KEY']}"},
20 json={"model": "bge-reranker-base", "query": "How long do refunds take?",
21 "documents": docs, "top_n": 5},
22).json()["results"]
OpenAI SDK: transcription
python
1from openai import OpenAI
2import os
3
4client = OpenAI(
5 base_url="https://api.relayswitch.io/v1",
6 api_key=os.environ["RELAYSWITCH_API_KEY"],
7)
8
9with open("standup.m4a", "rb") as f:
10 text = client.audio.transcriptions.create(
11 model="whisper-large-v3-turbo",
12 file=f,
13 response_format="text",
14 )
15print(text)
16
17# Any language into English text:
18# client.audio.translations.create(model="whisper-large-v3-turbo", file=f)
OpenAI SDK: image edit
python
1from openai import OpenAI
2import os
3
4client = OpenAI(
5 base_url="https://api.relayswitch.io/v1",
6 api_key=os.environ["RELAYSWITCH_API_KEY"],
7)
8
9result = client.images.edit(
10 model="gpt-image-1.5-edit",
11 image=open("product.png", "rb"),
12 prompt="Put the bottle on a marble counter, soft morning light",
13)
14print(result.data[0].url)
OpenAI SDK: Batch API
python
1from openai import OpenAI
2import os
3
4client = OpenAI(
5 base_url="https://api.relayswitch.io/v1",
6 api_key=os.environ["RELAYSWITCH_API_KEY"],
7)
8
9# requests.jsonl, one line per request:
10# {"custom_id": "t-1", "method": "POST", "url": "/v1/chat/completions",
11# "body": {"model": "...", "messages": [...]}}
12upload = client.files.create(file=open("requests.jsonl", "rb"), purpose="batch")
13job = client.batches.create(
14 input_file_id=upload.id,
15 endpoint="/v1/chat/completions",
16 completion_window="24h",
17)
18done = client.batches.retrieve(job.id)
19if done.status == "completed":
20 print(client.files.content(done.output_file_id).text)
curl: moderation
bash
1curl https://api.relayswitch.io/v1/moderations \
2 -H "Authorization: Bearer $RELAYSWITCH_API_KEY" \
3 -H "Content-Type: application/json" \
4 -d '{"input": "text an agent is about to post"}'
5# results[0].flagged, categories, category_scores

Embedding and rerank models

USD per million input tokens, live.

ModelTypeInput
bge-base-en-v1.5embedding$0.1665
bge-en-iclembedding$0.0313
bge-m3embedding$0.0295
bge-small-en-v1.5embedding$0.0505
gemini-embedding-001embedding$0.15
multilingual-e5-large-instructembedding$0.0313
qwen3-embedding-0.6bembedding$0.0295
qwen3-embedding-8bembedding$0.0313
text-embedding-3-largeembedding$0.13
text-embedding-3-smallembedding$0.024
text-embedding-ada-002embedding$0.12
bge-reranker-basererank$0.0078

Transcription models

USD per audio minute, live.

ModelDeveloperPer minute
parakeet-tdt-0.6b-v3NVIDIA$0.015
whisper-large-v3OpenAI$0.015
whisper-large-v3-turboOpenAI$0.0013

Image edit models

From the lowest tier, USD per image, live.

ModelDeveloperFrom
gpt-image-1.5-editOpenAI$0.0125
kling-o3-image-editKling$0.0219
kling-o1-image-editKling$0.0219
gpt-image-2-editOpenAI$0.024
nano-banana-editGoogle$0.0313
nano-banana-2-lite-editGoogle$0.0313
seedream-5.0-lite-editByteDance$0.0313
seedream-4.5-editByteDance$0.0313
flux-3-klein-editBlack Forest Labs$0.036
nano-banana-2-editGoogle$0.0402
muse-image-editMeta$0.044
qwen-image-editAlibaba$0.05
FAQs

Questions

For agent builders.

Open the console

A key in under a minute

Get a key

Or email hello@relayswitch.io

Every endpoint your agent stack calls

Chat, embeddings, rerank, audio, image edits and batch on one prepaid key.