Dokumentation

Freezetale ist ein blitzschneller Sprach-zu-Text-API-Dienst, der in Norwegen gehostet wird und dessen Betrieb durch Islands zu 100 % erneuerbare Wasserkraft- und Geothermieenergie gesichert ist.

Da automatische Sprecher-Diarisierung (Sprecherkennzeichnung) von Haus aus für alle Sprachen unterstützt wird, ist Freezetale die perfekte Lösung für all Ihre Anforderungen an Speech-to-Text.

Verbindung und Autorisierung

Um die Freezetale-APIs zu nutzen, erstellen Sie zuerst ein Projekt und ein API-Token. Anschließend finden Sie die ID Ihres Projekts oberhalb der Transkriptionsliste.

Hinweis: Sowohl die Projekt-ID als auch das API-Token unterscheiden zwischen Groß- und Kleinschreibung. Anfragen an die API müssen über HTTPS erfolgen. Aufrufe über unverschlüsseltes HTTP schlagen fehl. API-Anfragen ohne Authentifizierung schlagen ebenfalls fehl.

Praktischerweise können Sie hier Ihre Projekt-ID und Ihr Token eintragen, und wir verwenden diese in den Beispielen unten anstelle von Platzhaltern.

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

Transkription erstellen

Starten Sie einen neuen Transkriptionsauftrag. Erkennt und entfernt automatisch identische Anfragen.

Siehe unterstützte Sprachen für die Codes, die in language verwendet werden.

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"
Beispielantwort
{
	"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"
	}
}

Transkription abrufen

Rufen Sie einen Transkriptionsauftrag anhand seiner ID ab.

Wenn der Transkriptionsauftrag abgeschlossen ist, ändert sich sein status zu completed. Außerdem wird resultUrl auf eine URL gesetzt, die das Ergebnis der Transkription und weitere Metadaten enthält, die dann heruntergeladen werden können.

Die Antwort enthält einen Last-Modified Header, den Sie beim Abfragen der API nach Aktualisierungen mit If-Modified-Since verwenden können.

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"
Beispielantwort
{
	"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 kann einen der folgenden Werte annehmen: pending, errored, timeout, cancelled, completed.

Beispielantwort
{
	"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
		}
	}
}

Hinweis: Alle Zeitwerte sind in Millisekunden.

Alle Transkriptionen abrufen

Rufen Sie eine Liste aller Transkriptionsaufträge in einem Projekt ab.

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

Unterstützte Sprachen

Freezetale unterstützt die folgenden Sprachen. Wenn Sie möchten, dass eine Sprache hinzugefügt wird, nehmen Sie bitte Kontakt mit uns auf.

SpracheCodeUnterstützt Sprecher-Diarisierung
EnglishenJa
DanishdaJa
GermandeJa
SpanishesJa
FinnishfiJa
FrenchfrJa
IcelandicisJa
DutchnlJa
Norwegian (Nynorsk)nnJa
Norwegian (Bokmål)noJa
SwedishsvJa

Grenzen

Ihre API-Anfragen sind abhängig von den Bedingungen Ihres Abonnementplans. Andernfalls gelten diese allgemeinen Beschränkungen:

  • Maximale Dateigröße: 1024 MB
  • Maximale Audiodauer: 180 Minuten

100 % erneuerbar?

Obwohl das Rechenzentrum von Freezetale in Norwegen liegt, befinden sich unsere GPUs für die Transkriptionsausführung in Island und werden mit Islands zu 100 % erneuerbarer Wasserkraft und Geothermie betrieben. Dies ermöglicht es uns, Transkriptionen mit nahezu null CO₂‑Fußabdruck zu liefern und gleichzeitig vollständig mit der Datenschutz-Grundverordnung der EU (DSGVO) konform zu sein.

Ein Produkt von Nattskiftet
Hergestellt in Norwegen
KontaktDatenschutzerklärungNutzungsbedingungen