Documentation

Freezetale est un service API de conversion de la parole en texte ultra-rapide hébergé en Norvège, alimenté par le réseau énergétique islandais 100 % renouvelable, issu de l'hydroélectricité et de la géothermie.

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.

Connexion et autorisation

Pour utiliser les API Freezetale, créez d'abord 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 effectués en HTTP non chiffré échoueront. Les requêtes API sans authentification échoueront également.

Pour plus de commodité, vous pouvez remplir votre ID de projet et votre jeton ici, et nous les utiliserons dans les exemples ci-dessous à la place des valeurs de remplacement.

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émarrez une nouvelle tâche de transcription. Les requêtes identiques sont automatiquement dédupliquées.

Consultez 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"
Exemple de réponse
{
	"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"
	}
}

Récupérer une transcription

Récupérer une tâche de transcription par son identifiant.

Quand le travail de transcription est terminé, 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 pour interroger l'API afin d'obtenir 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"
Exemple de réponse
{
	"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 être l'une des valeurs suivantes : pending, errored, timeout, cancelled, completed.

Exemple de réponse
{
	"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 de temps sont en millisecondes.

Récupérer toutes les transcriptions

Obtenir la liste de toutes les tâches de transcription d'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"
Exemple de réponse
{
	"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 qu'une langue soit ajoutée, veuillez nous contacter.

LangueCodePrise en charge de 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 abonnement. Sinon, voici les limites générales :

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

100 % renouvelable ?

Bien que le centre de données de Freezetale soit en Norvège, nos GPU d'exécution des transcriptions sont situés en Islande et alimentés par son réseau énergétique 100 % renouvelable, hydroélectrique et géothermique. Cela nous permet de fournir des transcriptions avec une empreinte carbone quasi nulle, et d'être également pleinement conformes au 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