Générer un post
POST https://app.petitpanda.io/api/generate-postGénère un draft pour une seule plateforme à partir d’un sujet, d’un ton et (optionnellement) d’une source. Le draft est immédiatement sauvegardé dans ton compte et accessible via son draft_id.
Pour générer plusieurs plateformes d’un coup à partir d’une même source (vidéo YouTube, article, transcript), utilise plutôt POST /remix.
Authentification
Scope requis : reels:generate.
Authorization: Bearer ppk_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxParamètres
| Paramètre | Type | Requis | Description |
|---|---|---|---|
platform | string | oui | linkedin, twitter, instagram ou tiktok |
topic | string | oui | Sujet, angle ou hook de départ. 5 à 500 caractères |
tone | string | non | professional, casual, friendly ou expert. Par défaut : ton du Brand Kit |
content_type | string | non | post, carousel ou thread. Par défaut : post |
source | string | non | Texte brut ou URL utilisé pour grounder la génération (article, transcript, page web) |
Exemple de requête
cURL
curl -X POST https://app.petitpanda.io/api/generate-post \
-H "Authorization: Bearer $PETITPANDA_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"platform": "linkedin",
"topic": "Comment j'ai automatisé ma compta avec n8n",
"tone": "friendly",
"content_type": "post",
"source": "https://blog.example.com/n8n-compta-setup"
}'Réponse
200 OK : draft créé avec succès.
{
"draft_id": "drft_8f3a1c2b9e7d4f5a",
"platform": "linkedin",
"content_type": "post",
"content": "J'ai passé 3 ans à faire ma compta à la main.\n\nChaque fin de mois, 4h perdues à recopier des factures, à matcher des paiements Stripe, à relancer des clients.\n\nLa semaine dernière, j'ai automatisé tout ça avec n8n. 3h de setup, et maintenant : 0 minute par mois.\n\nLe workflow :\n→ Webhook Stripe → push facture dans Pennylane\n→ Cron quotidien → matche les paiements en banque\n→ Relance auto à J+7 / J+14 / J+30\n\nROI : 48h par an. Coût : 0€ (n8n self-hosted).\n\nSi tu veux le template, dis-le en commentaire.",
"tone": "friendly",
"source_url": "https://blog.example.com/n8n-compta-setup",
"credits_used": 1,
"credits_remaining": 247,
"created_at": "2026-05-20T14:32:18Z"
}Champs retournés
| Champ | Type | Description |
|---|---|---|
draft_id | string | Identifiant unique du draft. À garder pour POST /schedules |
platform | string | Plateforme cible |
content_type | string | Type de contenu (post, carousel, thread) |
content | string | Texte généré, prêt à publier |
tone | string | Ton appliqué |
source_url | string | null | Source utilisée pour le grounding |
credits_used | number | Crédits consommés par cet appel |
credits_remaining | number | Crédits restants sur ton compte |
created_at | string | ISO 8601 UTC |
Coût
| Type de contenu | Crédits |
|---|---|
post | 1 crédit |
thread | 2 crédits |
carousel | 3 crédits |
Si tu n’as plus assez de crédits, tu recevras une erreur 402 (voir ci-dessous).
Erreurs
| Code | Cause | Solution |
|---|---|---|
400 | JSON invalide ou paramètre manquant | Vérifie le body et les champs requis |
401 | Clé API absente, invalide ou révoquée | Régénère une clé depuis Réglages > API |
402 | Crédits insuffisants | Recharge depuis Compte > Crédits |
403 | Scope reels:generate manquant sur la clé | Crée une nouvelle clé avec le bon scope |
422 | Valeur de platform ou tone non reconnue | Voir la liste des valeurs autorisées plus haut |
429 | Rate limit dépassé | Attends ou passe à un plan supérieur |
Détail complet : Limites & codes d’erreur.
💡 Pour générer en batch (10+ posts d’un coup), enchaîne les appels avec un délai de 600ms entre chaque pour rester sous la limite Pro de 100 req/min.
Et après ?
- Programme le draft fraîchement généré : Programmer un post
- Comprends les codes d’erreur en détail : Limites & codes d’erreur
Last updated on