Skip to navigation

Manual STS Tracking

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

Prerequisite: Complete the Voice Agent Setup before implementing STS tracking.

manual_sts_tracking.py
from paygent_sdk import Client
from paygent_sdk.models import SpeechToSpeechUsageMetadata, StsInputSide, StsOutputSide, StsModalityUsage
from paygent_sdk.models import CustomerCreateOrGetRequest
paygent = Client("your-paygent-api-key")
session_id = f"voice_call_{int(time.time() * 1000)}"
customer_id = "customer-manual-123"
# 1. Ensure Customer exists
paygent.create_or_get_customer(CustomerCreateOrGetRequest(
name="Manual Customer",
external_id=customer_id
))
# 2. Initialize Voice Session
paygent.initialize_voice_session(session_id, "external-agent-id", customer_id)
# 3. Construct usage metadata manually
usage = SpeechToSpeechUsageMetadata(
input=StsInputSide(
audio=StsModalityUsage(minutes=1.2),
text=StsModalityUsage(tokens=150)
),
output=StsOutputSide(
audio=StsModalityUsage(minutes=2.5),
text=StsModalityUsage(tokens=400)
),
)
# 4. Track STS
paygent.track_voice_sts(
session_id=session_id,
usage_metadata=usage,
service_provider="custom-provider",
model="custom-model"
)
# 5. Finalize Session
paygent.set_voice_indicator(session_id, indicator_name, 3.0)