Clona una voz autorizada y genera audio final con packs reales de producción.

La web vende clonación de voz por segundos de salida y además deja una prueba pública controlada. El mínimo comercial arranca en 5 € para que el cobro tenga sentido después de comisiones.

Minimo comercial 5 € Cobro por segundos de salida Muestras autorizadas Demo pública limitada a 5 s

Qué puedes contratar aquí

La lógica es directa: eliges un pack útil de verdad, pagas y esos segundos quedan ligados a tu cuenta para generar audio con tu voz clonada.

Pack entrada 600 segundos
Pack estudio 1.800 segundos
Pack producción 3.600 segundos
Cuenta cliente Stripe y PayPal Audio final Estado consultable
Entrar en zona cliente

La unidad comercial aquí es el segundo de audio generado. Cada pack da derecho a una cantidad máxima de salida con una única voz clonada y con un importe mínimo compatible con comisiones reales.

Demo pública

Prueba la voz antes de registrarte

Esta prueba pública deja seleccionar una voz del catálogo, escucharla y generar una muestra con texto fijo controlado. No hay texto libre en la demo para evitar usos abusivos.

Sin login Catalogo con preview Maximo 5 s
Selecciona una referencia Cargando...

Voz seleccionada

Selecciona primero una voz

La prueba pública siempre devuelve un máximo de 5 segundos descargables.

Texto fijo de prueba Se escucha una voz clara y natural leyendo una frase breve para valorar el resultado.

La demo pública usa esta frase cerrada para generar una muestra de hasta 5 segundos.

La generación pública está limitada y se recorta automáticamente a 5 segundos.

Selecciona una voz en la pestaña de audios para activar la demo.

Qué compras exactamente

Una voz clonada

Cada compra se plantea para una única voz de referencia, no para una librería ilimitada de voces.

Segundos de salida

El precio se relaciona con el máximo de audio final que puedes generar dentro del pack contratado.

Audio descargable

El resultado se entrega como audio final, listo para usar en tu flujo o para descargarlo directamente.

Seguimiento del pago

El checkout se crea por API y el estado puede consultarse para saber si el cobro quedó pendiente, fallido o pagado.

Flujo de compra

1 · Eliges pack

Seleccionas cuántos segundos de audio final quieres comprar para tu voz clonada.

2 · Creamos checkout

Esta web crea una orden de pago local y te redirige a Stripe o PayPal según el proveedor que elijas.

3 · Verificamos estado

Después del pago se consulta el estado para confirmar si la operación quedó efectivamente registrada.

Sin discurso inflado

El resultado depende de la calidad de la muestra. Si la referencia es mala, el audio final lo notará; por eso conviene usar voces limpias y autorizadas.

Compra directa

Puedes entrar al checkout y arrancar el flujo de pago desde esta misma web sin salir a otro proyecto distinto.

Preparado para escalar

La página pública, el endpoint de clonación y el checkout están ya integrados para validar ventas y primeras operaciones.

Compra guiada

Crea tu cuenta y compra desde la zona cliente

El checkout ya no se abre como invitado. Primero necesitas una cuenta con correo. Después esta web crea la orden local y te manda a Stripe o PayPal con la referencia ya asociada.

Selección previa del pack Correo ligado al pedido Referencia externa trazable

Resumen actual

Pack 600 segundos

Comprarás hasta 600 segundos de audio final por 5,00 € desde una cuenta autenticada.

La referencia del cobro se genera en el servidor al crear la sesión desde la zona cliente autenticada.

Packs por segundos

Pack entrada

600 segundos

10 minutos de audio final

5,00 €/pago

Precio mínimo útil para cubrir comisiones y dejar una compra razonable de 10 minutos.

  • 1 voz clonada
  • Hasta 600 s / 10 min de audio final
  • Acceso al checkout del pack
Comprar 600 s

Pack producción

3.600 segundos

60 minutos de audio final

24,00 €/pago

Descuento más fuerte para una hora de salida final con una sola voz en producción continua.

  • 1 voz clonada
  • Hasta 3.600 s / 60 min de audio final
  • Consulta posterior del estado
Comprar 3.600 s

