# OmniRoute Supported Providers for Image, Video, and Audio Generation

> Explore OmniRoute supported providers for image, video, and audio generation. Discover 7 image, 8 video, and 1 audio provider options with multi-modal capabilities.

- Repository: [Diego Rodrigues de Sa e Souza/OmniRoute](https://github.com/diegosouzapw/OmniRoute)
- Tags: api-reference
- Published: 2026-08-10

---

**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`](https://github.com/diegosouzapw/OmniRoute/blob/main/docs/reference/PROVIDER_REFERENCE.md), the following providers expose image generation capabilities:

| Provider | Alias | Source Location |
|----------|-------|-----------------|
| `black-forest-labs` | `bfl` | [line 126](https://github.com/diegosouzapw/OmniRoute/blob/release/v3.8.50/docs/reference/PROVIDER_REFERENCE.md#L126) |
| `fal-ai` | `fal` | [line 156](https://github.com/diegosouzapw/OmniRoute/blob/release/v3.8.50/docs/reference/PROVIDER_REFERENCE.md#L156) |
| `freepik` | `fpk` | [line 162](https://github.com/diegosouzapw/OmniRoute/blob/release/v3.8.50/docs/reference/PROVIDER_REFERENCE.md#L162) |
| `recraft` | `recraft` | [line 252](https://github.com/diegosouzapw/OmniRoute/blob/release/v3.8.50/docs/reference/PROVIDER_REFERENCE.md#L252) |
| `segmind` | `segmind` | [line 262](https://github.com/diegosouzapw/OmniRoute/blob/release/v3.8.50/docs/reference/PROVIDER_REFERENCE.md#L262) |
| `stability-ai` | `stability` | [line 267](https://github.com/diegosouzapw/OmniRoute/blob/release/v3.8.50/docs/reference/PROVIDER_REFERENCE.md#L267) |
| `topaz` | `topaz` | [line 277](https://github.com/diegosouzapw/OmniRoute/blob/release/v3.8.50/docs/reference/PROVIDER_REFERENCE.md#L277) |

The image generation routing logic is implemented in [`open-sse/handlers/imageGeneration.ts`](https://github.com/diegosouzapw/OmniRoute/blob/main/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

```bash
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](https://github.com/diegosouzapw/OmniRoute/blob/release/v3.8.50/docs/reference/PROVIDER_REFERENCE.md#L183) |
| `leonardo` | `leo` | [line 202](https://github.com/diegosouzapw/OmniRoute/blob/release/v3.8.50/docs/reference/PROVIDER_REFERENCE.md#L202) |
| `minimax` | `minimax` | [line 209](https://github.com/diegosouzapw/OmniRoute/blob/release/v3.8.50/docs/reference/PROVIDER_REFERENCE.md#L209) |
| `novita` | `novita` | [line 225](https://github.com/diegosouzapw/OmniRoute/blob/release/v3.8.50/docs/reference/PROVIDER_REFERENCE.md#L225) |
| `pollinations` | `pol` | [line 244](https://github.com/diegosouzapw/OmniRoute/blob/release/v3.8.50/docs/reference/PROVIDER_REFERENCE.md#L244) |
| `runwayml` | `runway` | [line 256](https://github.com/diegosouzapw/OmniRoute/blob/release/v3.8.50/docs/reference/PROVIDER_REFERENCE.md#L256) |
| `segmind` | `segmind` | [line 262](https://github.com/diegosouzapw/OmniRoute/blob/release/v3.8.50/docs/reference/PROVIDER_REFERENCE.md#L262) |
| `together` | `together` | [line 275](https://github.com/diegosouzapw/OmniRoute/blob/release/v3.8.50/docs/reference/PROVIDER_REFERENCE.md#L275) |

The [`open-sse/handlers/videoGeneration.ts`](https://github.com/diegosouzapw/OmniRoute/blob/main/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

```bash
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](https://github.com/diegosouzapw/OmniRoute/blob/release/v3.8.50/docs/reference/PROVIDER_REFERENCE.md#L344) |

Additionally, OmniRoute proxies standard OpenAI audio endpoints (`tts-1`, `tts-1-hd`, `whisper-1`) through provider-agnostic handlers in [`open-sse/handlers/audioSpeech.ts`](https://github.com/diegosouzapw/OmniRoute/blob/main/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

```bash
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

```bash
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`](https://github.com/diegosouzapw/OmniRoute/blob/main/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`](https://github.com/diegosouzapw/OmniRoute/blob/main/docs/reference/PROVIDER_REFERENCE.md) | Canonical list of all supported providers with capability tags |
| [`open-sse/handlers/imageGeneration.ts`](https://github.com/diegosouzapw/OmniRoute/blob/main/open-sse/handlers/imageGeneration.ts) | Image generation request routing and normalization |
| [`open-sse/handlers/videoGeneration.ts`](https://github.com/diegosouzapw/OmniRoute/blob/main/open-sse/handlers/videoGeneration.ts) | Video generation request handling |
| [`open-sse/handlers/audioSpeech.ts`](https://github.com/diegosouzapw/OmniRoute/blob/main/open-sse/handlers/audioSpeech.ts) | TTS/STT endpoint implementation |
| [`open-sse/config/providerRegistry.ts`](https://github.com/diegosouzapw/OmniRoute/blob/main/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 in [`docs/reference/PROVIDER_REFERENCE.md`](https://github.com/diegosouzapw/OmniRoute/blob/main/docs/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`](https://github.com/diegosouzapw/OmniRoute/blob/main/docs/reference/PROVIDER_REFERENCE.md) with the `image` capability tag, then implement a provider-specific executor in [`open-sse/handlers/imageGeneration.ts`](https://github.com/diegosouzapw/OmniRoute/blob/main/open-sse/handlers/imageGeneration.ts) or extend the existing routing logic. Register the model mapping in [`open-sse/config/providerRegistry.ts`](https://github.com/diegosouzapw/OmniRoute/blob/main/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`](https://github.com/diegosouzapw/OmniRoute/blob/main/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.