Documentación

Freezetale es un servicio de API de conversión de voz a texto ultrarrápido alojado en Noruega, alimentado por la red energética hidroeléctrica y geotérmica 100% renovable de Islandia.

Con diarización automática de hablantes (etiquetas de hablantes) incluida de serie para todos los idiomas, Freezetale es la solución perfecta para todas sus necesidades de transcripción de voz a texto.

Conexión y autorización

Para usar las API de Freezetale, primero crea un proyecto y un token de la API. Luego, encuentra el ID de tu proyecto sobre la lista de transcripciones.

Nota: Tanto el ID del proyecto como el token de la API distinguen entre mayúsculas y minúsculas. Las solicitudes a la API deben realizarse mediante HTTPS. Las llamadas realizadas por HTTP sin cifrar fallarán. Las solicitudes a la API sin autenticación también fallarán.

Para mayor comodidad, puedes rellenar aquí tu ID de proyecto y tu token, y los usaremos en los ejemplos a continuación en lugar de marcadores de posición.

URL base
https://freezetale.com/api
Solicitud autenticada
curl -X GET \
-H "Authorization: Bearer API_TOKEN" \
"https://freezetale.com/api/v1/app/transcriptions?project-id=PROJECT_ID"

Crear una transcripción

Inicia un nuevo trabajo de transcripción. Realiza automáticamente la desduplicación de solicitudes idénticas.

Consulte idiomas compatibles para ver los códigos que se usan en language.

POST /v1/app/transcriptions
curl -X POST \
-H "Authorization: Bearer API_TOKEN" \
--json '{"audioUrl": "https://example.com/audio.mp3", "language": "en"}' \
"https://freezetale.com/api/v1/app/transcriptions?project-id=PROJECT_ID"
Ejemplo de respuesta
{
	"success": true,
	"transcription": {
		"id": "o3V8FEvUHG21BcuQBCwSZXqO7BV3",
		"status": "pending",
		"audio": {
			"url": "https://example.com/audio.mp3",
			"language": "en"
		},
		"creationDate": "2025-06-07T12:00:00.000Z",
		"modificationDate": "2025-06-07T12:00:00.000Z"
	}
}

Obtener una transcripción

Recuperar un trabajo de transcripción por su ID.

Cuando se completa el trabajo de transcripción, su status cambia a completed. Además, resultUrl se establece en una URL que contiene el resultado de la transcripción y otros metadatos, que luego se pueden descargar.

La respuesta contiene una cabecera Last-Modified que puede usar al hacer ping a la API para obtener actualizaciones usando If-Modified-Since.

GET /v1/app/transcriptions
curl -X GET \
-H "Authorization: Bearer API_TOKEN" \
"https://freezetale.com/api/v1/app/transcriptions?id=TRANSCRIPTION_ID&project-id=PROJECT_ID"
Ejemplo de respuesta
{
	"success": true,
	"transcription": {
		"id": "pkbvMEdhVavGa80K4zBU53N3XiCR",
		"status": "completed",
		"audio": {
			"url": "https://example.com/audio.mp3",
			"language": "en",
			"length": 1034947.4375
		},
		"resultUrl": "https://example.com/36c16505-0fb5-4b8c-8e22-0240d95e1eb5-pkbvMEdhVavGa80K4zBU53N3XiCR.json",
		"creationDate": "2025-06-07T12:00:00.000Z",
		"modificationDate": "2025-06-07T12:00:00.000Z",
		"completionDate": "2025-06-07T12:00:00.000Z"
	}
}

status puede ser uno de los siguientes valores: pending, errored, timeout, cancelled, completed.

Ejemplo de respuesta
{
	"id": "b25129c7-6354-4676-923f-c997ba8fb3db",
	"reference": "pkbvMEdhVavGa80K4zBU53N3XiCR",
	"words": [
		{
			"start": 1448,
			"end": 2108,
			"word": "Hello!",
			"speaker": 1
		}
	],
	"metadata": {
		"speakers": 1,
		"confidence": 0.988733,
		"language": {
			"input": "en",
			"detected": "en"
		},
		"audio": {
			"type": "audio/mpeg",
			"size": 788013,
			"length": 1034947.4375
		}
	}
}

Nota: Todos los valores de tiempo están en milisegundos.

Obtener todas las transcripciones

Obtenga una lista de todos los trabajos de transcripción en un proyecto.

GET /v1/app/transcriptions
curl -X GET \
-H "Authorization: Bearer API_TOKEN" \
"https://freezetale.com/api/v1/app/transcriptions?project-id=PROJECT_ID"
Ejemplo de respuesta
{
	"success": true,
	"transcriptions": [
		{
			"id": "o3V8FEvUHG21BcuQBCwSZXqO7BV3",
			"status": "pending",
			"audio": {
				"url": "https://example.com/audio.mp3",
				"language": "en"
			},
			"creationDate": "2025-06-07T12:00:00.000Z",
			"modificationDate": "2025-06-07T12:00:00.000Z",
			"estimatedCompletionDate": "2025-06-07T12:00:00.000Z"
		},
		{
			"id": "pkbvMEdhVavGa80K4zBU53N3XiCR",
			"status": "completed",
			"audio": {
				"url": "https://example.com/audio.mp3",
				"language": "en",
				"length": 1034947.4375
			},
			"resultUrl": "https://example.com/36c16505-0fb5-4b8c-8e22-0240d95e1eb5-pkbvMEdhVavGa80K4zBU53N3XiCR.json",
			"creationDate": "2025-06-07T12:00:00.000Z",
			"modificationDate": "2025-06-07T12:00:00.000Z",
			"completionDate": "2025-06-07T12:00:00.000Z"
		}
	]
}

Idiomas compatibles

Freezetale admite los siguientes idiomas. Si desea que añadamos algún idioma, por favor póngase en contacto.

IdiomaCódigoAdmite la diarización de hablantes
Englishen
Danishda
Germande
Spanishes
Finnishfi
Frenchfr
Icelandicis
Dutchnl
Norwegian (Nynorsk)nn
Norwegian (Bokmål)no
Swedishsv

Límites

Sus solicitudes a la API están limitadas según los detalles de su plan de suscripción. De lo contrario, estos son los límites generales:

  • Tamaño máximo de archivo: 1024 MB
  • Duración máxima del audio: 180 minutos

¿100% renovable?

Si bien el centro de datos de Freezetale está en Noruega, nuestras GPUs de tiempo de ejecución para transcripciones se encuentran en Islandia y funcionan con la red energética islandesa 100% renovable, basada en energía hidroeléctrica y geotérmica. Esto nos permite ofrecer transcripciones con una huella de carbono casi nula y además cumplir plenamente con el Reglamento General de Protección de Datos de la UE (GDPR).

Un producto de Nattskiftet
Hecho en Noruega
ContactoPolítica de privacidadTérminos de uso