J1

Verifying your access...

Generate audio

Paste text or drop multiple .txt files

0

Results (0)

Generated audio files — download before they expire

FILE NAME
VOICE
STATUS
PLAYER
ACTIONS

Voice Library (0)

Select voice for generation

Loading voices...

Generation History

Audio files are automatically deleted after 48 hours

FILE NAME
VOICE
STATUS
PLAYER
EXPIRY
REST API

Integrate J1 TTS into any app via HTTP. All endpoints require a Bearer token.

YOUR API KEYS
(no active keys)
USAGE TODAY (API)
0 / 50
BASE URL
api.j1tts.com
Header: Authorization: Bearer <key>
ENDPOINTS
POST
/v1/tts
Submit TTS job → {id, status}
GET
/v1/tts/{id}
Poll status → {status, download_url}
GET
/v1/tts/{id}/download
Download MP3 (when completed)
GET
/v1/voices
List global voices with voice_id
GET
/v1/my-voices
List your imported voices
GET
/v1/usage
Today's usage & daily limit
POST
/v1/voices/import
Import voice(s) by ID (comma-separated, up to 100)
voice_id tip: Use /v1/voices or /v1/my-voices to get the voice_id field. In the voice library, hover a voice and click ⎘ to copy it directly.
# 1. List voices to get voice_id
curl https://api.j1tts.com/v1/voices \
  -H "Authorization: Bearer sk-j1tts-YOUR_KEY"

# 2. Submit TTS job
curl -X POST https://api.j1tts.com/v1/tts \
  -H "Authorization: Bearer sk-j1tts-YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"text": "Hello world", "voice_id": "VOICE_ID", "file_name": "output.mp3"}'
# Response: {"id": "abc123", "status": "processing"}

# 3. Poll until completed
curl https://api.j1tts.com/v1/tts/abc123 \
  -H "Authorization: Bearer sk-j1tts-YOUR_KEY"
# Response: {"id":"abc123","status":"completed","download_url":"/v1/tts/abc123/download"}

# 4. Download MP3
curl -L https://api.j1tts.com/v1/tts/abc123/download \
  -H "Authorization: Bearer sk-j1tts-YOUR_KEY" \
  -o output.mp3

# 5. Check usage
curl https://api.j1tts.com/v1/usage \
  -H "Authorization: Bearer sk-j1tts-YOUR_KEY"

# 6. List YOUR imported voices
curl https://api.j1tts.com/v1/my-voices \
  -H "Authorization: Bearer sk-j1tts-YOUR_KEY"

# 7. Import voice(s) by ElevenLabs ID (comma-separated for batch)
curl -X POST https://api.j1tts.com/v1/voices/import \
  -H "Authorization: Bearer sk-j1tts-YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"voice_ids": "id1,id2,id3"}'
MCP — AI Tool Integration

Connect J1 TTS to Claude, Cursor, Windsurf, or any MCP-compatible AI. The AI generates speech using your voices — no code required on your side.

MCP ENDPOINT
https://api.j1tts.com/mcp
AVAILABLE TOOLS
list_voices no params required
Returns all global + your imported voices with voice_id, name, tags, and languages. Use this first to pick a voice.
generate_speech
Submits a TTS job. Returns job_id immediately.
textstring — text to synthesize (required)
voice_idstring — voice_id from list_voices (required)
file_namestring — output filename (optional, .mp3)
check_status
Polls a job. Returns status + download URL when done.
job_idstring — id from generate_speech (required)
import_voice
Importa uma ou mais vozes do ElevenLabs (IDs separados por vírgula, até 100). Depois aparece no list_voices e pode ser usada no generate_speech.
voice_idstring — ElevenLabs voice ID(s), comma-separated for batch (required)
namestring — nome personalizado (opcional)
CLAUDE DESKTOP / CURSOR / WINDSURF CONFIG
{
  "mcpServers": {
    "j1-tts": {
      "type": "http",
      "url": "https://api.j1tts.com/mcp",
      "headers": {
        "Authorization": "Bearer sk-j1tts-YOUR_KEY"
      }
    }
  }
}

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%/Claude/claude_desktop_config.json

PROMPT FOR AI AUTOMATION
Use the j1-tts MCP tool to generate speech.
1. Call list_voices to see available voices (returns voice_id, name, tags, languages).
2. Pick a suitable voice_id (use the ID, not the name).
3. Call generate_speech with the text and voice_id.
4. Call check_status with the returned job_id until status = "completed".
5. The download_url in the response is the MP3 file.

To import voices from ElevenLabs:
- Call import_voice with one or more ElevenLabs voice_ids (comma-separated for batch, up to 100).
- After import they will appear in list_voices.