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 — EasyVoice's free tier is 5,000 characters per day permanently with no expiry.
5,000 characters per day free, no credit card. Pro $9.99/mo unlimited vs OpenAI $15/1M (tts-1) / $30/1M (tts-1-hd).
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 two-line 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. The free tier is 5,000 characters per day — the 'Hello from EasyVoice.' input below is 22 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
From a warm server instance (the typical state during business hours), EasyVoice's first-byte latency is approximately 300–600 milliseconds. This means the curl command completes in under 1 second for short inputs (under 500 characters). Longer inputs take proportionally longer because the 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 (56 voices across 9 languages — try af_heart for warm female American English, am_adam for authoritative male, or bm_fable for British storytelling register); try different response_format values (mp3 for web, wav for audio processing, opus for streaming); 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 free permanently. Stay on OpenAI if you have an existing account, existing OpenAI API keys, and the added cost of $15/1M chars is acceptable at your expected volume — below 666,000 characters per month, OpenAI's per-character billing is less expensive 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
# Required fields: voice + input. 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_alloy","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_alloy", "input": "Hello."}. 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 — no payment information requested. The free tier provides 5,000 characters per day permanently 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, first synthesis request returns audio in 300–600 milliseconds on warm EasyVoice 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?▾
EasyVoice supports mp3, wav, and opus 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, opus for real-time streaming.
Related OpenAI migration guides
Migrate from OpenAI TTS to EasyVoice in 5 lines
OpenAI TTS to EasyVoice migration guide: 5-line code diff in Python + JS. Model, voice, response_format mapping. Streaming compatible. $9.99 flat vs $15/1M.
OpenAI TTS API reference — audio.speech.create mapped to EasyVoice
OpenAI TTS API reference mapped to EasyVoice. audio.speech.create params, error codes 401/400/429/5xx, request/response shapes. OpenAI-compatible endpoint.
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.
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.
Developer-focused OpenAI migration in /tts-api
The developer-onboarding angle of the same migration — request body compatibility deep-dive, streaming behavior, ChatGPT plugin/Realtime API guidance, and the official OpenAI SDK constraint.
Start migrating off OpenAI TTS today
5,000 characters per day free, no credit card. Pro $9.99/mo unlimited replaces OpenAI's $15-$300/mo bills once you cross 666K characters per month.