Een audiobestand transcriberen via de API
Stuur de opname in het multipart-veld file. Je kunt language, diarize, source en webhook_url meegeven. De uploaddocumentatie toont het volledige request. Met een webhook hoor je wanneer de verwerking klaar is of mislukt.
Deze route is handig als je server het bestand al op schijf heeft. Laat je HTTP-client de multipart-boundary instellen en verstuur de echte bestandsbytes. Een lokaal pad als tekst in JSON is geen upload. Een leeg bestand of verkeerde extensie vraagt om betere invoer, niet om eindeloze retries.
Controleer bestandsgrootte en speelduur apart. Een sterk gecomprimeerde opname kan onder 95 MB blijven maar langer dan 5 uur duren. Een korte video met hoge resolutie kan juist te groot zijn voor één request. De grootte bepaalt de uploadroute; de duur bepaalt of speech-to-text de opname accepteert.
curl -X POST "https://api.transcript1.com/v1/transcriptions?wait=60" \
-H "Authorization: Bearer $TRANSCRIPT1_API_KEY" \
-F [email protected] \
-F language=autoEen upload opzetten die je kunt hervatten
Reserveer de upload met de bestandsnaam en grootte. Je krijgt een plan met de te versturen delen en een X-Upload-Token voor alleen deze upload. De stappen voor chunked uploads beschrijven de hele volgorde.
Volg het plan uit de response. Elk deel heeft een index, byte-offset en grootte. Lees precies dat bereik uit je bestand; het laatste deel kan kleiner zijn. Gebruik het uploadtoken voor de binaire PUT-requests. Het is 1 uur geldig en vervangt je gewone API-sleutel niet.
Gebruik een vaste Idempotency-Key als je de reservering mogelijk moet herhalen. Is het token verlopen, stuur dan dezelfde sleutel en parameters opnieuw: je krijgt een nieuw token voor de bestaande upload. Zo raak je de voortgang niet kwijt tussen onnodige nieuwe reserveringen.
curl -X POST "https://api.transcript1.com/v1/transcriptions" \
-H "Authorization: Bearer $TRANSCRIPT1_API_KEY" \
-H "Idempotency-Key: interview-2026-10-13" \
-H "Content-Type: application/json" \
-d '{"upload":{"filename":"interview.m4a","size":48210334,"mime_type":"audio/mp4"}}'Stuur de delen en geef aan dat de upload compleet is
Stuur elk deel met PUT naar de bijbehorende URL, met het uploadtoken. Rond daarna de upload af. Pas als alle delen kloppen, zetten we de transcriptie in de wachtrij. De upload-endpoints geven je de voortgang en de afrondingsroute.
Vraag voor het hervatten GET /v1/transcriptions/:id/upload op. Vergelijk received_chunks met je oorspronkelijke plan en verstuur alleen wat ontbreekt. Verstuur je een deel opnieuw, dan vervangt dat het eerdere deel; de grootte moet nog steeds kloppen. Een 401 kan betekenen dat je token is verlopen, niet dat je het mediabestand opnieuw moet maken.
Bij 409 upload_incomplete krijg je de ontbrekende indexen terug. Vul die aan en rond de upload opnieuw af. Zodra de transcriptie in de wachtrij staat, volg je de status of wacht je op de webhook. Laat je interface onderscheid maken tussen uploadvoortgang en transcriptievoortgang.
curl -X PUT "https://api.transcript1.com/v1/transcriptions/tr_8fK2Lm0PqRsTuVwXyZaBcD/upload/chunks/0" \
-H "X-Upload-Token: t1u_..." \
-H "Content-Type: application/octet-stream" \
--data-binary @chunk-0.bin
curl -X POST "https://api.transcript1.com/v1/transcriptions/tr_8fK2Lm0PqRsTuVwXyZaBcD/upload/complete" \
-H "Authorization: Bearer $TRANSCRIPT1_API_KEY"Een geüpload bestand is nog geen afgerond transcript
Bij awaiting_upload wacht de reservering nog op het bestand. Na het versturen volgen de controle van de upload en pas daarna de verwerking. Verlies je de verbinding na het afronden, lees dan eerst de status. Ga er niet vanuit dat je opnieuw moet afronden.
Per team kun je maximaal 20 open uploadreserveringen hebben. Rond je een reservering niet binnen 24 uur af, dan annuleren we die en verwijderen we de delen. Na de eindstatus van een transcriptie verwijderen we de media na 24 uur. Het transcript blijft totdat je het verwijdert. Bewaar zelf de audio als je app die later nog moet kunnen afspelen.
De bytes versturen is het begin. Maak je een uploadfunctie voor gebruikers, lees dan ook hoe je opnames voorbereidt en tekst controleert. Voor onderzoek helpt de interviewgids je om deelnemers, citaten en notities goed uit elkaar te houden.