Cloudflare Workers AI
@cf/myshell-ai/melotts
Free budgetMP3 output - multilingual
Rate limitsnot published
Get this model the moment it changes
Limits move, models get replaced, better ones launch. Premium routers see this page's data live. Free routers see last month's.
Go live · $19/yr →Use it
FreeLLMAPI is a self-hosted router you run yourself. Install it, paste in your free Cloudflare Workers AI key, and @cf/myshell-ai/melotts answers on an OpenAI-compatible endpoint at http://localhost:3001/v1. No credit card, no hosted middleman: your prompts and your provider keys never leave your machine.
Install the router (macOS, Linux, WSL)
curl -fsSL https://freellmapi.co/install.sh | bashInstall the router (Windows PowerShell)
iwr -useb https://freellmapi.co/install.ps1 | iexCall @cf/myshell-ai/melotts with curl
curl http://localhost:3001/v1/audio/speech \
-H "Authorization: Bearer freellmapi-your-unified-key" \
-H "Content-Type: application/json" \
-d '{"model": "@cf/myshell-ai/melotts", "input": "Hello from FreeLLMAPI."}' \
--output speech.mp3The same request in Python (openai)
from openai import OpenAI
client = OpenAI(
base_url="http://localhost:3001/v1",
api_key="freellmapi-your-unified-key",
)
with client.audio.speech.with_streaming_response.create(
model="@cf/myshell-ai/melotts",
input="Hello from FreeLLMAPI.",
) as resp:
resp.stream_to_file("speech.mp3")The router answers on /v1/audio/speech and every other OpenAI surface, plus the Anthropic Messages API, so existing clients need only a new base_url. Swap the model id for auto and the router picks the best free model that is still under its limits. Full reference: docs/api.md.