Skip to main content
OpenClaw is an open-source, self-hosted AI assistant that connects to messaging apps (Telegram, WhatsApp, Discord, Slack, etc.) and performs autonomous tasks. Connect it to IoTeX AI Gateway to use models like Gemini 2.5 Flash Lite for chat and Whisper for voice message transcription.

Quick Setup

Run the setup script to add IoTeX AI Gateway as an LLM provider and configure voice message transcription. Get your API key from the Gateway Console first. Non-interactive — uses defaults (Gemini 2.5 Flash Lite + Whisper Large V3 Turbo):
Interactive — prompts you to pick LLM and audio models:
Full control — specify model, audio model, and set as default:
The script configures:
  • LLM provider: IoTeX with your chosen model (e.g. iotex/gemini-2.5-flash-lite)
  • Audio transcription: Whisper model for automatic voice message transcription
  • Auth profile: API key stored securely for both LLM and audio
  • Model alias: Short name for easy switching in chat (e.g. /model gemini-lite)

Manual Setup

1. Add IoTeX as a Provider

Run openclaw config edit or edit ~/.openclaw/openclaw.json directly. Add the IoTeX provider under models.providers:
Replace sk-xxxxxxxxxx with your API key from the Gateway Console.
You can also use openclaw config set to set individual values without editing the full file:

2. Set as Default or Fallback Model

To use IoTeX as your primary model:
Or as a fallback alongside another provider:

3. Add a Model Alias (Optional)

Give the model a short name for easy switching in chat:
Now you can switch models in Telegram/WhatsApp with /model gemini-lite.

4. Verify

Audio Transcription

OpenClaw can automatically transcribe voice messages (from Telegram, WhatsApp, etc.) using IoTeX-hosted Whisper models.
OpenClaw’s media understanding system only recognizes built-in provider names (openai, groq, google, anthropic, minimax, deepgram) for audio transcription. Since the IoTeX gateway is OpenAI-compatible, you must configure it to route through the openai provider with the IoTeX base URL.

Step 1: Set Up the Auth Profile

OpenClaw needs an auth profile for IoTeX. Add this to ~/.openclaw/openclaw.json:
Then add the actual API key to ~/.openclaw/agents/main/agent/auth-profiles.json:
The field must be "key", not "apiKey". Using the wrong field name will silently fail to authenticate.

Step 2: Configure Audio Transcription

Add the audio model config to ~/.openclaw/openclaw.json:
Key fields explained:

Step 3: Restart and Test

Send a voice message to your OpenClaw bot on Telegram. The bot will automatically transcribe the audio and respond to its content.

Available Whisper Models

Available Models

The setup script configures these Gemini models via IoTeX AI Gateway: See the full list of models available through IoTeX AI Gateway on the Supported Models page.

Troubleshooting

The most common cause is using "provider": "iotex" in the audio model config. OpenClaw’s media understanding only recognizes openai, groq, google, anthropic, minimax, deepgram. Use "provider": "openai" with baseUrl pointing to IoTeX instead.Also check:
  • The auth profile uses "key" (not "apiKey") in auth-profiles.json
  • tools.media.audio.enabled is true
  • Run openclaw gateway restart after config changes
Verify the model name matches the supported models list. Model names are case-sensitive.
OpenClaw watches openclaw.json for changes, but some changes (like auth profiles or audio config) require a full restart:
Check that the key is set in the correct location. OpenClaw resolves API keys in this order:
  1. Auth profile specified by profile field
  2. Auth profiles in ~/.openclaw/agents/main/agent/auth-profiles.json
  3. Environment variable (e.g., IOTEX_API_KEY)
  4. apiKey in models.providers.iotex config
Verify with:

Resources