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_xxxxxxxxxxxxxxxx

Gé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 }
ChampTypeDescription
textstring, requisTexte de l'article (100 à 100 000 caractères). Le moteur prépare automatiquement la lecture : nombres, sigles, heures, mise en forme orale.
external_idstringIdentifiant de l'article dans votre CMS. Sert à retrouver l'article lors des mises à jour.
canonical_urlstringAlternative à external_id : l'URL publique de l'article.
voicestringIdentifiant de voix du catalogue (GET /api/v1/voices). Défaut : la voix configurée pour votre compte.
waitbooleantrue : 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_urlstringMode 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 passage

Mê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.