Spaces:
Running
Running
<html lang="en"> | |
<head> | |
<meta charset="UTF-8"> | |
<meta name="viewport" content="width=device-width, initial-scale=1.0"> | |
<title>API Documentation</title> | |
<style> | |
body { | |
font-family: Arial, sans-serif; | |
line-height: 1.6; | |
max-width: 800px; | |
margin: 20px auto; | |
padding: 0 20px; | |
color: #333; | |
} | |
h1 { | |
color: #0056b3; | |
} | |
code { | |
background: #f4f4f4; | |
padding: 2px 6px; | |
border-radius: 4px; | |
} | |
pre { | |
background: #f4f4f4; | |
padding: 10px; | |
border-radius: 4px; | |
overflow-x: auto; | |
} | |
</style> | |
</head> | |
<body> | |
<h1>API Documentation</h1> | |
<p>This page documents the available APIs for the Node.js service, detailing endpoints, parameters, and expected responses.</p> | |
<h2>1. GET /list-models</h2> | |
<p>Retrieves a list of available models.</p> | |
<strong>URL:</strong> | |
<pre>GET /list-models</pre> | |
<strong>Response:</strong> | |
<pre>["Model 1", "Model 2", "Model 3"]</pre> | |
<h2>2. GET /generate/speech</h2> | |
<p>Generates speech audio based on the provided script.</p> | |
<strong>URL:</strong> | |
<pre>GET /generate/speech?api_key=<code>your_api_key</code>&payload=<code>script_payload</code></pre> | |
<strong>Parameters:</strong> | |
<ul> | |
<li><strong>api_key</strong> (required): Your API key for authentication.</li> | |
<li><strong>payload</strong> (required): The script payload containing speaker names and speech content.</li> | |
</ul> | |
<strong>Response:</strong> | |
<pre>Audio file in MPEG format (served as a response file).</pre> | |
<h2>3. POST /generate/speech/stream</h2> | |
<p>Generates speech audio and streams the response via Server-Sent Events (SSE).</p> | |
<strong>URL:</strong> | |
<pre>POST /generate/speech/stream?api_key=<code>your_api_key</code></pre> | |
<strong>Headers:</strong> | |
<ul> | |
<li><strong>Content-Type</strong>: application/json</li> | |
</ul> | |
<strong>Body:</strong> | |
<pre>{ | |
"payload": "script_payload" | |
}</pre> | |
<strong>Response:</strong> | |
<ul> | |
<li><code>audio_segment</code>: URL to generated audio segment.</li> | |
<li><code>audio_complete</code>: URL to the final combined audio file.</li> | |
</ul> | |
<h2>4. GET /generate/image</h2> | |
<p>Generates an image based on the provided prompt.</p> | |
<strong>URL:</strong> | |
<pre>GET /generate/image?prompt=<code>image_prompt</code>&width=<code>image_width</code>&height=<code>image_height</code>&response_format=<code>image</code> (default)</pre> | |
<strong>Parameters:</strong> | |
<ul> | |
<li><strong>prompt</strong> (required): Description of the image to generate.</li> | |
<li><strong>width</strong> (optional): Width of the generated image (default is 1024).</li> | |
<li><strong>height</strong> (optional): Height of the generated image (default is 1024).</li> | |
<li><strong>response_format</strong> (optional): Format of the response, can be "image" or "url".</li> | |
</ul> | |
<strong>Response:</strong> | |
<pre>Generated image or URL to the image.</pre> | |
<h2>5. POST /generate/image</h2> | |
<p>Generates an image based on a prompt passed in the body of the request.</p> | |
<strong>URL:</strong> | |
<pre>POST /generate/image?response_format=<code>url</code> (default)</pre> | |
<strong>Headers:</strong> | |
<ul> | |
<li><strong>Content-Type</strong>: application/json</li> | |
</ul> | |
<strong>Body:</strong> | |
<pre>{ | |
"prompt": "A large hamster" | |
}</pre> | |
<strong>Response:</strong> | |
<pre>{ "imageUrl": "https://example.com/generated_image.jpg" }</pre> | |
<h2>6. Serving Static Media Files</h2> | |
<p>All generated media (audio and images) can be accessed via:</p> | |
<strong>URL:</strong> | |
<pre>GET /media/<code>filename</code></pre> | |
<h2>Notes</h2> | |
<ul> | |
<li>Ensure that your API key is provided when required.</li> | |
<li>Audio and image generation requires a valid script payload or image prompt respectively.</li> | |
<li>The system uses OpenAI for TTS, and appropriate API keys need to be set in the environment variables.</li> | |
</ul> | |
</body> | |
</html> | |