Precio base: 0,50 € por minuto. El mínimo comercial empieza en 5,00 € y los packs grandes aplican descuento para que el volumen tenga sentido real.

API y estado

La API no es anónima: cada cliente genera su token en la zona cliente y lo envía como Authorization: Bearer TU_TOKEN_API. Cada audio generado descuenta segundos del saldo pagado de esa cuenta.

Antes de copiar un ejemplo, cambia estos datos:
  • TU_TOKEN_API: token completo creado en zona cliente, pestaña API personal.
  • text: frase que quieres generar con esa voz.
  • language: idioma de salida, por ejemplo es, en, fr, de, it o pt.
  • Modo catálogo: voice_id selecciona una de nuestras voces (nosotros cargamos su audio de referencia y lo enviamos al clonador).
  • Modo audio propio: envía tu WAV/MP3 como speaker.data (Base64). Siempre mandamos un archivo de referencia al clonador.

Respuesta esperada: un archivo de audio salida_audio.wav. Si el token no existe devuelve 401; si no hay saldo devuelve 402.

Modo 1 · Voz de nuestro catálogo
{
  "text": "Hola, esta es una prueba de voz",
  "language": "es",
  "voice_id": "es-ES-AlvaroNeural"
}
Modo 2 · Audio propio del cliente
{
  "text": "Hola, esta es una prueba de voz",
  "language": "es",
  "speaker": {
    "filename": "voz.wav",
    "data": "BASE64_DE_TU_AUDIO"
  }
}
# TODO: replace TU_TOKEN_API with your real API token.
API_TOKEN="TU_TOKEN_API"

# Modo 1: voz del catalogo (voice_id)
cat > payload_catalog.json <<'JSON'
{
  "text": "Hola, esta es una prueba de voz",
  "language": "es",
  "voice_id": "es-ES-AlvaroNeural"
}
JSON

curl --fail-with-body -X POST "https://videodoblaje.com/api/clone" \
  -H "Authorization: Bearer ${API_TOKEN}" \
  -H "Content-Type: application/json" \
  --data-binary @payload_catalog.json \
  --output salida_audio.wav

# Modo 2: audio propio (speaker.data en Base64)
# Mantén voz.wav en esta carpeta o cambia la ruta.
python3 - <<'PY'
import base64, json
payload = {
  "text": "Hola, esta es una prueba de voz",
  "language": "es",
  "speaker": {
    "filename": "voz.wav",
    "data": base64.b64encode(open("voz.wav", "rb").read()).decode("ascii")
  }
}
open("payload_speaker.json", "w").write(json.dumps(payload, ensure_ascii=False))
PY

curl --fail-with-body -X POST "https://videodoblaje.com/api/clone" \
  -H "Authorization: Bearer ${API_TOKEN}" \
  -H "Content-Type: application/json" \
  --data-binary @payload_speaker.json \
  --output salida_audio.wav
# TODO: replace TU_TOKEN_API with your real API token.
$token = "TU_TOKEN_API"

# Modo 1: voz del catalogo (voice_id)
$payloadCatalog = @{
  text = "Hola, esta es una prueba de voz"
  language = "es"
  voice_id = "es-ES-AlvaroNeural"
} | ConvertTo-Json -Depth 5

Invoke-WebRequest `
  -Uri "https://videodoblaje.com/api/clone" `
  -Method POST `
  -Headers @{ Authorization = "Bearer $token" } `
  -ContentType "application/json" `
  -Body $payloadCatalog `
  -OutFile "salida_audio.wav"

# Modo 2: audio propio (speaker.data en Base64)
# Mantén voz.wav en esta carpeta o cambia la ruta.
$audio = [Convert]::ToBase64String([IO.File]::ReadAllBytes("voz.wav"))
$payloadSpeaker = @{
  text = "Hola, esta es una prueba de voz"
  language = "es"
  speaker = @{
    filename = "voz.wav"
    data = $audio
  }
} | ConvertTo-Json -Depth 5

Invoke-WebRequest `
  -Uri "https://videodoblaje.com/api/clone" `
  -Method POST `
  -Headers @{ Authorization = "Bearer $token" } `
  -ContentType "application/json" `
  -Body $payloadSpeaker `
  -OutFile "salida_audio.wav"
