Podcast transcript API

Une API de transcription de podcast, côté intégration

Deux entrées possibles pour la même sortie : l’URL audio d’un épisode ou l’URL de la page de l’épisode. Le job renvoie toujours le même JSON.

requête
# 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 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://example.com/episodes/142" }'
réponse
{
  "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 épisode de podcast n’est jamais une seule URL. Selon l’endroit où vous branchez votre intégration, vous avez sous la main l’enclosure MP3 ou simplement le lien de la page de l’épisode copié depuis un lecteur. Écrire deux chemins de code pour transcrire le même épisode n’a aucun intérêt.

Techtuel accepte les deux. Un fichier audio directement téléchargeable passe par audio_url. Une page d’épisode passe par source_url : l’API résout la page, trouve le média associé et le transcrit. Dans les deux 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

Deux entrées, un contrat

Enclosure MP3 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

Gratuit100 crédits/mois (≈ 50 min), de quoi transcrire un épisode complet
Pro3000 crédits/mois (≈ 1500 min), 120 req/min pour un back-catalogue

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 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. Un épisode que vous avez déjà transcrit n’est pas refacturé 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