ElevenLabs API access for voice synthesis, text-to-speech, sound effects, speech-to-text, and audio isolation.
Explore 238 AI Models
Browse, compare, and integrate the best AI models for video, image, music, audio, and text generation — all through one unified API.
# Available Endpoints
POST /v1/chat/completions # LLM
POST /v1/images/generations # Image
POST /api/v1/kling/text_to_video # Video
POST /v1/audio/speech # TTS
POST /v1/audio/transcriptions # STT
POST /api/v1/suno/text_to_music # Music
const response = await fetch("https://runapi.ai/v1/chat/completions", {
method: "POST",
headers: { Authorization: `Bearer ${RUNAPI_API_KEY}`, "Content-Type": "application/json" },
body: JSON.stringify({ model: "your-model-id", messages: [{ role: "user", content: "Hello" }] })
})
const result = await response.json()
import os
import httpx
response = httpx.post(
"https://runapi.ai/v1/chat/completions",
headers={"Authorization": f"Bearer {os.environ['RUNAPI_API_KEY']}"},
json={"model": "your-model-id", "messages": [{"role": "user", "content": "Hello"}]}
)
<?php
$ch = curl_init("https://runapi.ai/v1/chat/completions");
curl_setopt_array($ch, [CURLOPT_POST => true, CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ["Authorization: Bearer $RUNAPI_API_KEY", "Content-Type: application/json"],
CURLOPT_POSTFIELDS => json_encode(["model" => "your-model-id", "messages" => [["role" => "user", "content" => "Hello"]])]);
$result = json_decode(curl_exec($ch), true);
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder(URI.create("https://runapi.ai/v1/chat/completions"))
.header("Authorization", "Bearer " + RUNAPI_API_KEY)
.header("Content-Type", "application/json")
.POST(HttpRequest.BodyPublishers.ofString("{\"model\":\"your-model-id\",\"messages\":[]}")).build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
require "net/http"
uri = URI("https://runapi.ai/v1/chat/completions")
request = Net::HTTP::Post.new(uri)
request["Authorization"] = "Bearer #{ENV.fetch('RUNAPI_API_KEY')}"
request["Content-Type"] = "application/json"
request.body = {model: "your-model-id", messages: []}.to_json
requestBody := strings.NewReader(`{"model":"your-model-id","messages":[]}`)
request, _ := http.NewRequest(http.MethodPost, "https://runapi.ai/v1/chat/completions", requestBody)
request.Header.Set("Authorization", "Bearer "+os.Getenv("RUNAPI_API_KEY"))
request.Header.Set("Content-Type", "application/json")
response, err := http.DefaultClient.Do(request)
defer response.Body.Close()
# Authenticate once
runapi login
# Inspect available models
runapi models list --modality video
# Use the selected model in your workflow
runapi models show <model-id>
Leading AI models, one API
-
Flux
-
Midjourney
-
Whisper
-
ElevenLabs
-
HappyHorse
-
GPT Image 2
-
Veo
-
Minimax
-
Luma
-
PixVerse
-
Recraft
-
Fish Audio
-
DeepSeek
-
Qwen
-
Claude
-
GPT
-
Gemini
-
Seedance
-
Kling
-
Suno
4 models
Fish Audio API access for expressive multilingual and production-grade text-to-speech with managed MP3 or WAV output.
Gemini TTS API access for multi-speaker dialogue with configurable voices, accents, delivery styles, and pacing.
OpenAI TTS API access for low-latency and high-quality text-to-speech with RunAPI-managed MP3 output.
4 models No models match
Try a Model Now
Pick any model and generate in seconds.
One API, Every AI Model
Unified Interface
One SDK for 230+ models across all modalities. Switch providers without changing code.
Real-time Pricing
Transparent pay-as-you-go pricing. No subscriptions, no hidden fees, credits never expire.
Enterprise Ready
Team API keys, usage analytics, and priority support.
Get Started in Seconds
What teams build with 200+ models
Video Marketing
Generate ad variants per audience segment with Kling, Veo, and Runway
Product Photography
Create studio-quality product shots with Flux and Midjourney
Podcast Production
Clone voices and generate intros with Fish Audio and ElevenLabs
AI Agents
Give your agent access to any model through MCP or REST
Music for Content
Score videos and podcasts with Suno and Udio
Multilingual TTS
Localize apps into 40+ languages with natural voices
Catalog questions
How do I browse available models?
Visit /models or use the CLI: runapi models list. Filter by modality, provider, or search by name.
Can I use multiple models in one project?
Yes. One API key works across all 230+ models. Switch between video, image, music, audio, and LLM models freely.
How are new models added?
We add new models continuously. Major releases are typically available within days of launch. Follow our changelog for updates.
Can I request a specific model?
Yes. Contact us with the model name and provider. We evaluate all requests and prioritize based on demand.
What happens when a model is retired?
We notify users 30 days before retirement. Your existing code continues working — just update the model parameter to a newer version.
How are models priced?
Text models bill per million input and output tokens; media models bill per second, per image, or per minute. Every rate is listed on the model page and in the pricing table.