> ## Documentation Index > Fetch the complete documentation index at: https://openrouter.ai/docs/llms.txt > Use this file to discover all available pages before exploring further. # SpeechInput Text to synthesize, or a list of turns for multi-speaker input. Each turn has its own text, voice, and instructions. Multi-speaker input is supported by Gemini TTS models and by Fish Audio models other than S1. ## Supported Types ### ```go theme={null} speechInput := components.CreateSpeechInputStr(string{/* values here */}) ``` ### ```go theme={null} speechInput := components.CreateSpeechInputArrayOfSpeechTurn([]components.SpeechTurn{/* values here */}) ``` ## Union Discrimination Use the `Type` field to determine which variant is active, then access the corresponding field: ```go theme={null} switch speechInput.Type { case components.SpeechInputTypeStr: // speechInput.Str is populated case components.SpeechInputTypeArrayOfSpeechTurn: // speechInput.ArrayOfSpeechTurn is populated } ```