▶ Référence API
Une requête pour transformer un article en audio, un script d'une ligne pour afficher le lecteur. Trois modes d'intégration selon votre infrastructure : synchrone (presse), asynchrone (webhook), ou zéro-intégration (flux RSS).
Authentification
Toutes les requêtes portent votre clé d'API dans l'en-tête :
Authorization: Bearer wd_live_xxxxxxxxxxxxxxxxGénérer l'audio d'un article
POST https://wedispatch.vercel.app/api/v1/podcasts
Content-Type: application/json
{
"text": "Le texte intégral de l'article…",
"title": "Titre de l'article",
"external_id": "id-dans-votre-cms", // ou canonical_url
"voice": "7345dfa5-…", // GET /api/v1/voices
"wait": true, // mode presse : réponse avec l'audio prêt
"webhook_url": "https://votre-site.fr/hook" // mode asynchrone
}| Champ | Type | Description |
|---|---|---|
| text | string, requis | Texte de l'article (100 à 100 000 caractères). Le moteur prépare automatiquement la lecture : nombres, sigles, heures, mise en forme orale. |
| external_id | string | Identifiant de l'article dans votre CMS. Sert à retrouver l'article lors des mises à jour. |
| canonical_url | string | Alternative à external_id : l'URL publique de l'article. |
| voice | string | Identifiant de voix du catalogue (GET /api/v1/voices). Défaut : la voix configurée pour votre compte. |
| wait | boolean | true : la réponse n'arrive qu'avec l'audio prêt (≈5-15 s selon la longueur, textes ≤ 20 000 caractères). Recommandé pour publier l'article avec son audio dès la mise en ligne. |
| webhook_url | string | Mode asynchrone : nous appelons cette URL quand l'audio est prêt. |
Réponse — mode synchrone (wait: true)
200 OK
{
"article_id": "9f3c…",
"status": "ready",
"audio_url": "https://…/v1.mp3",
"duration_s": 74,
"embed": "https://wedispatch.vercel.app/embed/9f3c…"
}Réponse — mode asynchrone
202 Accepted
{ "article_id": "9f3c…", "status": "processing", "embed": "https://…/embed/9f3c…" }
// puis, sur votre webhook_url :
POST https://votre-site.fr/hook
{ "article_id": "9f3c…", "status": "ready", "audio_url": "https://…/v1.mp3", "duration_s": 74 }L'audio peut être servi depuis nos serveurs (URL stable) ou récupéré via audio_url et hébergé sur votre propre infrastructure — au choix.
Afficher le lecteur
Une ligne dans le template d'article — compatible avec tous les CMS :
<script src="https://wedispatch.vercel.app/player.js"
data-article="ARTICLE_ID" defer></script>Le lecteur s'insère automatiquement avant le premier paragraphe, ou exactement là où vous placez<div data-wedispatch></div>. Les écoutes sont comptabilisées dans votre espace client.
Mises à jour d'articles
Renvoyez le même external_id avec le texte modifié : l'audio existant reste servi et l'article passe en statut stale. Vous déclenchez la nouvelle version quand l'article est stabilisé — aucune régénération (ni facturation) accidentelle en cas d'éditions successives.
POST /api/v1/podcasts/{article_id}/regenerate
{ "voice": "…" } // optionnel : changer de voix au passageMême texte renvoyé deux fois = aucune génération ni facturation (déduplication automatique). Les webhooks reçus en double sont ignorés (idempotence).
Suivre un article
GET /api/v1/podcasts/{article_id}
→ { "status": "ready", "audio": { "url", "voice", "duration_s", "version" }, … }Catalogue de voix
GET /api/v1/voices
→ { "default": "…", "voices": [ { "id", "label", "style" }, … ] }Voix françaises professionnelles (présentateur, narration, expert…). Deux niveaux de qualité selon votre forfait : Premium (recommandé presse) et Standard. Voix sur mesure et clonage disponibles en offre entreprise.
Consommation
GET /api/v1/usage
→ { "quota_chars", "chars_used", "percent_used", "generations", "listens", … }Également visible dans votre espace client. Alerte à 80 % du forfait ; au-delà de 100 %, les générations sont suspendues jusqu'au mois suivant (ou passage au forfait supérieur).
Zéro intégration : flux RSS / sitemap
Pas d'équipe technique ? Donnez-nous l'URL de votre flux : les nouveaux articles sont détectés, convertis en audio automatiquement, et le lecteur (une ligne de script à coller une seule fois dans votre template) affiche chaque audio dès qu'il est prêt. Mise en route en 10 minutes.
Hébergement & conformité
Données et audio hébergés dans l'Union européenne (Irlande). Textes traités uniquement pour la génération, jamais utilisés pour entraîner des modèles. Clés d'API révocables à tout moment, stockées hachées. Option : hébergement des MP3 sur votre infrastructure.
Une spécificité dans votre CMS ? On développe l'intégration avec vous — contactez-nous.