Une API de transcription de podcast, côté intégration
Trois entrées possibles pour la même sortie : l’URL audio d’un épisode, l’URL d’un flux RSS ou l’URL de la page de l’épisode. Le job renvoie toujours le même JSON.
# a) Depuis l'enclosure audio de l'épisode
curl -X POST https://api.techtuel.com/v1/transcriptions \
-H "Authorization: Bearer $TECHTUEL_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "audio_url": "https://media.example.com/ep-142.mp3" }'
# b) Depuis le flux RSS ou la page de l'épisode
curl -X POST https://api.techtuel.com/v1/transcriptions \
-H "Authorization: Bearer $TECHTUEL_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "source_url": "https://feeds.example.com/le-podcast.xml" }'{
"id": "job_e30b",
"status": "completed",
"title": "Le Podcast — #142 Scaler une équipe produit",
"language": "fr",
"minutes": 63.4,
"source_kind": "url",
"source_url": "https://media.example.com/ep-142.mp3",
"transcript": "Salut à tous, on se retrouve…",
"segments": [
{ "start_seconds": 0, "text": "Salut à tous, on se retrouve" },
{ "start_seconds": 12.5, "text": "avec une invitée que j’attendais" }
]
}Un podcast n’est jamais une seule URL. Selon l’endroit où vous branchez votre intégration, vous avez sous la main l’enclosure MP3 d’un flux, l’adresse du flux lui-même, ou simplement le lien de la page de l’épisode copié depuis un lecteur. Écrire trois chemins de code pour transcrire la même émission n’a aucun intérêt.
Techtuel accepte les trois. Un fichier audio directement téléchargeable passe par audio_url. Une URL de flux RSS ou une page d’épisode passe par source_url : l’API résout la source, trouve le média associé et le transcrit. Dans les trois cas, le résultat est un job identique, avec le même contrat JSON à consommer.
Cela compte surtout pour ce que vous construisez par-dessus : notes d’épisode, moteur de recherche interne, index de citations, chapitrage, base de connaissances alimentée par des interviews. Le champ title vous donne le nom de l’épisode déjà résolu, les segments portent leur start_seconds pour faire pointer une phrase vers le bon instant, et ?format=srt fournit directement un fichier de sous-titres pour la version vidéo.
Pourquoi cette API
Trois entrées, un contrat
Enclosure MP3, flux RSS ou page d’épisode : le job renvoie le même JSON. Une seule branche de code à écrire et à tester.
Prêt pour la recherche
transcript pour l’indexation plein texte, segments avec start_seconds pour renvoyer l’auditeur exactement au bon moment de l’épisode.
Traduction à la demande
preferred_language produit un transcript traduit ; translated et detected_language disent ce que vous avez vraiment reçu.
Tarifs lisibles
Questions fréquentes
Quelle entrée choisir entre audio_url et source_url ?+
Utilisez audio_url si vous avez déjà l’adresse du fichier audio. Utilisez source_url pour un flux RSS ou une page d’épisode : l’API se charge d’y retrouver le média.
Comment relier le job à mon épisode en base ?+
Conservez l’id du job renvoyé par le POST à côté de votre identifiant d’épisode. Le job expose aussi source_url et title, ce qui permet de recroiser en cas de reprise.
Peut-on transcrire un back-catalogue entier ?+
Oui. Créez un job par épisode et interrogez-les au rythme de votre traitement. Le cache évite de refacturer une source publique déjà transcrite si vous relancez un import.
Comment générer des sous-titres pour la version vidéo ?+
Récupérez le job avec ?format=srt ou ?format=vtt : le fichier est construit à partir des segments horodatés, sans travail supplémentaire de votre côté.
Les épisodes sont-ils conservés chez vous ?+
Les médias ne sont pas conservés après traitement. Le traitement et l’hébergement sont européens, et la transcription reste la vôtre.
Autres façons d'intégrer l'API
Essai gratuit, sans carte bancaire
Générez une clé API et transcrivez votre première source en moins d'une minute. Quota mensuel gratuit pour tester en conditions réelles.
Commencer avec l'API