OpenAI TTS quickstart — first audio in 5 steps, no credit card
This quickstart is for developers who are starting from zero — no existing OpenAI TTS code, no prior API key, no integration to port. If you already have OpenAI TTS code and want to switch vendors, that is the migration guide. If you want a parameter-by-parameter reference, that is the api-reference spoke. This page is the 5-step path from a blank terminal to a playing MP3 file using EasyVoice's free tier. The five steps are: create an account (no credit card), copy your API key, send your first curl request, check the response format, and play the output. Total time from starting at this page to hearing audio is under two minutes. No SDK installation required, no credit card, no trial clock — a free EasyVoice account includes 5,000 characters per day with no expiry.
5,000 characters per day free, no credit card. Pro $9.99/mo unlimited (fair use 10M characters per 30 days).
Step 1: Create a free account — no credit card required
Go to https://easyvoice.ae and sign up with your email address. No credit card is required at Step 1 — EasyVoice does not ask for payment information until you choose to upgrade to Pro. Account creation takes under 30 seconds. You will receive a confirmation email; click the link to activate your account.
Once logged in, navigate to the API section of your dashboard. You will see a generated API key — a string beginning with 'ev_' or similar. Copy this key. You will set it as an environment variable in the next step. Keep it out of version control: add it to .env and add .env to .gitignore. If you accidentally commit it, rotate the key from the dashboard immediately.
Step 2 through Step 5: API key, first request, format, playback
Step 2 — Set your API key as an environment variable. In your terminal: export EASYVOICE_API_KEY=your_key_here. On Windows PowerShell: $env:EASYVOICE_API_KEY = 'your_key_here'. On Windows Command Prompt: set EASYVOICE_API_KEY=your_key_here. Keep the key in the environment variable, not hardcoded in the request command.
Step 3 — Send your first request with curl. See the code example below for the exact command. The endpoint is https://easyvoice.ae/api/v1/audio/speech. The only required fields are voice (a voice ID from EasyVoice's catalog) and input (the text you want synthesized). response_format defaults to mp3. The full request takes under 1 second to reach the server.
Step 4 — Check the response format. The response body is raw audio bytes — not a JSON object, not base64-encoded. When you pass --output hello.mp3 to curl, curl writes those bytes directly to the file. The file is playable immediately. If you see a JSON response instead of audio, the API key may be invalid (401) or the request body malformed (400) — check curl's -v output for the HTTP status code.
Step 5 — Play the output. On macOS: open hello.mp3 (opens in QuickTime). On Linux: mpv hello.mp3 or aplay (for wav). On Windows: start hello.mp3. In a Node.js script: use the audio object or a player library. In a browser: create an Audio element, set its src to a Blob URL from the response bytes, and call .play(). Time from sending the request to hearing the first sound is typically under 1 second total.
Your first curl command — the minimal working request
The curl command below is the minimal working request for EasyVoice's TTS API. It requires no SDK, no library installation, and no configuration beyond the API key. Copy it into a terminal with EASYVOICE_API_KEY set and it will produce a playable hello.mp3 in the current directory.
If you prefer Python to curl, the equivalent is a short requests.post call: POST to the same URL with the Authorization and Content-Type headers and a JSON body with voice and input. response.content gives you the raw bytes to write to a file. If you prefer JavaScript, a fetch call with the same headers and body, followed by res.arrayBuffer() and writing to a file with fs.writeFileSync, is the equivalent.
The no credit card guarantee applies from step 1: this curl command works on the free tier without entering any payment information, because it uses af_aoede, one of the 12 free voices (Pro voices such as af_alloy return 403 plan_required on a free key). The free tier is 5,000 characters per day — the input below is 42 characters, well under the daily cap. You can run this command repeatedly throughout the day until you exhaust the daily quota.
Time to first audio — what to expect
EasyVoice returns the complete audio file in a single response — from a warm server instance (the typical state), the curl command for a short input (under 500 characters) typically completes in about a second. Longer inputs take proportionally longer because audio generation time scales with text length.
From a cold server instance (first request after a period of inactivity), latency may be higher — up to a few seconds — due to model initialization. Cold starts are uncommon during normal usage patterns. If you observe consistently high latency on your first request of the day, the second request will typically be faster.
For the quickstart, you are testing with a short input, so total latency from pressing Enter on the curl command to the file appearing should be under 2 seconds including network round-trip. If the command takes longer than 10 seconds, check your network connection and the API key validity (a 401 will cause curl to wait for a JSON response body before closing).
What to explore after the quickstart
After your first successful synthesis, the natural next steps are: explore the voice catalog (66 voices across 9 languages, 12 of them free — try af_heart for warm female American English, am_adam for authoritative male, or bm_daniel for British narration); try different response_format values (mp3 for web, wav for audio processing); and write the API call in your target language (JavaScript, Python, Go, Ruby, PHP — any HTTP client works).
Switch to EasyVoice if you are starting a new TTS integration from zero and want the fastest path from no account to playing audio — 5 steps, no credit card, 5,000 characters per day on the free account with no expiry. Stay on OpenAI if you have an existing account, existing OpenAI API keys, and the per-character cost of tts-1 ($15 per 1M characters, OpenAI list price checked September 2026) is acceptable at your expected volume — below about 666,000 characters per month on tts-1, OpenAI's per-character billing costs less than EasyVoice's $9.99/mo flat rate.
Code samples
Real working code, not pseudo-code. Every request below assumes you've set EASYVOICE_API_KEY and OPENAI_API_KEY as env vars where shown.
Step 3 — First curl request (greenfield quickstart)
No credit card, no SDK — one curl command from zero to a playable MP3# Set your API key (no credit card required to sign up)
export EASYVOICE_API_KEY=your_api_key_here
# Step 3: Send your first request
# Fields: voice + input. af_aoede is a free voice. response_format defaults to mp3.
curl -X POST https://easyvoice.ae/api/v1/audio/speech \
-H "Authorization: Bearer $EASYVOICE_API_KEY" \
-H "Content-Type: application/json" \
-d '{"voice":"af_aoede","input":"Hello from EasyVoice. Quickstart complete.","response_format":"mp3"}' \
--output hello.mp3
# Step 4: Verify the response is audio (should be ~30KB for this input)
ls -lh hello.mp3
# Step 5: Play the output
# macOS: open hello.mp3
# Linux: mpv hello.mp3
# Windows PowerShell: Start-Process hello.mp3Voices to try on the free tier
Every voice below is callable via the same voice parameter — preview audio samples and read the full character profile.
Frequently asked questions
How do I make my first EasyVoice TTS request?▾
Create a free EasyVoice account at easyvoice.ae — no credit card required. Copy your API key from the dashboard. Send a POST to https://easyvoice.ae/api/v1/audio/speech with Authorization: Bearer YOUR_KEY, Content-Type: application/json, and body {"voice": "af_aoede", "input": "Hello."} (af_aoede is one of the free voices). Write the response bytes to out.mp3 and play it.
Do I need a credit card to start?▾
No credit card is required for EasyVoice's free tier. Sign up with an email address, receive an API key immediately, and begin generating audio with the 12 free voices — no payment information requested. The free tier provides 5,000 characters per day with no expiry. A credit card is only requested when you choose to upgrade to Pro at $9.99/mo.
How long until I hear audio?▾
From zero to playing audio typically takes under 2 minutes: account creation under 30 seconds, API key available immediately after activation, and the first synthesis request for a short input typically returns the complete audio file in about a second on warm servers. Total elapsed time from visiting easyvoice.ae to hearing the output of your first curl request is under 2 minutes.
What output formats can I request in my first API call?▾
Request mp3, wav or pcm. EasyVoice supports mp3 (default), wav and pcm from the first request. Default is mp3, which plays in all major browsers and media players without additional libraries. Specify response_format: 'mp3' explicitly in the quickstart to ensure the curl --output file is written and plays correctly. Switch to wav for audio processing pipelines.
Related OpenAI migration guides
Migrate from OpenAI TTS to EasyVoice: change the base URL and key
Keep the official OpenAI SDK: change the base URL and API key. The six OpenAI voice names work as they are (nova is free; the other five need Pro).
OpenAI TTS API reference — audio.speech.create mapped to EasyVoice
OpenAI TTS API reference mapped to EasyVoice: audio.speech.create params, error codes 400/401/403/404/429/5xx, request/response shapes.
OpenAI TTS has no free tier — EasyVoice gives you 5,000 chars/day, permanently
OpenAI TTS has no free tier. EasyVoice offers 5,000 characters/day free — no credit card, no 30-day trial, permanent daily reset at UTC midnight. Start free.
OpenAI is removing tts-1, tts-1-hd and the gpt-4o-mini-tts snapshots on 6 January 2027
OpenAI removes tts-1, tts-1-hd and two gpt-4o-mini-tts snapshots on 6 January 2027. Switch the speech call to EasyVoice: change the base URL and key.
Vendor comparison: EasyVoice vs OpenAI TTS
Side-by-side feature comparison covering voices, languages, pricing tiers, free limits, API surface, and the why-people-look / where-each-wins breakdown.
API reference: /audio/speech, Jobs API and limits
Every request parameter, rate limit and error code, the Jobs API for long text, and copy-paste examples using the official openai SDK with the EasyVoice base URL.
Start migrating off OpenAI TTS today
5,000 characters per day free, no credit card. Pro $9.99/mo unlimited replaces per-character bills once they grow past the breakeven shown on the pricing page.