PersonaPlex API Docs

Base URL: https://voice.beergram.net

1. Native Audio WebSocket

Route: GET /api/chat (websocket, binary protocol)

Required query params:

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"}'

OpenAPI

Swagger UI | openapi.json