比較

ElevenLabs alternative: the same voices without a plan, or video that speaks

Most people who search for an ElevenLabs alternative like the voices and dislike the plan. Here are three ways out: the same ElevenLabs models paid per character, video models that speak for themselves, and talking avatars, with what each costs and the code to try the first.

Why people look for an ElevenLabs alternative

Usually it is not the voices. ElevenLabs still makes some of the most natural speech you can get. It is the plan around them: a monthly subscription with a character allowance, picked before you know how much you will use, and a separate bill next to the one for your video or image models. There are three ways out, and you can mix them.

1. The same ElevenLabs voices, paid per character

If you like how ElevenLabs sounds, keep it and drop the plan. Through Revana you call the ElevenLabs models by API and pay only for the characters you generate, from prepaid credit:

ElevenLabs models by API, price per 1,000 characters
モデルPer 1,000 charactersAbout one hour of speechBest for
ElevenLabs V4$0.12$7.20Narration, voiceovers and long reads: natural and steady
ElevenLabs V3$0.12$7.20The most expressive: emotion, audio tags such as [whispers], dialogue
ElevenLabs Multilingual v2$0.12$7.20Proven, consistent narration in many languages
ElevenLabs Turbo 2.5$0.06$3.60Half the price: quick voiceovers, drafts, high volume
  • No subscription, no tiers. Quiet month, small bill. Busy month, no upgrade to buy first.
  • Failed requests are free. The price is held when you submit and released if the job fails.
  • One bill for voice, music and video. The same key and credit run ElevenLabs, Suno and every video model.

The full price breakdown, with code, is in ElevenLabs API pricing.

2. Skip the voiceover: video models that speak

If the voice ends up in a video anyway, you may not need a separate voiceover at all. The newest video models make dialogue, sound effects and ambience together with the picture, lip-synced, from a prompt like The cook says: "Last one tonight."

Video models that make speech with the picture
モデルPer second with sound10秒のクリップGood at
Kling 4.0$0.135$1.35Up to 30 s, stereo sound, people and motion
MiniMax H3$0.05$0.50Low price per second, up to nine reference images
Seedance 2.5$0.09$0.90Up to 30 s, reference video and audio, at 480p
Kling 3.0$0.13$1.30Sound optional, 4K when you need it

The trade-off: you choose the words, but not an exact stock voice, and you cannot reuse the audio on its own. For ads, social clips and short scenes that is often fine; for narration over footage you already have, keep a voice model.

3. A voice track plus a face: talking avatars

For explainers, courses and support videos, make the speech with ElevenLabs and hand it to Kling Avatar with one portrait. It animates the face to your audio for up to five minutes, at $0.07 a second on Standard or $0.13 on Pro. Need music instead of speech? Suno makes a full song from a prompt for $0.08 a request.

Try it: ElevenLabs by API, no subscription

Send POST /v1/generations with the model id, the text and a voice id from the model page, then poll until the MP3 is ready. Turbo 2.5 reads 1,000 characters for $0.06.

cURL
export REVANA_API_KEY="sr_live_..."

# One Idempotency-Key per job, made once: resend with the same $KEY after a timeout, a 429 or a 5xx
KEY=$(uuidgen)

# 1. Submit the job (returns 202 with the generation id). max_cost_usd is your cap: the most it may cost.
curl https://api.revana.si/v1/generations \
  -H "Authorization: Bearer $REVANA_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $KEY" \
  -d '{
    "model": "elevenlabs-turbo-2.5",
    "input": {
      "text": "Nobody tells you this, but the hardest part of starting is the first five minutes. After that, it is just Tuesday.",
      "voice": "EkK5I93UQWFDigLMpZcX",
      "language_code": "en"
    },
    "max_cost_usd": 0.4
  }'

# 2. Poll with the id from step 1 until status is "succeeded" or "failed".
#    A failed job is free; make a new KEY before you submit it again.
curl https://api.revana.si/v1/generations/gen_01JC2W4R9Q \
  -H "Authorization: Bearer $REVANA_API_KEY"
Python
import os
import time
import uuid

import requests

API = "https://api.revana.si/v1"
HEADERS = {"Authorization": f"Bearer {os.environ['REVANA_API_KEY']}"}
# One Idempotency-Key per job, made once. Resend after a timeout, a 429 or a 5xx with the
# same KEY: you get the same job back, never a second charge.
KEY = str(uuid.uuid4())

