canonical: https://jentic.com/apis/listnr.tech/listnr

# Listnr Tech Listnr Text-to-Speech API

Listnr is a text-to-speech API that converts written text or article URLs into natural-sounding speech across a multi-voice library. It supports synchronous and asynchronous text-to-speech jobs, word-level timestamp output for caption alignment, URL-based article conversion, and a job status endpoint for polling long-running async conversions. Useful for podcasting workflows, accessibility features, and content-to-audio pipelines that need flexible voice selection.

## For AI agents

Convert text or article URLs into speech audio with selectable voices, optional word-level timestamps, and async job submission for long-form content.

## Scope

Does not handle speech-to-text, voice cloning, or audio editing - use for text-to-speech and article-to-audio conversion only.

## Capabilities

- Convert text to speech synchronously via POST /convert-text with a chosen voice
- Submit long-form text-to-speech as an async job via POST /convert-text-async and poll via GET /job-status
- Generate speech with word-level timestamps for caption alignment via POST /convert-text-with-timestamps
- Convert any article URL into audio via POST /convert-url and POST /convert-url-async
- List available voices and languages via GET /available-voices
- Authenticate every request with an x-listnr-token header scoped to the account

## Use cases

### Article-to-Audio Conversion

Turn published articles into audio versions for readers who prefer to listen. POST /convert-url accepts a target article URL and returns an audio file in a chosen voice without requiring the caller to scrape or pre-process the page. Larger articles can be submitted via POST /convert-url-async for non-blocking processing, with status polling via GET /job-status.

Example prompt: POST /convert-url with url=https://blog.example.com/post-1 and voiceId=en-US-female-1, then download the returned audio.

### Long-Form TTS via Async Jobs

Submit long scripts (chapters, podcast episodes, training content) for TTS without blocking on a single HTTP request. POST /convert-text-async returns a job id immediately, and GET /job-status returns progress and the final audio URL when complete. Best for content teams generating dozens of minutes of audio per submission.

Example prompt: POST /convert-text-async with the chapter text and voiceId, then poll GET /job-status until the job reports completed.

### Captioned Audio with Timestamps

Generate audio with synchronised word-level timestamps so a downstream player can render captions or karaoke-style highlighting. POST /convert-text-with-timestamps returns both the audio asset and a timestamp track aligned to each word in the source text. Useful for accessibility-driven media products and language-learning apps.

Example prompt: POST /convert-text-with-timestamps with the script text and a voiceId, then merge the returned timestamps with the audio for a captioned player.

### AI Agent Voice Generation

Let an AI agent narrate generated content (summaries, briefings, replies) on demand. Through Jentic, the agent searches by intent, gets the right /convert-text or /convert-url endpoint with its schema, and executes while the x-listnr-token stays in your Jentic One instance. Audio can be returned inline in chat or attached to a generated document.

Example prompt: Search Jentic for 'convert text to speech', load the schema, and execute POST /convert-text with the agent's generated summary text.

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| POST | `/convert-text` | Synchronous text-to-speech conversion |
| POST | `/convert-text-async` | Async text-to-speech submission |
| POST | `/convert-text-with-timestamps` | TTS with word-level timestamps |
| POST | `/convert-url` | Convert article URL to audio |
| POST | `/convert-url-async` | Async article URL to audio |
| GET | `/available-voices` | List available TTS voices |
| GET | `/job-status` | Check async job status |

## Key resources

- **TTS** — Synchronous and timestamp-enriched text-to-speech via POST /convert-text and POST /convert-text-with-timestamps
- **Jobs** — Async TTS submission and polling via POST /convert-text-async, POST /convert-url-async, and GET /job-status
- **Voices** — List available TTS voices and languages via GET /available-voices

## Why Jentic

- **Setup:** Wiring the Listnr Text-to-Speech API by hand means setting up its x-listnr-token header auth, tracking async job status for longer conversions, and handling retries yourself against bff.listnr.tech. Through Jentic you install once, import the Listnr Text-to-Speech API from the API Directory, store the token once, and your agent calls it.
- **Permission scoping:** Listnr takes the text or URL in the request body rather than a resource id in the URL path, so limit the agent to the operations it needs, such as POST /convert-text or POST /convert-url. You choose the operations it may call, so an agent can be confined to synchronous conversion without the async or timestamped variants.
- **Credential handling:** Your Listnr x-listnr-token is stored once, encrypted, by your own Jentic One instance and injected as the request header at execution time. It never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'convert an article URL to audio' or 'list available voices', and Jentic returns the matching Listnr operation with its input schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **ElevenLabs API** — TTS provider with voice cloning and a large library of expressive voices
- **Murf AI API** — TTS for studio-style voiceovers with timing and pronunciation controls
- **Deepgram API** — Speech-to-text that closes the loop on audio comprehension after Listnr generation

## FAQ

### What authentication does the Listnr TTS API use?

The Listnr API uses an x-listnr-token header on every request. Through Jentic, the token is stored in your Jentic One instance and injected at execution time, so agents never see the raw token.

### Can I convert article URLs into audio with the Listnr API?

Yes. POST /convert-url accepts a target article URL and a voiceId, returning audio without needing a manual scrape. POST /convert-url-async runs the same conversion as a job for longer articles, returning a job id you can poll via GET /job-status.

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

Rate limits are enforced per token and vary by plan, with stricter limits on synchronous /convert-text calls than on async submissions. For long-form jobs, prefer /convert-text-async or /convert-url-async to avoid blocking on a single request.

### How do I generate speech with word-level timestamps through Jentic?

Run pip install jentic, then search for 'convert text to speech with timestamps'. Jentic returns POST /convert-text-with-timestamps. Load the schema, supply text and voiceId, and execute. The response includes the audio asset and a per-word timestamp track.

### How do I find available voices for the Listnr API?

Call GET /available-voices to retrieve the current voice library with languages and voiceId values. Cache the response and pass the chosen voiceId into /convert-text or /convert-url to control the voice on every conversion.

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

Yes. Because Jentic One is self-hosted, you set the rules that decide which Listnr operations and credentials your agent may use, and Listnr passes the text or URL in the request body rather than a resource id in the path, so you scope access by operation. You can allow only the calls the agent needs, such as POST /convert-text or POST /convert-url, and confine it to synchronous conversion without the async or timestamped variants like POST /convert-text-async, POST /convert-text-with-timestamps, or GET /job-status. Your x-listnr-token is stored by your own instance and injected at execution time, so the agent never sees the raw credential.
