L'API Be-Famous est REST, JSON-only. Toutes les requêtes sont authentifiées par bearer token, retournent du JSON, et utilisent les codes HTTP standards. Une seule règle : la livraison suit une sigmoïde, jamais un spike.
Base URLhttps://api.be-famous.tech
Versionv1 (MVP)
Statut opérationnel
Authentication
Clés API
Clés API
Toutes les requêtes utilisent une clé secrète préfixée bf_live_. Génère et révoque tes clés depuis la page Clés API. La partie raw n'est affichée qu'une seule fois à la création — copie-la immédiatement. Une clé révoquée invalide toute requête en cours.
Headers requis
Headers requis
Trois headers sont attendus sur les requêtes mutatives. Authorization porte la clé Bearer, Content-Type est obligatoire en JSON, Idempotency-Key est fortement recommandé sur POST /v1/orders pour rejouer sans dupliquer (contrainte UNIQUE par user en base).
Orders
POST/v1/orders
Créer une commande
Crée une commande de delivery. La livraison est étalée sur plusieurs jours en suivant une courbe sigmoïde décroissante — début rapide, ralentissement progressif, plateau. La durée est auto-calculée depuis le volume : clamp(ceil(18 × log10(V/100)), 6, 240) heures. Les ratios likes/comments sont tirés aléatoirement par plateforme et figés à la création. Pour des commentaires alignés sur le contenu de ton post plutôt que des réactions génériques, passe la caption ou le sujet de la vidéo dans `post_context` (optionnel, max 2200 chars). Pour TikTok, la caption et la transcription audio du clip sont en plus récupérées automatiquement et fusionnées avec ce champ. Si tu connais déjà la caption et le texte parlé de ta vidéo, passe-les dans `post_caption` et `post_transcript` : ils remplacent la récupération automatique, qui échoue sur les vidéos non publiques. La langue des commentaires se choisit via `comment_language` : fr (défaut), en ou en-gb.
URL du post cible. Doit être absolue (http/https) et matcher le pattern de la plateforme. Le backend revalide via regex DB — ne jamais faire confiance au front.
viewsnumberrequired
Nombre de vues à livrer. Min 3000, max 10 000 000. Au-delà, splitter en plusieurs commandes.
post_contextstringoptional
Caption ou sujet du post (max 2200 chars). Injecté dans le LLM qui génère les commentaires. TikTok : la caption et la transcription audio du clip sont récupérées automatiquement et fusionnées avec ce champ, qui sert alors à compléter ce que l'audio ne dit pas (contexte visuel, chiffres clés). Instagram : aucune récupération automatique, sans ce champ les commentaires seront génériques. Fortement recommandé.
post_captionstringoptional
Caption réelle du post (max 2200 chars), si tu la connais déjà. Elle est utilisée telle quelle et remplace la récupération automatique, qui échoue sur toute vidéo supprimée, privée ou géo-bloquée. Différent de post_context : la caption est le texte publié sous la vidéo, post_context est ton brief libre. Les deux peuvent coexister.
post_transcriptstringoptional
Transcription du contenu parlé de la vidéo (max 16000 chars), si tu la possèdes déjà. Elle remplace la transcription automatique : ni téléchargement du média, ni speech-to-text côté serveur. C'est le moyen le plus fiable d'obtenir des commentaires collés au contenu, et le seul qui fonctionne sur les vidéos non publiques. Le texte n'est pas vérifié : un transcript hors sujet dégrade tes propres commentaires.
comment_languagestringoptional
Langue de génération des commentaires. Valeurs exactes (lowercase strict) : fr (défaut), en (anglais US), en-gb (anglais britannique, spelling et argot UK). Toute autre valeur est rejetée en 422.
422 Validation ErrorFiltre status inconnu ou limit hors bornes.
GET/v1/orders/{id}
Récupérer une commande
Renvoie l'état détaillé d'une commande, y compris la progression (views_purchased, likes_purchased, comments_purchased) et la série temporelle de delivery au provider SMM.
404 Not FoundAucune commande avec cet id sur ce workspace (le user qui interroge n'est pas le owner).
Wallet
GET/v1/balance
Solde du wallet
Renvoie le solde courant du user en USD. Le wallet est rechargeable côté front via Liberpay (paiement crypto). Pas de rechargement disponible côté API publique au MVP.
Exemple de réponse
200 OK
{"balance_usd":"127.4500"}
Erreurs possibles
401 UnauthorizedClé manquante ou invalide.
Services
GET/v1/services
Lister les services
Catalogue des plateformes activées avec le tarif en USD pour 1000 vues, ainsi que les bornes min/max de vues par commande. Seules les vues sont facturées ; les likes et commentaires on-topic sont livrés en bonus organique. Endpoint public, pas d'authentification requise.