Code Examples
Complete code examples in multiple programming languages.
Python
Basic Generation
import requests
def generate_speech(text, voice="Peter", language="en-US"):
response = requests.post(
"https://yourvoic.com/api/v1/tts/generate",
headers={"X-API-Key": "your_api_key"},
json={
"text": text,
"voice": voice,
"language": language
}
)
if response.status_code == 200:
return response.content
else:
raise Exception(f"Error: {response.json()}")
# Generate and save
audio = generate_speech("Hello, world!")
with open("output.mp3", "wb") as f:
f.write(audio)
With All Options
import requests
response = requests.post(
"https://yourvoic.com/api/v1/tts/generate",
headers={"X-API-Key": "your_api_key"},
json={
"text": "Premium quality audio with all options.",
"voice": "Peter",
"language": "en-US",
"model": "aura-max",
"speed": 1.0,
"pitch": 1.0,
"output_format": "wav",
"sample_rate": 44100
}
)
with open("premium_output.wav", "wb") as f:
f.write(response.content)
Batch Processing
import requests
import os
texts = [
"Welcome to chapter one.",
"This is the introduction.",
"Let's begin our journey."
]
for i, text in enumerate(texts):
response = requests.post(
"https://yourvoic.com/api/v1/tts/generate",
headers={"X-API-Key": "your_api_key"},
json={
"text": text,
"voice": "Peter",
"language": "en-US",
"model": "aura-max"
}
)
filename = f"chapter_{i+1}.mp3"
with open(filename, "wb") as f:
f.write(response.content)
print(f"Saved {filename}")
JavaScript (Node.js)
Basic Generation
const fs = require('fs');
async function generateSpeech(text, voice = 'Peter', language = 'en-US') {
const response = await fetch('https://yourvoic.com/api/v1/tts/generate', {
method: 'POST',
headers: {
'X-API-Key': 'your_api_key',
'Content-Type': 'application/json'
},
body: JSON.stringify({ text, voice, language })
});
if (!response.ok) {
throw new Error(`Error: ${await response.text()}`);
}
return Buffer.from(await response.arrayBuffer());
}
// Usage
generateSpeech('Hello, world!')
.then(audio => fs.writeFileSync('output.mp3', audio))
.then(() => console.log('Saved output.mp3'));
Browser with Audio Playback
async function speakText(text) {
const response = await fetch('https://yourvoic.com/api/v1/tts/generate', {
method: 'POST',
headers: {
'X-API-Key': 'your_api_key',
'Content-Type': 'application/json'
},
body: JSON.stringify({
text: text,
voice: 'Peter',
language: 'en-US'
})
});
const blob = await response.blob();
const url = URL.createObjectURL(blob);
const audio = new Audio(url);
audio.play();
// Cleanup after playback
audio.onended = () => URL.revokeObjectURL(url);
}
// Usage
speakText('Hello from the browser!');
cURL
Basic Request
curl -X POST "https://yourvoic.com/api/v1/tts/generate" \
-H "X-API-Key: your_api_key" \
-H "Content-Type: application/json" \
-d '{
"text": "Hello, world!",
"voice": "Peter",
"language": "en-US"
}' \
--output output.mp3
With All Options
curl -X POST "https://yourvoic.com/api/v1/tts/generate" \
-H "X-API-Key: your_api_key" \
-H "Content-Type: application/json" \
-d '{
"text": "Premium audio with custom settings.",
"voice": "Peter",
"language": "en-US",
"model": "aura-max",
"speed": 0.9,
"pitch": 1.1,
"output_format": "wav"
}' \
--output premium.wav
PHP
<?php
$ch = curl_init('https://yourvoic.com/api/v1/tts/generate');
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
'X-API-Key: your_api_key',
'Content-Type: application/json'
],
CURLOPT_POSTFIELDS => json_encode([
'text' => 'Hello from PHP!',
'voice' => 'Peter',
'language' => 'en-US'
])
]);
$audio = curl_exec($ch);
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
if ($httpCode === 200) {
file_put_contents('output.mp3', $audio);
echo "Audio saved!";
} else {
echo "Error: " . $audio;
}
?>
Ruby
require 'net/http'
require 'json'
require 'uri'
uri = URI('https://yourvoic.com/api/v1/tts/generate')
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true
request = Net::HTTP::Post.new(uri)
request['X-API-Key'] = 'your_api_key'
request['Content-Type'] = 'application/json'
request.body = {
text: 'Hello from Ruby!',
voice: 'Peter',
language: 'en-US'
}.to_json
response = http.request(request)
if response.code == '200'
File.open('output.mp3', 'wb') { |f| f.write(response.body) }
puts 'Audio saved!'
else
puts "Error: #{response.body}"
end
Go
package main
import (
"bytes"
"encoding/json"
"io"
"net/http"
"os"
)
func main() {
payload := map[string]string{
"text": "Hello from Go!",
"voice": "Peter",
"language": "en-US",
}
body, _ := json.Marshal(payload)
req, _ := http.NewRequest("POST",
"https://yourvoic.com/api/v1/tts/generate",
bytes.NewBuffer(body))
req.Header.Set("X-API-Key", "your_api_key")
req.Header.Set("Content-Type", "application/json")
client := &http.Client{}
resp, _ := client.Do(req)
defer resp.Body.Close()
if resp.StatusCode == 200 {
file, _ := os.Create("output.mp3")
defer file.Close()
io.Copy(file, resp.Body)
}
}