resp = requests.post(f"{API}/generations", headers={**HEADERS, "Idempotency-Key": KEY}, json={
    "model": "elevenlabs-turbo-2.5",
    "input": {
        "text": "Nobody tells you this, but the hardest part of starting is the first five minutes. After that, it is just Tuesday.",
        "voice": "EkK5I93UQWFDigLMpZcX",
        "language_code": "en",
    },
    "max_cost_usd": 0.4,  # your cap: the most this job may cost
})
resp.raise_for_status()
job = resp.json()

while job["status"] in ("queued", "running"):
    time.sleep(3)
    job = requests.get(f"{API}/generations/{job['id']}", headers=HEADERS).json()

if job["status"] == "succeeded":
    print(job["output"]["urls"], job["cost_usd"])
else:
    # A failed job is free. To try again, make a new KEY: this one answers with the failure.
    print("Failed:", job["error"])
Node.js
// Node 18 or later. Save as generate.mjs and run: node generate.mjs
import { randomUUID } from "node:crypto";

const API = "https://api.revana.si/v1";
const headers = {
  Authorization: `Bearer ${process.env.REVANA_API_KEY}`,
  "Content-Type": "application/json",
};
// One Idempotency-Key per job, made once. Resend after a timeout, a 429 or a 5xx with the
// same key: you get the same job back, never a second charge.
const key = randomUUID();

const res = await fetch(`${API}/generations`, {
  method: "POST",
  headers: { ...headers, "Idempotency-Key": key },
  body: JSON.stringify({
    model: "elevenlabs-turbo-2.5",
    input: {
      text: "Nobody tells you this, but the hardest part of starting is the first five minutes. After that, it is just Tuesday.",
      voice: "EkK5I93UQWFDigLMpZcX",
      language_code: "en",
    },
    max_cost_usd: 0.4, // your cap: the most this job may cost
  }),
});
if (!res.ok) throw new Error(`${res.status} ${await res.text()}`);
let job = await res.json();

while (job.status === "queued" || job.status === "running") {
  await new Promise((r) => setTimeout(r, 3000));
  job = await (await fetch(`${API}/generations/${job.id}`, { headers })).json();
}

if (job.status === "succeeded") console.log(job.output.urls, job.cost_usd);
else console.error("Failed:", job.error); // free; to try again, make a new key
レスポンス
{
  "id": "gen_01JC2W4R9Q",
  "model": "elevenlabs-turbo-2.5",
  "status": "succeeded",
  "output": {
    "urls": [
      "https://cdn.revana.si/g/gen_01JC2W4R9Q/0.mp3"
    ]
  },
  "cost_usd": 0.3,
  "attempts": 1,
  "error": null,
  "created_at": "2026-11-12T10:14:02Z",
  "completed_at": "2026-11-12T10:15:08Z"
}

Which alternative fits

  • You need narration over existing footage, an app that reads text aloud or an audiobook: keep ElevenLabs, pay per character.
  • You are making the video too: try a video model with sound first; add a voiceover only if the scene needs a specific voice.
  • You need a presenter on screen: ElevenLabs for the voice, Kling Avatar for the face.

Every model is on the models page with its live price, the full request reference is in the docs, credit is on the pricing page, or get an API key.

よくある質問

What is the best ElevenLabs alternative?

If you like the voices, the simplest alternative is ElevenLabs itself without the plan: call its models by API and pay per character. If the voice goes into a video, a video model that makes speech with the picture, such as Kling 4.0 or MiniMax H3, can replace the voiceover altogether.

Can I use ElevenLabs without a subscription?

Yes. Through Revana you call ElevenLabs V4, V3, Multilingual v2 and Turbo 2.5 with an API key and pay from prepaid credit: $0.12 per 1,000 characters on V4, $0.06 on Turbo 2.5. There is nothing to cancel.

What is the cheapest ElevenLabs model?

Turbo 2.5, at $0.06 per 1,000 characters, half the price of V4, V3 and Multilingual v2.

Can a video model replace a voiceover?

Often. Kling 4.0, MiniMax H3, Seedance 2.5 and Kling 3.0 with sound make dialogue and sound effects with the picture, lip-synced. You write the lines in the prompt; you do not pick an exact stock voice.

Am I charged for a failed request?

No. The price is held when you submit and released if the job fails, so a failed request costs nothing.

Voices, music and video with one key

One API key for ElevenLabs, Suno and every video model. Prepaid credit from $10, charged only for what is delivered.