Manual STS Tracking

Prerequisite

If you haven't set up a voice agent in the Paygent dashboard yet, please follow our setup guide first. You'll need an Agent ID to start tracking.

For custom providers or fine-grained control, use track_voice_sts with a manually constructed SpeechToSpeechUsageMetadata object.

manual_sts_tracking.py
1from paygent_sdk import Client
2from paygent_sdk.models import SpeechToSpeechUsageMetadata, StsInputSide, StsOutputSide, StsModalityUsage
3
4from paygent_sdk.models import CustomerCreateOrGetRequest
5
6paygent = Client("your-paygent-api-key")
7session_id = f"voice_call_{int(time.time() * 1000)}"
8customer_id = "customer-manual-123"
9
10# 1. Ensure Customer exists
11paygent.create_or_get_customer(CustomerCreateOrGetRequest(
12    name="Manual Customer",
13    external_id=customer_id
14))
15
16# 2. Initialize Voice Session
17paygent.initialize_voice_session(session_id, "external-agent-id", customer_id)
18
19# 2. Construct usage metadata manually
20usage = SpeechToSpeechUsageMetadata(
21    input=StsInputSide(
22        audio=StsModalityUsage(minutes=1.2),
23        text=StsModalityUsage(tokens=150)
24    ),
25    output=StsOutputSide(
26        audio=StsModalityUsage(minutes=2.5),
27        text=StsModalityUsage(tokens=400)
28    ),
29
30)
31
32# 3. Track STS
33paygent.track_voice_sts(
34    session_id=session_id,
35    usage_metadata=usage,
36    service_provider="custom-provider",
37    model="custom-model"
38)
39
40# 4. Finalize Session
41paygent.set_voice_indicator(session_id,indicator_name, 3.0)

Was this page helpful?

Need help? Contact us at support@withpaygent.com