PersonaPlex API Docs
Base URL: https://voice.beergram.net
1. Native Audio WebSocket
Route: GET /api/chat (websocket, binary protocol)
Required query params:
text_prompt- system/persona prompt textvoice_prompt- one of model voice presets (for exampleNATF0.pt)
wss://voice.beergram.net/api/chat?text_prompt=You%20are%20helpful&voice_prompt=NATF0.pt
For easiest testing, use /studio.
2. n8n Voice Relay (True Binary WS Path)
Route: POST /v1/voice/relay
curl -s https://voice.beergram.net/v1/voice/relay \
-H 'content-type: application/json' \
-d '{
"voice_prompt":"NATF0.pt",
"text_prompt":"You are a helpful assistant.",
"audio_frames_base64":["<raw-opus-frame-b64>"],
"timeout_seconds":30
}' | jq
Use raw Opus frame bytes for audio_base64 or audio_frames_base64[] (not wav/mp3/webm/ogg containers).
3. Model Lifecycle
These endpoints let you free GPU memory and load only on demand:
curl -s https://voice.beergram.net/api/model/status | jq
curl -s https://voice.beergram.net/api/model/load -H 'content-type: application/json' -d '{"wait_ready":true}' | jq
curl -s https://voice.beergram.net/api/model/unload -H 'content-type: application/json' -d '{"force":false}' | jq
4. Realtime Resource Metrics
Route: GET /api/resources
curl -s https://voice.beergram.net/api/resources | jq
Returns GPU snapshot and container telemetry.
5. One-Click Benchmark API
Run benchmark: POST /api/benchmark/run
curl -s https://voice.beergram.net/api/benchmark/run \
-H 'content-type: application/json' \
-d '{"voice_prompt":"NATF0.pt","text_prompt":"You are helpful.","timeout_seconds":25}' | jq
Latest result: GET /api/benchmark/latest
6. Adapter Health
Route: GET /health
curl -s https://voice.beergram.net/health
7. Legacy Chat Endpoint (n8n)
Route: POST /v1/chat
curl -s https://voice.beergram.net/v1/chat \
-H 'content-type: application/json' \
-d '{"query":"hello"}'