<?php
// TODO: replace TU_TOKEN_API with your real API token.
$token = 'TU_TOKEN_API';

// Modo 1: voz del catalogo (voice_id)
$payloadCatalog = [
  'text' => 'Hola, esta es una prueba de voz',
  'language' => 'es',
  'voice_id' => 'es-ES-AlvaroNeural',
];

// Modo 2: audio propio (speaker.data en Base64)
// Keep voz.wav next to this file or change the file_get_contents() path.
$payloadSpeaker = [
  'text' => 'Hola, esta es una prueba de voz',
  'language' => 'es',
  'speaker' => [
    'filename' => 'voz.wav',
    'data' => base64_encode(file_get_contents(__DIR__ . '/voz.wav')),
  ],
];

$payload = $payloadCatalog; // or: $payloadSpeaker

$ch = curl_init('https://videodoblaje.com/api/clone');
curl_setopt_array($ch, [
  CURLOPT_POST => true,
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_HTTPHEADER => [
    'Authorization: Bearer ' . $token,
    'Content-Type: application/json',
  ],
  CURLOPT_POSTFIELDS => json_encode($payload, JSON_UNESCAPED_UNICODE),
]);
$audio = curl_exec($ch);
if ($audio === false || curl_getinfo($ch, CURLINFO_HTTP_CODE) >= 400) {
  throw new RuntimeException('Error API: ' . (string)$audio);
}
file_put_contents(__DIR__ . '/salida_audio.wav', $audio);
import { readFile, writeFile } from 'node:fs/promises';

// TODO: replace TU_TOKEN_API with your real API token.
const token = 'TU_TOKEN_API';

// Modo 1: voz del catalogo (voice_id)
const payloadCatalog = {
  text: 'Hola, esta es una prueba de voz',
  language: 'es',
  voice_id: 'es-ES-AlvaroNeural',
};

// Modo 2: audio propio (speaker.data en Base64)
// Keep voz.wav next to this script or change the readFile() path.
const voice = await readFile('./voz.wav');
const payloadSpeaker = {
  text: 'Hola, esta es una prueba de voz',
  language: 'es',
  speaker: { filename: 'voz.wav', data: voice.toString('base64') },
};

const payload = payloadCatalog; // or: payloadSpeaker

const response = await fetch('https://videodoblaje.com/api/clone', {
  method: 'POST',
  headers: {
    Authorization: `Bearer ${token}`,
    'Content-Type': 'application/json',
  },
  body: JSON.stringify(payload),
});

if (!response.ok) {
  throw new Error(await response.text());
}
await writeFile('./salida_audio.wav', Buffer.from(await response.arrayBuffer()));
import base64
import requests

# TODO: replace TU_TOKEN_API with your real API token.
token = "TU_TOKEN_API"

# Modo 1: voz del catalogo (voice_id)
payload_catalog = {
    "text": "Hola, esta es una prueba de voz",
    "language": "es",
    "voice_id": "es-ES-AlvaroNeural",
}

# Modo 2: audio propio (speaker.data en Base64)
# Keep voz.wav next to this script or change the open() path.
with open("voz.wav", "rb") as audio_file:
    audio_b64 = base64.b64encode(audio_file.read()).decode("utf-8")
payload_speaker = {
    "text": "Hola, esta es una prueba de voz",
    "language": "es",
    "speaker": {"filename": "voz.wav", "data": audio_b64},
}

payload = payload_catalog  # or: payload_speaker

response = requests.post(
    "https://videodoblaje.com/api/clone",
    headers={"Authorization": f"Bearer {token}"},
    json=payload,
    timeout=180,
)
response.raise_for_status()
with open("salida_audio.wav", "wb") as output:
    output.write(response.content)

Preguntas normales antes de comprar

¿Qué estoy pagando exactamente?

Segundos de audio final generado con una voz clonada. No un plan abstracto ni un servicio abierto sin límite.

¿Qué significan 600, 1.800 o 3.600 segundos?

Es el máximo de salida de audio final que compras dentro de cada pack.

¿Por qué se crea el checkout por API?

Porque así el pack, el importe, la cuenta del cliente y la referencia del pedido quedan ligados al cobro antes de enviar al usuario al proveedor.