Base URL https://api.echonova.ai

Developers

Developer API overview

What the Developer API does, the fifteen endpoints it exposes, and how a request is authenticated, answered and billed.

The Developer API lets your own systems call EchoNova's speech services over HTTPS. It exposes three services: Text to Speech, which turns text into audio spoken by a voice from the voice library, Speech to Text, which transcribes an audio file, and Sound Cleaning, which cleans a short recording. You call it with an API key created in the portal, and every call is billed in credits against your workspace.

Endpoints

The API has fifteen endpoints, all under /v1. Each one has a reference page with the request fields, the response shape and code samples.

Method Path What it does Reference
POST /v1/text-to-speech Start a Text to Speech job and return its id Generate speech from text
POST /v1/text-to-speech/sync Generate speech and return the audio URL in one call Generate speech synchronously
GET /v1/text-to-speech/voices List the voices you can use List available voices
GET /v1/text-to-speech/jobs List the API jobs of the workspace for Text to Speech List Text to Speech jobs
GET /v1/text-to-speech/jobs/{jobId} Get one Text to Speech job Get TTS job details
POST /v1/speech-to-text Upload an audio file, start a transcription job and return its id Transcribe audio file
POST /v1/speech-to-text/sync Upload an audio file and return the transcription in one call Transcribe audio synchronously
GET /v1/speech-to-text/jobs List the API jobs of the workspace for Speech to Text List Speech to Text jobs
GET /v1/speech-to-text/jobs/{jobId} Get one Speech to Text job Get STT job details
POST /v1/sound-cleaning Upload audio of up to 10 minutes and return the cleaned file link Clean audio
GET /v1/sound-cleaning/jobs List the API jobs of the workspace for Sound Cleaning List sound cleaning jobs
GET /v1/sound-cleaning/jobs/{jobId} Get one Sound Cleaning job Get Sound Cleaning job details
DELETE /v1/text-to-speech/jobs/{jobId} Delete one Text to Speech job and its stored file Delete a TTS job
DELETE /v1/speech-to-text/jobs/{jobId} Delete one Speech to Text job and its stored file Delete an STT job
DELETE /v1/sound-cleaning/jobs/{jobId} Delete one Sound Cleaning job and its stored file Delete a Sound Cleaning job

Any API key in the workspace with access to that product can list, get and delete its jobs, even jobs made by a key that was later deleted. A key without access to the product gets 403. A job of another workspace, or one made in the portal, answers 404. Only a completed or failed job can be deleted.

Base URL and authentication

Every request goes to one host, and the callout at the top of this page shows it; see Base URL. Every request carries your API key as a bearer token in the Authorization header; see Authentication.

Response shape

Every response, success or error, is one JSON object with the same four fields. A successful call returns HTTP 200, including POST calls.

{
  "success": true,
  "statusCode": 200,
  "errorMessage": null,
  "data": {}
}

On an error, success is false, data is null, statusCode matches the HTTP status and errorMessage holds a short string you can log.

Synchronous and asynchronous calls

Text to Speech and Speech to Text offer a synchronous endpoint and an asynchronous one. Sound Cleaning is synchronous only. The synchronous endpoint waits for the work to finish and returns the result in the response. The asynchronous endpoint returns at once with a jobId and a status; the job moves through pending and processing and ends as completed or failed, and you fetch the result from the job endpoint or receive it through a webhook. Synchronous and asynchronous calls explains how to choose between them.

Webhooks

Instead of polling a job, you can register an HTTPS endpoint in the portal under Developers on the Webhooks tab. EchoNova then sends a signed request for four events: job.completed and job.failed when a job ends, and spending.warning and spending.exhausted when a key approaches or reaches its credit limit. See Configure a webhook for setup and Verify a webhook signature for the check your endpoint must run.

FAQ

Which endpoint do I call first?

GET /v1/text-to-speech/voices. It needs only your key, charges nothing, and a 200 proves the key and the host are right.

Do POST calls return 201?

No. Every successful call, including POST, returns HTTP 200 with success set to true.

Can one key see another key's jobs?

Yes, inside one workspace. Any API key in the workspace with access to that product can list, get and delete its jobs, even jobs made by a key that was later deleted. A key without access to the product gets 403. Rate limits and credit limits stay per key.

Is the Developer API the same as the portal?

The same speech services. The portal adds Assets and agents, which are not in the API.

Read these next, in order: