Documentation

Freezetale est un service API de reconnaissance vocale ultra-rapide hébergé en Norvège, alimenté par le réseau énergétique 100% renouvelable hydroélectrique et géothermique de l'Islande.

Avec la diarisation automatique des locuteurs (étiquettes des locuteurs) prise en charge nativement pour toutes les langues, Freezetale est la solution idéale pour tous vos besoins de transcription de la parole en texte.

Connexion et autorisation

Pour utiliser les API Freezetale, commencez par créer un projet et un jeton API. Ensuite, trouvez l’ID de votre projet au-dessus de la liste des transcriptions.

Remarque : L’ID du projet et le jeton API sont sensibles à la casse. Les requêtes vers l’API doivent être effectuées via HTTPS. Les appels faits en HTTP simple échoueront. Les requêtes API sans authentification échoueront également.

Pratique, vous pouvez saisir ici votre ID de projet et votre jeton, et nous les utiliserons dans les exemples ci-dessous à la place des espaces réservés.

URL de base
https://freezetale.com/api
Requête authentifiée
curl -X GET \
-H "Authorization: Bearer API_TOKEN" \
"https://freezetale.com/api/v1/app/transcriptions?project-id=PROJECT_ID"

Créer une transcription

Démarrer un nouveau travail de transcription. Supprime automatiquement les doublons des demandes identiques.

Voir les langues prises en charge pour les codes à utiliser dans 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"
Réponse d'exemple
{
	"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"
	}
}

Obtenir une transcription

Récupérer un travail de transcription par son ID.

Lorsque la tâche de transcription est terminée, son status passe à completed. De plus, resultUrl est défini sur une URL contenant le résultat de la transcription et d'autres métadonnées, qui peuvent ensuite être téléchargées.

La réponse contient un en-tête Last-Modified que vous pouvez utiliser lors de l'interrogation de l'API pour des mises à jour en utilisant 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"
Réponse d'exemple
{
	"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 peut avoir l'une des valeurs suivantes : pending, errored, timeout, cancelled, completed.

Réponse de résultat d'exemple
{
	"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
		}
	}
}

Remarque : Toutes les valeurs temporelles sont en millisecondes.

Obtenir toutes les transcriptions

Obtenez une liste de toutes les tâches de transcription dans un projet.

GET /v1/app/transcriptions
curl -X GET \
-H "Authorization: Bearer API_TOKEN" \
"https://freezetale.com/api/v1/app/transcriptions?project-id=PROJECT_ID"
Réponse d'exemple
{
	"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"
		}
	]
}

Langues prises en charge

Freezetale prend en charge les langues suivantes. Si vous souhaitez voir une langue ajoutée, veuillez nous contacter.

LangueCodePrend en charge la diarisation des locuteurs
EnglishenOui
DanishdaOui
GermandeOui
SpanishesOui
FinnishfiOui
FrenchfrOui
IcelandicisOui
DutchnlOui
Norwegian (Nynorsk)nnOui
Norwegian (Bokmål)noOui
SwedishsvOui

Limites

Vos requêtes API sont limitées en fonction des détails de votre plan d'abonnement. Autrement, voici les limites générales :

  • Taille maximale du fichier : 1024 Mo
  • Durée audio maximale : 180 minutes

100 % renouvelable ?

Bien que le centre de données de Freezetale se trouve en Norvège, nos GPU d’exécution de transcription sont situés en Islande et alimentés par le réseau énergétique hydroélectrique et géothermique 100 % renouvelable de l’Islande. Cela nous permet de fournir des transcriptions avec une empreinte carbone quasi nulle, tout en respectant pleinement le Règlement général sur la protection des données (RGPD) de l’UE.

Un produit de Nattskiftet
Fabriqué en Norvège
ContactPolitique de confidentialitéConditions d’utilisation