Burime · API i Zërit

Dokumentacioni i API-së së Zërit

Referencë të nivelit prodhues për ekzekutim zëri në kohë reale, ngjarje streaming, rrjedhën e ndërprerjes, header-et dhe semantikën e gabimeve.

Pikat fundore

POST /api/v1/voice/chat/meta
POST /api/v1/voice/chat
POST /api/v1/voice/interrupt/{session_id}
WS /api/v1/voice/ws

Headers të kërkuar

  • Authorization: Bearer [token] ose autentikim me çelës API
  • Content-Type: application/json
  • X-Scope-Type: personal | workspace
  • X-Workspace-ID: i kërkuar kur scope është workspace

Trupi i Kërkesës

{
  "message": "Book a follow-up call tomorrow",
  "session_id": "sess_123",
  "stream": true,
  "voice": {
    "input_format": "wav",
    "output_format": "wav",
    "sample_rate": 16000
  },
  "metadata": {
    "lang": "en",
    "client": "web"
  }
}

Trupi i Përgjigjes

{
  "success": true,
  "session_id": "sess_123",
  "content": "Sure — I scheduled a follow-up for tomorrow.",
  "provider": "openai",
  "usage": {
    "input_tokens": 210,
    "output_tokens": 96
  },
  "metadata": {
    "latency_ms": 842
  }
}

Ngjarje në streaming

  • session.started — seanca e zërit u inicializua
  • stt.partial — copë transkriptimi i pjesshëm
  • llm.delta — tokena teksti të modelit në mënyrë inkrementale
  • tts.chunk — copë audio e prodhuar
  • session.completed — përgjigje përfundimtare + përdorimi

Rrjedha e Ndërprerjes

Interrupt ndalon gjenerimin e zërit gjatë përpunimit për një seancë të caktuar dhe liron në mënyrë të sigurt rrugën aktive të ekzekutimit.

POST /api/v1/voice/interrupt/{session_id}

{
  "reason": "user_barge_in"
}

Formatet audio

  • Hyrja e rekomanduar: WAV (PCM16, mono, 16kHz).
  • Hyrjet që nuk janë WAV mund të konvertohen para STT.
  • Formati i daljes varet nga ofruesi dhe cilësimet e ekzekutimit.
  • Ngarkesat e mëdha mund të kthejnë 413.

Headers të metadata-s

X-Trace-IDX-Session-IDX-STT-Time-MSX-LLM-Time-MSX-TTS-Time-MS

Modelet e Gabimeve

400

Përmbajtja e kërkesës e pavlefshme ose fusha të munguar.

401

Autentikim i munguar ose i pasaktë.

403

Fusha/leja nuk lejohet.

409

Seanca po përpunohet tashmë (konflikt bllokimi).

413

Ngarkesa audio tepër e madhe.

415

Lloji i mediave/përmbajtjes i papërkrahur.

422

Dështim i validimit në trup ose në header-a.

429

Kufiri i kërkesave u tejkalua.

503

Ofruesi i shërbimit i paaksesueshëm ose mbingarkesë e sistemit.

Shembuj

curl -X POST "/api/v1/voice/chat" \
  -H "Authorization: Bearer <token>" \
  -H "Content-Type: application/json" \
  -H "X-Scope-Type: personal" \
  -d '{
    "message":"Summarize this call",
    "session_id":"sess_123",
    "stream":false
  }'