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

import typing

import typing_extensions
from .speak_v2speech_metadata_controls_applied import SpeakV2SpeechMetadataControlsAppliedParams


class SpeakV2SpeechMetadataParams(typing_extensions.TypedDict):
    type: typing.Literal["SpeechMetadata"]
    """
    Message type identifier
    """

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

    audio_duration_ms: int
    """
    Total 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: SpeakV2SpeechMetadataControlsAppliedParams
    """
    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`.
    """
