API de Voice Go
Con la API de Voice Go puede locutar textos y transcribir audio y vídeo directamente desde su aplicación, centralita o gestor de contenidos. Usa las mismas voces y la misma cuota que el estudio; una sola petición HTTP devuelve un archivo MP3/WAV o una transcripción con marcas de tiempo.
Primeros pasos
Todas las peticiones se hacen por HTTPS a la URL base siguiente. Los cuerpos son JSON (multipart/form-data al subir un archivo para transcribir); la respuesta de texto a voz es el propio archivo de audio.
https://www.voicego.net/api/v1Autenticación
Envíe su clave de API en la cabecera Authorization en cada petición. Las claves empiezan por vg_live_. También se acepta la cabecera X-API-Key.
Authorization: Bearer vg_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxTexto a voz
POST/api/v1/tts
Locuta el texto con la voz elegida y devuelve el archivo de audio. Cada petición correcta descuenta de su cuota mensual tantos caracteres como tenga el texto.
Parámetros
| Nombre | Tipo | Descripción |
|---|---|---|
textobligatorio | string | Texto que se locutará. Hasta 2500 caracteres por petición. Divida los textos largos al final de las frases. |
voiceobligatorio | string | ID de la voz, p. ej. yeliz, kemal. Lista completa en GET /voices. |
formatopcional | string | Formato de salida: mp3 (predeterminado), wav (44,1 kHz, 16 bits, mono) o wav_8k (8 kHz, 16 bits, mono — para centralitas). |
speedopcional | number | Velocidad de lectura entre 0.5 y 2. Predeterminada: 1. |
emotionopcional | string | Tono (solo voces HD): warm, cheerful, excited, calm, serious, sad. |
instructionopcional | string | Instrucción de lectura en texto libre (solo voces HD), hasta 160 caracteres. |
curl -X POST https://www.voicego.net/api/v1/tts \
-H "Authorization: Bearer $VOICEGO_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"text": "Şirketimizi aradığınız için teşekkür ederiz.",
"voice": "yeliz",
"format": "wav_8k"
}' \
--output anons.wavRespuesta
Una respuesta correcta es el propio archivo de audio con estado 200 (Content-Type: audio/mpeg o audio/wav). Cabeceras de respuesta:
X-Characters— Caracteres descontados de la cuota en esta peticiónX-Quota-Limit · X-Quota-Used · X-Quota-Remaining— Cuota mensual, uso de este mes y caracteres restantes
Listar voces
GET/api/v1/voices
Devuelve las voces que puede usar. Las voces HD con expressive: true admiten emociones, instrucciones y etiquetas.
curl https://www.voicego.net/api/v1/voices -H "Authorization: Bearer $VOICEGO_API_KEY"{
"voices": [
{
"id": "yeliz",
"name": "Yeliz",
"names": { "en": "Amelia", "es": "Julia" },
"gender": "female",
"language": "tr-TR",
"quality": "hd",
"expressive": true
}
]
}| ID | Nombre | Género | Calidad |
|---|---|---|---|
| aylin | Valeria | Femenina | HD · expresiva |
| batu | Batu | Masculina | HD · expresiva |
| buse | Buse | Femenina | HD · expresiva |
| cihan | Cihan | Masculina | HD · expresiva |
| damla-su | Damla Su | Femenina | HD · expresiva |
| efe | Efe | Masculina | HD · expresiva |
| egemen | Egemen | Masculina | HD · expresiva |
| ela | Ela | Femenina | HD · expresiva |
| eren | Eren | Masculina | HD · expresiva |
| esra | Esra | Femenina | HD · expresiva |
| eylul | Eylül | Femenina | HD · expresiva |
| ezgi | Noa | Femenina | HD · expresiva |
| fatih | Alejandro | Masculina | HD · expresiva |
| gorkem | David | Masculina | HD · expresiva |
| ismail | Mateo | Masculina | HD · expresiva |
| kemal | Pablo | Masculina | HD · expresiva |
| koray | Koray | Masculina | HD · expresiva |
| kuzey | Kuzey | Masculina | HD · expresiva |
| kubra | Kübra | Femenina | Estándar |
| mehmet | Mehmet | Masculina | Estándar |
| mina | Mina | Femenina | Estándar |
| nesrin | Nesrin | Femenina | Estándar |
| oguz | Oğuz | Masculina | HD · expresiva |
| ozan | Ozan | Masculina | HD · expresiva |
| pinar | Pınar | Femenina | HD · expresiva |
| polat | Polat | Masculina | Estándar |
| riza | Rıza | Masculina | HD · expresiva |
| selen | Selen | Femenina | HD · expresiva |
| sevgi | Sevgi | Femenina | HD · expresiva |
| sinan | Sinan | Masculina | HD · expresiva |
| sude | Sude | Femenina | HD · expresiva |
| sule | Paula | Femenina | HD · expresiva |
| yagmur | Sara | Femenina | HD · expresiva |
| yavuz | Yavuz | Masculina | HD · expresiva |
| yeliz | Julia | Femenina | HD · expresiva |
Transcripción (voz a texto)
POST/api/v1/transcribe
Transcribe una grabación de audio o vídeo, separa a los hablantes e indica el inicio y el final de cada segmento. Cada petición correcta descuenta de su tiempo mensual de transcripción la duración de la grabación (en segundos, redondeada hacia arriba).
Puede enviar el archivo de dos formas: suba archivos de hasta 4 MB directamente en el campo "file" con multipart/form-data; para archivos mayores, indique en un cuerpo JSON la dirección https descargable del archivo en "url" (p. ej. un enlace firmado y temporal de su almacenamiento). Se admiten los formatos de audio y vídeo habituales como MP3, WAV, M4A, OGG, FLAC, MP4, MOV y WEBM.
Parámetros
| Nombre | Tipo | Descripción |
|---|---|---|
fileopcional | file | Archivo de audio o vídeo (multipart/form-data), hasta 4 MB. Es obligatorio "file" o "url". |
urlopcional | string | Dirección https descargable del archivo (cuerpo JSON). Úsela para grabaciones grandes. |
languageopcional | string | Idioma de la grabación, p. ej. tr, en, es (ISO 639-1). Si se omite, se detecta automáticamente; indicarlo mejora la precisión. |
diarizeopcional | boolean | Separar hablantes (true/false). Predeterminado: true. |
speakersopcional | integer | Número de hablantes en la grabación (1–32). Indicarlo mejora la separación. |
audio_eventsopcional | boolean | Marcar en el texto sonidos como risas, aplausos o música. Predeterminado: false. |
formatopcional | string | Formato de respuesta: json (predeterminado), txt (texto con tiempos y hablantes) o srt (archivo de subtítulos). |
# 4 MB'a kadar dosya: doğrudan yükleme
curl -X POST https://www.voicego.net/api/v1/transcribe \
-H "Authorization: Bearer $VOICEGO_API_KEY" \
-F "file=@gorusme.mp3" \
-F "language=tr" \
-F "speakers=2"
# Büyük dosya: indirilebilir adres, SRT altyazı olarak
curl -X POST https://www.voicego.net/api/v1/transcribe \
-H "Authorization: Bearer $VOICEGO_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"url": "https://depo.ornek.com/egitim-videosu.mp4",
"language": "tr",
"format": "srt"
}' \
--output altyazi.srtRespuesta
Respuesta en formato json; con txt y srt la respuesta es el propio archivo de texto. Cabeceras de respuesta:
X-Billed-Seconds— Segundos descontados de su tiempo de transcripción en esta peticiónX-Transcription-Limit-Seconds · X-Transcription-Used-Seconds · X-Transcription-Remaining-Seconds— Tiempo mensual de transcripción, uso de este mes y tiempo restante (segundos)
{
"text": "Merhaba, Voice Go'ya hoş geldiniz. Teşekkürler, sizi dinliyorum.",
"language": "tur",
"duration_seconds": 6.84,
"billed_seconds": 7,
"speakers": ["speaker_1", "speaker_2"],
"segments": [
{ "speaker": "speaker_1", "start": 0.12, "end": 2.9, "text": "Merhaba, Voice Go'ya hoş geldiniz." },
{ "speaker": "speaker_2", "start": 3.4, "end": 6.7, "text": "Teşekkürler, sizi dinliyorum." }
]
}La petición se acepta mientras le quede tiempo y se transcribe la grabación completa; si es más larga que su tiempo restante, la diferencia también se contabiliza. Las grabaciones largas pueden tardar unos minutos; configure un tiempo de espera de al menos 5 minutos.
Uso y cuota
GET/api/v1/usage
Devuelve su cuota mensual de caracteres, su tiempo de transcripción, su uso y cuándo se renuevan. Las cuotas se comparten con el estudio y se renuevan el día 1 de cada mes (UTC).
{
"characters": { "limit": 500000, "used": 128450, "remaining": 371550 },
"transcription_seconds": { "limit": 36000, "used": 5420, "remaining": 30580 },
"period": { "resets_at": "2026-11-01T00:00:00.000Z" }
}Etiquetas en el texto
Con las voces HD puede añadir etiquetas en el texto para pausas, susurros, risas y más. En las voces que no las admiten, se eliminan sin leerse.
[pause]Pausa corta[whispers]Susurro[laughs]Risa[long pause]Pausa larga[sighs]Suspiro[laughs harder]Carcajada[giggles]Risita[shouts]En voz alta[crying]Llanto[mischievously]Pícaro[clears throat]Carraspeo[gasps]Grito ahogado[exhales]Respiración[coughs]Tos[yawns]Bostezo"text": "Kampanyamız başladı! [pause] Detaylar için bire basın."Códigos de error
Los errores se devuelven como JSON: { "error": { "code": "...", "message": "..." } }. Los mensajes están en inglés.
{
"error": {
"code": "quota_exceeded",
"message": "Your monthly character quota has been used up."
}
}| Código | HTTP | Significado |
|---|---|---|
| missing_api_key | 401 | Falta la cabecera Authorization. |
| invalid_api_key | 401 | La clave no es válida o se ha revocado. |
| invalid_request | 400 | El cuerpo no es JSON o un parámetro no es válido. |
| text_too_long | 400 | El texto supera 2500 caracteres. |
| unknown_voice | 400 | No se encontró el ID de la voz. |
| no_quota | 402 | La cuenta aún no tiene cuota asignada. |
| quota_exceeded | 402 | Se ha agotado la cuota mensual. |
| rate_limited | 429 | Demasiadas peticiones; espere el tiempo de la cabecera Retry-After. |
| generation_failed | 502 | No se pudo generar el audio; reintente la petición. |
| missing_audio | 400 | No se envió archivo (file) ni dirección (url) para transcribir. |
| invalid_url | 400 | La dirección no es https o no se pudo descargar el archivo. |
| unsupported_audio | 400 | El archivo no se pudo leer como audio o vídeo. |
| file_too_large | 413 | El archivo subido supera 4 MB; envíelo con url. |
| audio_too_long | 413 | La grabación es demasiado larga o grande para una sola petición. |
| no_speech | 422 | No se encontró voz en la grabación (no se contabiliza). |
| transcription_failed | 502 | No se pudo transcribir la grabación; reintente la petición. |
| service_unavailable | 503 | El servicio no está disponible temporalmente. |
Límites
- Hasta 2500 caracteres por petición.
- Hasta 60 peticiones de texto a voz y 10 de transcripción por minuto por clave. Si se supera, se devuelve 429.
- Las subidas directas para transcribir están limitadas a 4 MB; envíe los archivos mayores con url.
- Su cuenta tiene una cuota mensual de caracteres y un tiempo de transcripción; el estudio y la API comparten la misma cuota.
- Contacte con su gestor de cuenta para ampliar la cuota.
Seguridad
- Use su clave de API solo en el servidor; nunca la incluya en código de navegador o de aplicaciones móviles.
- Si cree que su clave se ha filtrado, avísenos; la revocaremos de inmediato y le daremos una nueva.
- Las claves se guardan solo como hash cifrado; nadie, ni siquiera nosotros, puede ver su clave.
- Los textos y grabaciones que envía solo se procesan para generar el audio y las transcripciones, y nunca se usan para entrenar modelos de IA.
- Las grabaciones enviadas para transcribir y sus transcripciones no se guardan en los servidores de Voice Go; el resultado solo se le devuelve a usted.
Contáctenos para acceder a la API
Cuéntenos su volumen y sus necesidades de integración y configuraremos juntos su clave y su cuota.
Solicitar una demo