OmniRoute Supported Providers for Image, Video, and Audio Generation
OmniRoute supports 7 image generation providers, 8 video generation providers, and 1 dedicated audio provider, with several providers offering multi-modal capabilities across image and video generation.
OmniRoute is an open-source routing layer that unifies access to hundreds of AI providers through a single OpenAI-compatible API. The project's provider registry maps each provider to specific media generation capabilities, enabling developers to switch between image, video, and audio models without changing integration code. This guide details exactly which providers OmniRoute supports for each modality, with direct references to the source implementation.
Image Generation Providers in OmniRoute
OmniRoute supports 7 dedicated image generation providers, each accessible through standard /v1/images/generations endpoints or provider-specific routes. According to docs/reference/PROVIDER_REFERENCE.md, the following providers expose image generation capabilities:
| Provider | Alias | Source Location |
|---|---|---|
black-forest-labs |
bfl |
line 126 |
fal-ai |
fal |
line 156 |
freepik |
fpk |
line 162 |
recraft |
recraft |
line 252 |
segmind |
segmind |
line 262 |
stability-ai |
stability |
line 267 |
topaz |
topaz |
line 277 |
The image generation routing logic is implemented in open-sse/handlers/imageGeneration.ts, which normalizes provider-specific request formats into the OpenAI images API specification. This handler supports both synchronous generation and SSE streaming for progress updates.
Example: Generate an Image
curl -X POST https://localhost:20128/v1/images/generations \
-H "Content-Type: application/json" \
-d '{"model":"openai/gpt-image-2","prompt":"a futuristic city skyline"}'
Video Generation Providers in OmniRoute
OmniRoute supports 8 video generation providers, including model families like Runway Gen-3, Haiper, and Pollinations. The provider reference tags these entries with video capability markers. Notably, segmind appears in both image and video lists, demonstrating OmniRoute's multi-modal provider support.
| Provider | Alias | Source Location |
|---|---|---|
haiper |
hp |
line 183 |
leonardo |
leo |
line 202 |
minimax |
minimax |
line 209 |
novita |
novita |
line 225 |
pollinations |
pol |
line 244 |
runwayml |
runway |
line 256 |
segmind |
segmind |
line 262 |
together |
together |
line 275 |
The open-sse/handlers/videoGeneration.ts file implements routing for /v1/videos/generations and provider-specific video endpoints. Video generation typically requires extended timeout configurations due to longer processing times compared to image generation.
Example: Generate a Video
curl -X POST https://localhost:20128/v1/providers/runway/videos/generations \
-H "Content-Type: application/json" \
-d '{
"model":"runway/gen-3",
"prompt":"a mountain landscape turning into a time-lapse",
"num_frames": 30,
"frame_rate": 24
}'
Audio Generation Providers in OmniRoute
OmniRoute's audio support focuses on text-to-speech (TTS) and speech-to-text (STT) capabilities. The provider reference currently lists 1 dedicated audio provider with native audio generation support:
| Provider | Alias | Source Location |
|---|---|---|
fishaudio |
fishaudio |
line 344 |
Additionally, OmniRoute proxies standard OpenAI audio endpoints (tts-1, tts-1-hd, whisper-1) through provider-agnostic handlers in open-sse/handlers/audioSpeech.ts. This enables TTS and STT functionality across any configured upstream provider that implements the OpenAI audio API.
The audio handler supports both synchronous speech synthesis and streaming audio generation for real-time applications.
Example: Text-to-Speech Synthesis
curl -X POST https://localhost:20128/v1/audio/speech \
-H "Content-Type: application/json" \
-d '{"model":"openai/tts-1","input":"Hello, welcome to OmniRoute!","voice":"alloy"}' \
--output hello.mp3
Example: Speech-to-Text Transcription
curl -X POST https://localhost:20128/v1/audio/transcriptions \
-H "Content-Type: application/json" \
-d '{"model":"deepgram/whisper-1","audio_url":"https://example.com/audio.wav"}'
Multi-Modal Provider Capabilities
Some OmniRoute providers support multiple generation modalities. The segmind provider is explicitly tagged for both image and video generation in the provider reference. This pattern allows developers to use a single provider configuration for diverse media tasks, reducing credential management overhead.
When configuring multi-modal providers, open-sse/config/providerRegistry.ts maps each model ID to its appropriate executor based on the requested endpoint path. The registry validates that the selected model supports the requested modality before routing the request.
Key Implementation Files
Understanding OmniRoute's provider support requires familiarity with these core files:
| File | Purpose |
|---|---|
docs/reference/PROVIDER_REFERENCE.md |
Canonical list of all supported providers with capability tags |
open-sse/handlers/imageGeneration.ts |
Image generation request routing and normalization |
open-sse/handlers/videoGeneration.ts |
Video generation request handling |
open-sse/handlers/audioSpeech.ts |
TTS/STT endpoint implementation |
open-sse/config/providerRegistry.ts |
Model-to-executor mapping and validation |
These files collectively implement OmniRoute's unified API abstraction, allowing consistent access to provider-specific image, video, and audio generation capabilities.
Summary
- Image generation: 7 providers including Black Forest Labs, Fal.ai, Freepik, Recraft, Segmind, Stability AI, and Topaz
- Video generation: 8 providers including Haiper, Leonardo, Minimax, Novita, Pollinations, RunwayML, Segmind, and Together
- Audio generation: Native support for FishAudio plus OpenAI-compatible TTS/STT proxying
- Multi-modal: Segmind provides both image and video generation from a single provider configuration
- Implementation: Core routing handled in
open-sse/handlers/with provider definitions indocs/reference/PROVIDER_REFERENCE.md
Frequently Asked Questions
How do I add a new image generation provider to OmniRoute?
Create an entry in docs/reference/PROVIDER_REFERENCE.md with the image capability tag, then implement a provider-specific executor in open-sse/handlers/imageGeneration.ts or extend the existing routing logic. Register the model mapping in open-sse/config/providerRegistry.ts to enable request routing.
Can I use the same API key for multiple modalities with a single provider?
Yes, if the provider supports multiple modalities. The segmind provider demonstrates this pattern—configure once in your OmniRoute settings and route image requests to /v1/images/generations and video requests to /v1/videos/generations using the same credentials.
Why doesn't OmniRoute list more dedicated audio providers?
OmniRoute prioritizes OpenAI-compatible audio proxying through open-sse/handlers/audioSpeech.ts, which enables TTS/STT with any upstream provider implementing the standard /v1/audio/speech and /v1/audio/transcriptions endpoints. The fishaudio entry represents a provider with native, non-standard audio APIs requiring custom integration.
Have a question about this repo?
These articles cover the highlights, but your codebase questions are specific. Give your agent direct access to the source. Share this with your agent to get started:
curl -s "https://instagit.com/install.md" Maintain an open-source project? Get it listed too →