canonical: https://jentic.com/apis/genny.lovo.ai/genny-lovo

# Genny Lovo Genny by LOVO Text-to-Speech API

Jentic publishes the only available OpenAPI specification for Genny by LOVO Text-to-Speech API, keeping it validated and agent-ready. Genny by LOVO is a text-to-speech service offering both synchronous and asynchronous generation against a catalogue of voice speakers across many languages and styles. The API exposes speaker discovery, sync and async TTS jobs, job-status polling, and team billing context. Generated audio URLs expire 24 hours after creation, so consumers should download or rehost output before the link expires.

## For AI agents

Generate text-to-speech audio with LOVO voice speakers using sync or async jobs, list available voices, and check team billing status.

## Scope

Does not handle speech-to-text transcription, voice cloning, or live audio streaming - use for text-to-speech generation with catalogue speakers only.

## Capabilities

- List the available LOVO speakers with their language, gender, and style metadata
- Generate synchronous TTS audio for short text under tight latency constraints
- Submit asynchronous TTS jobs for longer scripts and poll for completion
- Retrieve a finished TTS job's audio URL by job ID before the 24-hour expiry
- Check team billing status to confirm character allowance and plan limits

## Use cases

### Voiceover Production for Video

Video producers and creator-tool platforms need voiceovers across many languages and styles without booking studio time. Genny offers a catalogue of LOVO speakers and async TTS jobs sized for full scripts; producers submit a script via `/api/v1/tts`, poll `/api/v1/tts/{jobId}` for completion, and pull the audio URL into their editing pipeline within minutes.

Example prompt: List speakers via `/api/v1/speakers`, pick a US English narrator, submit a 1500-word script via `/api/v1/tts`, then poll `/api/v1/tts/{jobId}` every 5 seconds for the audio URL

### Real-Time IVR Prompts

IVR and voicebot platforms regenerate menu prompts and confirmation messages on demand. The `/api/v1/tts/sync` endpoint returns audio for short text inputs in a single call, so an agent can generate 'Press 1 for billing' style prompts at deploy time or render dynamic confirmations like order numbers during a live call.

Example prompt: Call `/api/v1/tts/sync` with the dynamic phrase 'Your order 48291 ships tomorrow' and return the audio bytes to the IVR runtime

### Localised Onboarding Audio

SaaS products onboarding non-English users localise welcome and tutorial audio across many target languages. By iterating `/api/v1/speakers` to pick a regional voice and submitting scripts via `/api/v1/tts`, teams ship audio for ten or more locales at a fraction of the cost of voice talent - and refresh it whenever the script changes.

Example prompt: For each target locale, find a matching speaker via `/api/v1/speakers` and submit the localized welcome script via `/api/v1/tts`

### AI Agent Audio Asset Builder

An AI agent assembling a podcast, audiobook, or training-course audio track can drive Genny end-to-end. Through Jentic the agent searches for 'generate text-to-speech', loads the relevant TTS schema, and executes the call. The X-API-KEY stays in your Jentic One instance and the agent simply receives the finished audio URL.

Example prompt: Search Jentic for 'generate text-to-speech', list speakers, choose a narration voice, submit the chapter script via `/api/v1/tts`, and return the audio URL once the job completes

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| GET | `/api/v1/teams/status` | Retrieve team billing status and plan information |
| GET | `/api/v1/speakers` | List available LOVO speakers |
| POST | `/api/v1/tts/sync` | Generate TTS audio synchronously for short inputs |
| POST | `/api/v1/tts` | Submit an asynchronous TTS job for longer scripts |
| GET | `/api/v1/tts/{jobId}` | Retrieve the status and audio URL for a TTS job |

## Key resources

- **Speakers** — List the available LOVO voice speakers with language and style metadata
- **TTS Jobs** — Submit synchronous and asynchronous text-to-speech jobs and poll for completion
- **Team Billing** — Retrieve team billing status and character allowance

## Why Jentic

- **Setup:** Wiring the Genny by LOVO Text-to-Speech API by hand means setting up its X-API-KEY header, choosing between the synchronous and job-based synthesis endpoints, and polling for job status yourself. Through Jentic you install once, import Genny from the API Directory, store the key once, and your agent calls it.
- **Permission scoping:** Genny's synthesis endpoints like `/api/v1/tts` and `/api/v1/tts/sync` take the text and speaker in the request body rather than the URL path, so scope the agent to the operations it needs, such as listing speakers and synthesizing speech. You choose the operations it may call, so nothing beyond synthesis and status checks runs unless you add it.
- **Credential handling:** Your LOVO X-API-KEY is stored once, encrypted, by your own Jentic One instance and injected at execution time. It never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'generate text-to-speech with a chosen voice', and Jentic returns the matching Genny operation with its input schema for speaker selection, text, and output format, so the agent calls the right endpoint without parsing the reference docs.

## Related APIs

- **ElevenLabs** — Realistic AI voice generation with voice cloning and emotional control
- **Deepgram** — Speech-to-text and audio intelligence - pair with LOVO for full voice-in / voice-out flows
- **OpenAI** — Generate the script with GPT, then synthesise the audio with LOVO

## FAQ

### Why is there no official OpenAPI spec for Genny by LOVO Text-to-Speech API?

LOVO does not publish an OpenAPI specification. Jentic generates and maintains this spec so that AI agents and developers can call Genny by LOVO Text-to-Speech API via structured tooling. It is validated against the live API and kept up to date. Get started with Jentic One, the self-hosted execution layer.

### What authentication does the Genny by LOVO TTS API use?

Genny uses an API key sent in the X-API-KEY header on every request. Through Jentic the key is stored encrypted in the vault and attached to outgoing calls at execution time, so an agent calling `/api/v1/tts` never handles the raw secret.

### When should I use sync vs async TTS endpoints?

Use POST `/api/v1/tts/sync` for short inputs where you need the audio bytes back in a single call (IVR prompts, dynamic snippets). Use POST `/api/v1/tts` plus polling on `/api/v1/tts/{jobId}` for full scripts, narration, or any input long enough that a single-request timeout is a risk.

### How long are the audio URLs valid?

Audio URLs returned by the TTS endpoints expire 24 hours after the job completes. Download or rehost the file before the expiry - re-fetching `/api/v1/tts/{jobId}` after expiry will not return a usable link.

### What are the rate limits for the Genny TTS API?

The OpenAPI spec does not declare explicit per-second rate limits. Usage is bounded by the team's character allowance, which you can inspect via GET `/api/v1/teams/status` before submitting a large batch.

### How do I generate a voiceover from a script through Jentic?

Run pip install jentic, search Jentic for 'generate text-to-speech', list speakers via `/api/v1/speakers`, then submit the script via `/api/v1/tts` and poll `/api/v1/tts/{jobId}` for the finished audio URL. Jentic injects the X-API-KEY for you.

### Can I limit what my agent is allowed to do with the Genny by LOVO Text-to-Speech API?

Yes. Because you run Jentic One yourself, your own rules decide which Genny operations the agent may call and which credentials it may use. You can allow it to list speakers via GET `/api/v1/speakers` and synthesize speech via POST `/api/v1/tts/sync` or POST `/api/v1/tts` while withholding others, and since the text and speaker travel in the request body rather than the URL path, only the operations you enable can run. Nothing beyond the synthesis and job-status checks you permit, such as GET `/api/v1/tts/{jobId}`, executes unless you add it.
