Documentación

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

Con diarización automática de hablantes (etiquetas de hablante) soportada de forma nativa para todos los idiomas, Freezetale es la solución perfecta para todas tus necesidades de conversión de voz a texto.

Conexión y autorización

Para usar las APIs de Freezetale, primero cree un proyecto y un token de API. Luego, encuentre el ID de su proyecto sobre la lista de transcripciones.

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

De manera conveniente, puede ingresar su ID de proyecto y token aquí, 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

Iniciar un nuevo trabajo de transcripción. Elimina automáticamente las solicitudes idénticas duplicadas.

Consulte idiomas compatibles para ver los códigos que se utilizan 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"
Respuesta de ejemplo
{
	"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 mediante su ID.

Cuando el trabajo de transcripción ha finalizado, 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 un encabezado Last-Modified que puede usar al consultar la API para actualizaciones utilizando 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"
Respuesta de ejemplo
{
	"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 de resultado
{
	"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"
Respuesta de ejemplo
{
	"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 soportados

Freezetale soporta los siguientes idiomas. Si desea que se añada algún idioma, por favor contáctenos.

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

Límites

Sus solicitudes de 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 de audio: 180 minutos

¿100 % renovable?

Aunque el centro de datos de Freezetale está en Noruega, nuestras GPU de ejecución de transcripciones se encuentran y funcionan con la red energética 100% renovable hidroeléctrica y geotérmica de Islandia. Esto nos permite entregar transcripciones con una huella de carbono casi nula, y además cumplir completamente con el Reglamento General de Protección de Datos (GDPR) de la UE.

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