mirror of
https://github.com/advplyr/audiobookshelf.git
synced 2026-07-07 09:51:37 +00:00
1.8 KiB
1.8 KiB
TTS Integration Manual Testing Guide
Prerequisites
- A running audiobookshelf instance (dev mode)
- A CAMB AI API key (from https://studio.camb.ai)
- At least one EPUB file imported into a library
Start Dev Server
npm run dev
Server runs on port 3333 by default.
Get Auth Token
Either extract from the UI (Settings > Users > API token) or login via API:
curl -X POST http://localhost:3333/login \
-H "Content-Type: application/json" \
-d '{"username": "root", "password": "YOUR_PASSWORD"}'
Save the token from the response:
export TOKEN="your-token-here"
export CAMB_API_KEY="your-camb-api-key"
API Endpoints
GET /api/tts/voices
List available CAMB AI voices.
curl -s "http://localhost:3333/api/tts/voices?apiKey=$CAMB_API_KEY" \
-H "Authorization: Bearer $TOKEN" | jq .
POST /api/tts/synthesize
Synthesize an ebook to audio. Find your libraryItemId from the UI URL or the library items API.
curl -s -X POST http://localhost:3333/api/tts/synthesize \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"apiKey": "'$CAMB_API_KEY'",
"libraryItemId": "YOUR_LIBRARY_ITEM_ID",
"voiceId": "1",
"language": "en-us",
"model": "mars-flash"
}' | jq .
Error Cases to Verify
| Test Case | Expected |
|---|---|
No Authorization header |
401 Unauthorized |
| Non-admin user | 403 Forbidden |
Missing apiKey in body/query |
400 API key is required |
Missing libraryItemId |
400 libraryItemId is required |
Missing voiceId |
400 voiceId is required |
| Non-existent library item ID | 404 Library item not found |
| Library item without EPUB | 400 No EPUB file found for this library item |
| Invalid CAMB AI API key | 500 with error from CAMB API |