Skip to main content

Documentation API Podhoc

Integrez la generation de podcasts dans vos applications avec l'API REST Podhoc. Creez, gerez et telechargez des podcasts generes par IA.

Integrez la generation de podcasts dans vos applications

Podhoc propose une API REST avec Pro pour générer de l’audio à partir d’URL. Google Cloud documente une API en Preview pour les Audio Overviews des carnets et une API autonome de podcasts. Leur configuration, authentification et leurs limites diffèrent ; consultez la documentation actuelle avant toute intégration.

API audio de Google Cloud. Comparaison vérifiée le 16 septembre 2026.

Publication par défaut : avec un jeton de production, omettre auto_publish revient à true : le podcast généré peut être public dans Discover. Envoyez explicitement "auto_publish": false pour demander un audio privé ; le compte doit autoriser le contrôle de publication. Les jetons de test utilisent false par défaut et ne peuvent pas publier automatiquement. Une source privée ne rend pas l’audio généré privé.

Changement incompatible – style est desormais valide. Un style fourni explicitement qui n’est pas l’un des neuf identifiants canoniques renvoie desormais 400 INVALID_STYLE. Jusqu’a ce changement, une valeur non reconnue etait acceptee en silence et generee comme deep_dive. Les versions precedentes de cette page utilisaient "style": "conversational" dans les exemples : conversational n’a jamais ete un identifiant reel, donc ces appels produisaient deep_dive depuis toujours et l’audio recu n’etait pas celui que la documentation laissait entendre. Remplacez toute valeur non reconnue par un identifiant canonique. Omettre style, ou envoyer null ou une chaine vide, utilise toujours deep_dive par defaut.

Sources de contenu : L’API accepte uniquement les URLs accessibles publiquement. Le telechargement de fichiers et le texte brut ne sont pas pris en charge actuellement. Si votre organisation a des exigences de conformite ou de securite qui empechent l’hebergement public, veuillez creer un ticket de support pour discuter des options d’integration entreprise.

Demarrage rapide

  1. Souscrivez un abonnement PRO sur app.podhoc.com
  2. Creez un jeton API sur app.podhoc.com/account/api-access
  3. Envoyez votre premiere requete avec les exemples ci-dessous

Authentification

Toutes les requetes API necessite un en-tete X-Api-Key avec votre jeton :

X-Api-Key: phk_test_a1b2c3d4e5f6...

URL de base : https://api-ext.podhoc.com/v1

Types de jetons :

  • Jetons de test (phk_test_...) – Moins cher, fonctions limitees. Pour le developpement et les tests.
  • Jetons de production (phk_prod_...) – Plus cher, acces complet. Pour l’utilisation en production.

Points d’acces

POST /v1/podcasts – Creer un podcast

Lancez la generation d’un nouveau podcast a partir d’une ou plusieurs sources.

curl -X POST https://api-ext.podhoc.com/v1/podcasts \
  -H "X-Api-Key: phk_test_..." \
  -H "Content-Type: application/json" \
  -d '{
    "urls": ["https://example.com/article"],
    "language": "fr",
    "target_duration_minutes": 10,
    "style": "deep_dive"
  }'

Identifiants style valides – exactement ces neuf et aucun autre :

deep_dive, critique, didactic, debate, feynman_technique, simplified_explanation, pedagogical_framework, alchemist_formula, references_recall

Toute autre valeur fournie explicitement renvoie 400 INVALID_STYLE. Omettre le champ, ou envoyer null ou une chaine vide, utilise deep_dive par defaut. De plus, references_recall (Recapitulatif des references et donnees cles) exige une offre Creator ou Pro : toute autre offre recoit 403 TIER_FEATURE_BLOCKED. Voir le guide des styles audio pour ce que produit chacun.

GET /v1/podcasts/{id}/status – Consulter le statut de generation

curl https://api-ext.podhoc.com/v1/podcasts/a1b2c3d4-e5f6-7890-abcd-ef1234567890/status \
  -H "X-Api-Key: phk_test_..."

Valeurs de statut : requested, processing, completed, failed.

GET /v1/podcasts/{id}/download – Telecharger le podcast

curl https://api-ext.podhoc.com/v1/podcasts/a1b2c3d4-e5f6-7890-abcd-ef1234567890/download \
  -H "X-Api-Key: phk_test_..."

GET /v1/estimate-cost – Estimer le cout en credits

curl "https://api-ext.podhoc.com/v1/estimate-cost?duration_minutes=30&source_count=2&voice_count=2" \
  -H "X-Api-Key: phk_test_..."

GET /v1/account/credits – Verifier le solde de credits

curl https://api-ext.podhoc.com/v1/account/credits \
  -H "X-Api-Key: phk_test_..."

Tarifs

La generation de podcasts utilise une tarification dynamique basee sur les credits. L’API applique un multiplicateur supplementaire selon le type de jeton.

Formule :

Cout de base :          max(30, ceil(duree_minutes x 2.5))
Bonus :                 + 20 si plus d'1 source
                        + 10 si poids personnalises actives
Mise a l'echelle voix : x 1.2 si plus d'1 voix
Plafond :               min(500, cout_max_du_tier)
Cout API :              credits_base x multiplicateur_credits

Exemples de cout par duree (1 source, 1 voix, sans poids personnalises) :

DureeCout de baseJeton test (Moins cher)Jeton prod (Plus cher)
5 min304575
10 min304575
30 min75113188
60 min150225375
120 min300450500

Multiplicateurs de credits :

Type de jetonMultiplicateurUtilisation typique
Test (phk_test_...)Moins cherDeveloppement, tests, integration
Production (phk_prod_...)Plus cherApplications en production

Les multiplicateurs de credits (Moins cher pour test, Plus cher pour production) sont les niveaux par defaut. Ceux-ci peuvent etre ajustes – le multiplicateur reel applique a votre requete est affiche dans les metadonnees de la reponse.


Limites de debit

Type de jetonRequetes/minuteRequetes/heureGenerations simultanees
Test10601
Production303005

Codes d’erreur

Statut HTTPCodeDescription
400INVALID_REQUESTChamps requis manquants ou parametres invalides
400INVALID_STYLEstyle n’est pas un des neuf identifiants canoniques
401UNAUTHORIZEDJeton invalide, expire ou revoque
402INSUFFICIENT_CREDITSCredits insuffisants
403TIER_FEATURE_BLOCKEDLe style exige une offre superieure (references_recall)
404PODCAST_NOT_FOUNDPodcast non trouve
429RATE_LIMITEDLimite de debit depassee
500INTERNAL_ERRORErreur serveur inattendue

Jetons de test vs production

FonctionnaliteJeton de testJeton de production
Limite de duree5 minutes max120 minutes max
Limite d’URLs1 par requeteIllimite
LanguesAnglais uniquementLes 73 langues
VoixMax 2Toutes les options
Focus personnaliseNon disponibleDisponible
Poids des sourcesNon disponibleDisponible
TelechargementNon supporteNon supporte
Publication autoNon disponibleDisponible
MultiplicateurMoins cherPlus cher
Limite de debit2/min, 20/h30/min, 300/h
Taches simultanees15