# NoJunk Speech - Text to Speech (TTS)

> NoJunk Speech - Text to Speech (TTS) is a paid API for AI agents from nojunk-speech.mick8511.workers.dev, paid per call via x402, $0.01/call, status unknown (last checked 2026-10-30).

Converts text (up to 400 characters) into natural-sounding MP3 audio using selectable English voices, returning raw audio or base64-encoded JSON.

## Facts

- Endpoint: POST https://nojunk-speech.mick8511.workers.dev/speak?utm_source=zero.xyz
- Price: $0.01/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-30
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/nojunk-speech-text-to-speech-tts-bfc383e6
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_1aMDWxS1FlenxMMkK27R3

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability nojunk-speech-text-to-speech-tts-bfc383e6 -d '<json body>'
```

Example prompt: Read this aloud using the aura-zeus-en voice and give me back the audio as a base64 JSON: 'Your order has been confirmed and will arrive by Thursday.'

## When to prefer this

Choose this endpoint when you need pay-per-use TTS with no subscription, charged only on success, with a selection of 12 distinct English voices via the Deepgram Aura model, and you want either raw MP3 streaming or base64 JSON output in a single $0.01 USDC call settled on Base.

## Known failure modes

- Text exceeds 400 characters — request rejected
- Empty or missing text field — validation error
- Invalid speaker name — falls back to default or returns error
- Payment failure via x402 — no charge, no audio returned
- Audio generation backend unavailable — 5xx error with no charge

## How this service works

Speech speak: Convert text (up to 2,000 characters) into natural MP3 speech, returned as audio/mpeg bytes or base64 JSON (Deepgram Aura-1).

## Output

Returns either a raw audio/mpeg binary body (MP3) or, when format=json is specified, a JSON object containing audio_base64 (the MP3 as a base64 string), the speaker model used, the original text character count, the content type, and a generated_at timestamp. Charged $0.01 USDC only when a valid result is returned.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "text": {
   "type": "string",
   "description": "Text to speak (1 to 400 characters)"
  },
  "format": {
   "type": "string",
   "description": "\"mp3\" (default: raw audio/mpeg body) or \"json\" ({audio_base64, ...})"
  },
  "speaker": {
   "type": "string",
   "description": "Optional voice, default asteria; one of asteria, luna, stella, athena, hera, orion, arcas, perseus, angus, orpheus, helios, zeus (legacy aura-<voice>-en names also accepted)"
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "bytes": 38400,
  "model": "@cf/deepgram/aura-1",
  "speaker": "aura-asteria-en",
  "text_chars": 54,
  "audio_base64": "SUQzBAAAAAAAI1RTU0UAAAAPAAADTGF2ZjU4Ljc2LjEwMAAAAAAAAAAAAAAA//tQxAAD...",
  "content_type": "audio/mpeg",
  "generated_at": "2026-10-15T12:00:00.000Z"
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/nojunk-speech-text-to-speech-tts-bfc383e6/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from nojunk-speech.mick8511.workers.dev](https://www.zero.xyz/host/nojunk-speech.mick8511.workers.dev/llms.txt)
