Orpheus 3B vs OpenAI TTS (tts-1)
Orpheus 3B is an open-weight text-to-speech model you can call on this endpoint; OpenAI TTS (tts-1) is a closed model from OpenAI. Below: what each costs for three realistic workloads, the limits that apply, and when to choose which.
OpenAI figures are public list prices and documented limits, checked 2026-09-16 against the provider page. Inference APIs prices are read live from the price list.
- Cost: OpenAI TTS (tts-1) is cheaper in all three workloads, by 23%.
- Limits: OpenAI: Rate limits scale with usage tier. 4,096 characters per request. Here: no per-minute or per-day caps.
Side by side
| Orpheus 3B | OpenAI TTS (tts-1) | |
|---|---|---|
| Served by | Inference APIs | OpenAI |
| Model author | Canopy Labs | OpenAI |
| Model id | canopylabs/orpheus-3b-0.1-ft | tts-1 |
| Price | $19.50 / 1M characters | $15.00 / 1M characters |
| Capabilities | Text to speech, Expressive, 8 voices, English | Text to speech, 11 voices, mp3 / wav / opus |
| Weights | Open | Closed |
| Status | Available | Available |
| Limits | No per-minute or per-day request or token caps; usage draws on a prepaid balance | Rate limits scale with usage tier. 4,096 characters per request. |
| 300 characters → audio | 58.5 s | not measured by us |
What three workloads cost
List prices applied to the same work. The cheaper side of each row is in bold.
| Workload | Orpheus 3B | OpenAI TTS (tts-1) | Difference |
|---|---|---|---|
| One 1,000-word article (about 6,000 characters) | $0.12 | $0.09 | 23% |
| One hour of narration (about 54,000 characters) | $1.05 | $0.81 | 23% |
| One million characters (about 18 hours of speech) | $19.50 | $15.00 | 23% |
OpenAI TTS (tts-1) is cheaper in all three workloads, by 23%.
When to choose which
- You want open weights: the same model can be moved to another host or self-hosted later
- Pre-rendered English narration where expressiveness matters
- You want inline emotion tags such as <laugh> and <sigh>
- Cost is the deciding factor; it is cheaper in every workload above
- You want OpenAI's voices specifically
- You need opus, aac or flac output
Measured speed
Median of three runs on 2026-09-16: a 300-character paragraph to mp3, timed from request to last byte. Expect ±30% with time of day. We did not measure OpenAI and do not quote other people's numbers; read "not measured" as unknown, not slow. Method and raw numbers: speed measurements.
Switching from OpenAI
Both speak the OpenAI wire format. The edit is the base URL, the key and the model id; then re-run your own prompts, because it is a different model.
import os
from openai import OpenAI
# before: OpenAI
# client = OpenAI(base_url="https://api.openai.com/v1", api_key=os.environ["OPENAI_API_KEY"])
# MODEL = "tts-1"
# after: Inference APIs
client = OpenAI(base_url="https://api.inferenceapis.com/v1", api_key=os.environ["INFERENCE_API_KEY"])
MODEL = "canopylabs/orpheus-3b-0.1-ft"
resp = client.audio.speech.create(model=MODEL, voice="tara", input="Hello there")More detail, including Node, LangChain and LiteLLM: switching OpenAI-compatible providers.
FAQ
Which is cheaper, Orpheus 3B or OpenAI TTS (tts-1)?
OpenAI TTS (tts-1) is cheaper in all three workloads, by 23%. The table above uses list prices: Orpheus 3B $19.50 / 1M characters; OpenAI TTS (tts-1) $15.00 / 1M characters.
Can I switch from OpenAI TTS (tts-1) to Orpheus 3B without rewriting code?
Yes, if you call it through an OpenAI-compatible client. Change the base URL to https://api.inferenceapis.com/v1, swap the API key, and set the model to canopylabs/orpheus-3b-0.1-ft. Because it is a different model, re-run your prompts and evaluations before moving production traffic.
What limits apply to OpenAI TTS (tts-1)?
Rate limits scale with usage tier. 4,096 characters per request. On Inference APIs there are no per-minute or per-day request or token caps; usage draws on a prepaid balance.
Spotted a price or limit that has changed? Tell us and we will re-check the provider page.
