Skip to navigation

Telephony: SignalWire

Use Smallest AI's Lightning TTS as a native voice engine in SignalWire's SWML AI agents.
View as Markdown

Smallest AI is available natively inside SignalWire as one of its built-in text-to-speech engines. Unlike a custom telephony bridge, you don’t need to run your own server or stream audio manually — you select a Smallest AI voice directly in your SWML script, and SignalWire’s AI Agent handles the rest.

Prerequisites

Before you begin, ensure you have the following:

  • A SignalWire Space with credit added.
  • A phone number purchased in your Space to assign to your AI agent.

Setup Steps

1. Create a Resource and SWML Script

  1. From the SignalWire Dashboard, open the Resources tab and add a new Resource.
  2. Create a SWML Script resource, which defines your AI agent’s behavior.

2. Select a Smallest AI voice

In your SWML script’s ai.languages section, set the voice field to a Smallest AI voice string instead of the default engine:

version: 1.0.0
sections:
main:
- ai:
prompt:
text: "You're Amelia, a premium voice from Smallest AI's Waves Lightning v3.1 Pro TTS engine!"
languages:
- name: English
code: en-US
voice: smallest.amelia:lightning_v3.1_pro

Voice strings follow the smallest.<voiceId>:<model> format. The model can also be set separately via the model field on the languages entry instead of in the voice string.

The Pro voice catalog is separate from the standard lightning_v3.1 catalog — pairing a Pro voice ID (like amelia) with lightning_v3.1, or a standard voice ID (like sophia) with lightning_v3.1_pro, can produce wrong or hallucinated audio. Match the voice ID to the model it was listed under in Supported models.

3. Assign a phone number

In the Phone Numbers section of your Space, assign your purchased number to the SWML script you created.

4. Test

Call the assigned number to hear your agent respond using the Smallest AI voice.

Supported models

ModelDetails
lightning_v3.1Default. The standard pool: 217 voices across 12 trained languages (20 accepted language codes plus auto routing), ~200 ms time-to-first-byte, and instant voice cloning from 5–15 seconds of audio. Pick this for the widest voice and language selection.
lightning_v3.1_proA premium pool on dedicated capacity with the same latency and concurrency as lightning_v3.1, but a separate, smaller curated catalog of American, British, and Indian-accent voices that scores higher on naturalness and expressiveness benchmarks. Pick this when voice quality is the differentiator (e.g. the caller hears your brand).

Each model has its own voice catalog — a voice ID listed under one model isn’t guaranteed to work with the other. See the model cards above for the full voice lists.

Supported languages

Smallest AI voices on SignalWire support English, Spanish, Hindi, Bengali, Gujarati, Kannada, Malayalam, Marathi, Odia, Punjabi, Tamil, and Telugu.

Only voices from SignalWire’s Smallest AI catalog resolve on the platform — custom or cloned voices created directly on Smallest AI are not available through SignalWire. See SignalWire’s Smallest AI TTS reference for the full, up-to-date voice catalog.


Notes

  • No bridging server required: This is a native SignalWire integration, so there’s no FastAPI server or ngrok tunnel to manage, unlike bringing your own TTS engine over a raw media stream.
  • Case insensitivity: Voice ID strings are case-insensitive (e.g. smallest.Sophia and smallest.sophia are equivalent).
  • Catalog updates: SignalWire periodically expands its supported voice catalog; check their TTS documentation for the latest list.

Troubleshooting

If your agent doesn’t respond with the expected voice, ensure the following:

  • Voice string format: Double-check the smallest.<voiceId>:<model> format and that the voice name matches one in SignalWire’s catalog.
  • Model name: Confirm the model suffix is a supported value (lightning_v3.1 or lightning_v3.1_pro).
  • Phone number assignment: Confirm the number you’re calling is assigned to the correct SWML script.

If issues persist, reach out to the Smallest AI support team or SignalWire support.


This setup lets you use Smallest AI’s Waves Lightning TTS engine natively within SignalWire’s AI Agent, with no custom integration code required.