# This file was auto-generated by Fern from our API Definition.

import typing_extensions
from .speak_v2speech_interrupted_metadata_controls_applied import SpeakV2SpeechInterruptedMetadataControlsAppliedParams


class SpeakV2SpeechInterruptedMetadataParams(typing_extensions.TypedDict):
    """
    Billing and timing for a single turn.
    """

    speech_id: str
    """
    Server-assigned turn identifier
    """

    audio_duration_ms: int
    """
    Audio duration produced for this turn, in milliseconds
    """

    input_character_count: int
    """
    Raw input character count for this turn, before text normalization
    """

    billable_character_count: int
    """
    Billable character count for this turn — the input character count with stripped control characters removed. Always less than or equal to `input_character_count`.
    """

    controls_applied: SpeakV2SpeechInterruptedMetadataControlsAppliedParams
    """
    Counts of the inline controls the server acted on during the turn. Inline pause and pronunciation controls are not applied at launch — support is coming soon — so every count is currently `0`.
    """
