Dokumentasjon

Freezetale er ein lynrask tale-til-tekst API-teneste hosta i Noreg, driven av Islands 100 % fornybare vasskraft- og geotermiske energinett.

Med automatisk speaker diarization (talemerking) som er støtta direkte for alle språk, er Freezetale den perfekte løysinga for alle dine tale-til-tekst-behov.

Tilknytning og autorisering

For å bruke Freezetale-API-ane, må du først opprette eit prosjekt og ein API-nøkkel. Deretter finn du ID-en til prosjektet ditt over transkripsjonslista.

Merk: Både prosjekt-ID og API-nøkkel er store og små bokstavar-sensitive. Forespørslar mot API-et må skje over HTTPS. Forespørslar over vanleg HTTP vil feile. API-forespørslar utan autentisering vil også feile.

Du kan enkelt fylle inn prosjekt-ID og nøkkel her, så brukar vi dei i eksempla under i staden for plasshaldarar.

Base-URL
https://freezetale.com/api
Autentisert førespurnad
curl -X GET \
-H "Authorization: Bearer API_TOKEN" \
"https://freezetale.com/api/v1/app/transcriptions?project-id=PROJECT_ID"

Lag ei transkripsjon

Start ein ny transkripsjonsjobb. Fjerner automatisk duplikatfostringar av identiske førespurnader.

Sjå støtta språk for kodar å bruke i 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"
Eksempel på svar
{
	"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"
	}
}

Hent ein transkripsjon

Hent ein transkripsjonsjobb ved hjelp av ID-en hennar.

Når transkripsjonsjobben er ferdig, endrar status seg til completed. I tillegg blir resultUrl sett til ein URL som inneheld resultatet av transkripsjonen, og annan metadata, som deretter kan lastast ned.

Responsen inneheld ein Last-Modified header som du kan bruke når du sender førespurnad til API-et for oppdateringar med 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"
Eksempel på svar
{
	"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 kan ha ein av følgjande verdiar: pending, errored, timeout, cancelled, completed.

Eksempel på resultatrespons
{
	"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
		}
	}
}

Merk: Alle tidsverdiar er i millisekund.

Hent alle transkripsjonar

Hent ein liste over alle transkripsjonsoppdrag i eit prosjekt.

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

Støtta språk

Freezetale støttar følgjande språk. Om du ønskjer å få lagt til eit språk, ver venleg ta kontakt.

SpråkKodeStøttar talarsegmentering
EnglishenJa
DanishdaJa
GermandeJa
SpanishesJa
FinnishfiJa
FrenchfrJa
IcelandicisJa
DutchnlJa
Norwegian (Nynorsk)nnJa
Norwegian (Bokmål)noJa
SwedishsvJa

Grenser

API-forespørslene dine er avgrensa basert på detaljane i abonnementet ditt. Elles er desse dei generelle grensa:

  • Maksimal filstorleik: 1024 MB
  • Maksimal lydlengd: 180 minutt

100 % fornybar?

Sjølv om Freezetale sitt datasenter er i Noreg, er transkripsjonsruntime-GPU-ane våre plasserte på Island og drivne av Islands 100 % fornybare vass- og geotermiske energinett. Dette gjer det mogleg for oss å levere transkripsjonar med nær null i karbonavtrykk, og å vere fullt ut i samsvar med EU sin personvernforordning (GDPR).

Eit produkt frå Nattskiftet
Laga i Noreg
KontaktPersonvernerklæringVilkår for bruk