Codex.Voice.Config (Codex SDK v0.7.2)

Copy Markdown View Source

Configuration for voice pipelines.

This module defines the configuration structures for text-to-speech (TTS) and speech-to-text (STT) models, as well as the overall pipeline configuration.

Example

config = %Codex.Voice.Config{
  workflow_name: "Customer Support Voice Agent",
  tts_settings: %Codex.Voice.Config.TTSSettings{
    voice: :nova,
    speed: 1.0
  },
  stt_settings: %Codex.Voice.Config.STTSettings{
    language: "en"
  }
}

Voices

OpenAI provides the following TTS voices:

  • :alloy - Neutral and balanced
  • :ash - Warm and conversational
  • :coral - Clear and articulate
  • :echo - Soft and thoughtful
  • :fable - Expressive and dramatic
  • :onyx - Deep and authoritative
  • :nova - Friendly and upbeat
  • :sage - Calm and measured
  • :shimmer - Bright and energetic

Summary

Types

t()

Available TTS voice options.

Functions

Create a new voice pipeline configuration.

Types

t()

@type t() :: %Codex.Voice.Config{
  group_id: String.t() | nil,
  model_provider: module() | nil,
  stt_settings: Codex.Voice.Config.STTSettings.t() | nil,
  trace_include_sensitive_audio_data: boolean(),
  trace_include_sensitive_data: boolean(),
  trace_metadata: map() | nil,
  tracing_disabled: boolean(),
  tts_settings: Codex.Voice.Config.TTSSettings.t() | nil,
  workflow_name: String.t() | nil
}

voice()

@type voice() ::
  :alloy | :ash | :coral | :echo | :fable | :onyx | :nova | :sage | :shimmer

Available TTS voice options.

Functions

new(opts \\ [])

@spec new(keyword()) :: t()

Create a new voice pipeline configuration.

Options

  • :model_provider - The voice model provider module to use
  • :tracing_disabled - Whether to disable tracing (default: false)
  • :trace_include_sensitive_data - Include sensitive data in traces (default: true)
  • :trace_include_sensitive_audio_data - Include audio data in traces (default: false)
  • :workflow_name - Name for tracing purposes
  • :group_id - Grouping ID to link traces from the same conversation
  • :trace_metadata - Additional metadata to include with traces
  • :stt_settings - STT settings struct or keyword list
  • :tts_settings - TTS settings struct or keyword list

Examples

iex> config = Codex.Voice.Config.new(workflow_name: "Support Agent")
iex> config.workflow_name
"Support Agent"