|
<!DOCTYPE html> |
|
<html lang="en"> |
|
<head> |
|
<meta charset="UTF-8"> |
|
<meta name="viewport" content="width=device-width, initial-scale=1.0"> |
|
<meta http-equiv="X-UA-Compatible" content="ie=edge"> |
|
<title>Text-to-Speech API Documentation</title> |
|
<style> |
|
body { |
|
font-family: Arial, sans-serif; |
|
background-color: #f4f4f4; |
|
color: #333; |
|
margin: 0; |
|
padding: 0; |
|
} |
|
header { |
|
background-color: #4CAF50; |
|
color: white; |
|
padding: 20px; |
|
text-align: center; |
|
} |
|
h1, h2 { |
|
margin: 0; |
|
} |
|
section { |
|
margin: 20px; |
|
padding: 20px; |
|
background-color: white; |
|
box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1); |
|
} |
|
pre { |
|
background-color: #f4f4f4; |
|
padding: 10px; |
|
border-radius: 5px; |
|
font-family: monospace; |
|
overflow-x: auto; |
|
} |
|
footer { |
|
text-align: center; |
|
padding: 10px 0; |
|
background-color: #4CAF50; |
|
color: white; |
|
} |
|
ul { |
|
line-height: 1.6; |
|
} |
|
</style> |
|
</head> |
|
<body> |
|
|
|
<header> |
|
<h1>Text-to-Speech (TTS) API Documentation</h1> |
|
<p>Convert text into high-quality speech using our API</p> |
|
</header> |
|
|
|
<section> |
|
<h2>API Overview</h2> |
|
<p>This API allows you to convert text into natural-sounding speech. You can specify the voice and model for the TTS generation. It is ideal for use cases such as games, tutorials, and accessibility applications.</p> |
|
</section> |
|
|
|
<section> |
|
<h2>API Endpoint</h2> |
|
<p>To generate speech, send a POST request to the following URL:</p> |
|
<pre>https://imseldrith-tts-openai-free.hf.space/v1/audio/speech</pre> |
|
</section> |
|
|
|
<section> |
|
<h2>Request Example</h2> |
|
<p>Here’s an example of the JSON payload you’ll need to send in your POST request:</p> |
|
<pre> |
|
{ |
|
"model": "tts-1", |
|
"input": "Today is a wonderful day to build something people love!", |
|
"voice": "echo" |
|
} |
|
</pre> |
|
</section> |
|
|
|
<section> |
|
<h2>Voice Options</h2> |
|
<p>Choose from the following voices for speech synthesis:</p> |
|
<ul> |
|
<li><strong>alloy</strong>: A deep and rich voice.</li> |
|
<li><strong>echo</strong>: A soft, echoing voice.</li> |
|
<li><strong>fable</strong>: A calm, neutral voice.</li> |
|
<li><strong>onyx</strong>: A slightly robotic, futuristic voice.</li> |
|
<li><strong>nova</strong>: A bright and clear voice.</li> |
|
<li><strong>shimmer</strong>: A soft, dreamy voice.</li> |
|
</ul> |
|
</section> |
|
|
|
<section> |
|
<h2>Audio Quality Options</h2> |
|
<p>You can choose between two models based on the quality of the audio and latency requirements:</p> |
|
<ul> |
|
<li><strong>tts-1</strong>: The standard model that provides low latency but may have some static or lower quality in certain situations. Ideal for real-time applications.</li> |
|
<li><strong>tts-1-hd</strong>: A high-definition model that produces better quality audio at the cost of higher latency. Recommended for non-realtime applications where quality is a priority.</li> |
|
</ul> |
|
</section> |
|
|
|
<section> |
|
<h2>How to Use the API</h2> |
|
<p>Use the following code examples to make requests to the API. You can copy and modify the code as needed.</p> |
|
|
|
<h3>Python Code Example</h3> |
|
<p>This Python example demonstrates how to send a POST request to the API and save the generated speech as an MP3 file:</p> |
|
<pre> |
|
import requests |
|
|
|
# API URL and Headers |
|
url = "https://imseldrith-tts-openai-free.hf.space/v1/audio/speech" |
|
headers = { |
|
"Content-Type": "application/json" |
|
} |
|
|
|
# Payload with input text and desired voice |
|
data = { |
|
"model": "tts-1", # Use "tts-1-hd" for higher quality audio |
|
"input": "Today is a wonderful day to build something people love!", |
|
"voice": "echo" # Choose a voice (e.g., "alloy", "echo", "fable", etc.) |
|
} |
|
|
|
# Make the POST request |
|
response = requests.post(url, headers=headers, json=data) |
|
|
|
# Save the response content to an MP3 file if the request is successful |
|
if response.status_code == 200: |
|
with open("speech.mp3", "wb") as f: |
|
f.write(response.content) |
|
print("Speech file saved as 'speech.mp3'") |
|
else: |
|
print(f"Failed to generate speech: {response.status_code}, {response.text}") |
|
</pre> |
|
|
|
<h3>cURL Command Example</h3> |
|
<p>If you prefer using cURL, you can make the request like this:</p> |
|
<pre> |
|
curl -X POST https://imseldrith-tts-openai-free.hf.space/v1/audio/speech \ |
|
-H "Content-Type: application/json" \ |
|
-d '{ |
|
"model": "tts-1", |
|
"input": "Today is a wonderful day to build something people love!", |
|
"voice": "echo" |
|
}' --output speech.mp3 |
|
</pre> |
|
|
|
<h3>JavaScript (Fetch) Example</h3> |
|
<p>Here’s how you can make a POST request to the TTS API using JavaScript (for example, in a web application):</p> |
|
<pre> |
|
fetch("https://imseldrith-tts-openai-free.hf.space/v1/audio/speech", { |
|
method: "POST", |
|
headers: { |
|
"Content-Type": "application/json" |
|
}, |
|
body: JSON.stringify({ |
|
model: "tts-1", // Use "tts-1-hd" for higher quality audio |
|
input: "Today is a wonderful day to build something people love!", |
|
voice: "echo" // Choose a voice (e.g., "alloy", "echo", "fable", etc.) |
|
}) |
|
}) |
|
.then(response => response.blob()) |
|
.then(blob => { |
|
const link = document.createElement("a"); |
|
link.href = URL.createObjectURL(blob); |
|
link.download = "speech.mp3"; |
|
link.click(); |
|
}) |
|
.catch(error => console.error("Error:", error)); |
|
</pre> |
|
</section> |
|
|
|
<footer> |
|
<p></p> |
|
</footer> |
|
|
|
</body> |
|
</html> |
|
|