Skip to main content
Learn how to build a natural realtime voice experience, ready for production use. Key concepts demonstrated:
  • Speech-to-text (STT) - for understanding speech inputs
  • LLM - for generating the agent text response
  • Text-to-speech (TTS) - for generating agent speech audio
Architecture
  • Backend: Inworld Agent Runtime + Express.js
  • Frontend: Vite + React
  • Communication: WebSocket

Prerequisites

Run the Template

Start the Server

  1. Clone the Voice Agent GitHub repo:
  2. Navigate to the server directory:
  3. Copy the .env-sample file to .env:
  4. Configure your .env file with required API keys:
    .env
    Get your Assembly.AI API key for speech-to-text functionality.
  5. Install dependencies:
  6. Start the server:
    The server will start on port 4000.

Start the Client

  1. Open a new terminal window.
  2. Navigate to the client directory:
  3. (Optional) Create a .env file to customize client behavior:
    .env
  4. Install dependencies:
  5. Start the client:
    The client will start on port 3000 (or the next available port if 3000 is in use) and should automatically open in your default browser.

Chat with Your Agent

  1. Configure the agent:
    • Enter the agent system prompt
    • Click “Create Agent”
  2. Start chatting:
    • Voice input: Click the microphone icon to unmute yourself, speak, then click again to mute
    • Text input: Type in the input field and press Enter to send
  3. Monitor performance:

Next steps

Explore templates

Explore more templates for building with the Runtime SDK.

Vibe Code Your App

Learn how to vibe code any workflow or agent