> ## Documentation Index
> Fetch the complete documentation index at: https://docs.zeroruntime.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Text

> Text input and output: chatbots, text-driven agents, and transforming text in the pipeline.

The pipeline isn't limited to voice. You can feed it **text** and have it reply with text or
speech, which is useful for chat widgets, omnichannel agents that share one brain across voice
and chat, and for testing an agent from the terminal.

<CardGroup cols={2}>
  <Card title="Chat" icon="message" href="/build/modalities/text/chat">
    Send text in and receive text or voice out.
  </Card>

  <Card title="Transformation" icon="wand-magic-sparkles" href="/build/modalities/text/transformation">
    Rewrite the text stream before TTS: pronunciation, filtering, normalization.
  </Card>
</CardGroup>

## Text-capable pipelines

Drop the STT and/or TTS stages to run text in or out:

| Pipeline              | Behavior                            |
| :-------------------- | :---------------------------------- |
| `llm` only            | Text in, text out (a pure chatbot). |
| `llm` + `tts`         | Text in, voice out.                 |
| `stt` + `llm`         | Voice in, text out.                 |
| `stt` + `llm` + `tts` | The full voice loop.                |

See [Pipeline Modes](/build/configure-a-pipeline/modes) for how the pipeline auto-detects the
configuration from the components you pass.

## References

<Tabs>
  <Tab title="Python">
    #### SDK Reference

    <CardGroup cols={2}>
      <Card title="ChatContext" icon="book" href="/api-reference/python/core/chat-and-context">
        `ChatContext` in the Python API reference.
      </Card>

      <Card title="Agent" icon="book" href="/api-reference/python/core/agent-and-session">
        `Agent` in the Python API reference.
      </Card>
    </CardGroup>
  </Tab>
</Tabs>
