API Reference
REST API complète pour gérer vos projets, rendus, partages et plus encore. Base URL : https://api.demobro.com
Authentification
JWT (JSON Web Token) pour toutes les requêtes authentifiées. Les tokens access expirent après 5 min, utilisez le refresh token pour en obtenir un nouveau.
Utilisation du token
# Ajoutez le header Authorization à chaque requête
curl -H "Authorization: Bearer <access_token>" \
https://api.demobro.com/api/projects/Projets
CRUD complet sur vos projets de démo. Chaque projet contient une configuration YAML DemoDSL.
Rendus
Lancez des rendus vidéo à partir d'un projet. Le rendu est asynchrone — le statut progresse de pending → processing → completed.
Templates
Galerie de templates publics que vous pouvez forker dans vos projets.
Facturation
Gestion des abonnements Stripe, crédits et consommation.
LLM
Génération IA pour vos configurations YAML, narrations et effets visuels.
Plugins
Plugins de rendu extensibles : Blender, Mobile, Webinar, 3D Product.
Connecteurs
Intégrations CRM et webhooks pour synchroniser vos données.
SDK Python
Wrapper Python pour l'API REST. Installez avec pip et commencez en 3 lignes.
Installation
pip install demodslAuthentification
from demodsl import DemoBroClient
# Option 1 : credentials file (~/.demodsl/credentials)
client = DemoBroClient()
# Option 2 : token direct
client = DemoBroClient(token="eyJ...")Créer un projet et lancer un rendu
# Créer un projet
project = client.projects.create(
name="Mon Produit",
yaml_config=open("demo.yaml").read(),
)
# Lancer un rendu cloud
render = client.renders.create(project_id=project.id)
# Attendre la fin du rendu
render.wait()
print(render.status) # "completed"
print(render.video_url) # https://...
print(render.duration) # 154.0Partager un rendu
share = client.shares.create(
render=render.id,
title="Démo pour le client",
allow_download=True,
expires_at="2024-12-31",
)
print(share.share_url) # https://app.demobro.com/share/xK9mQ2p...CLI
# Login
$ demodsl login
# Rendu cloud
$ demodsl run cloud demo.yaml
# Rendu local
$ demodsl run local demo.yaml --out video.mp4
# Lister les projets
$ demodsl projects listCodes d'erreur
L'API retourne des codes HTTP standards avec un body JSON détaillé.
| Code | Description |
|---|---|
| 200 | Succès |
| 201 | Ressource créée |
| 204 | Suppression réussie (pas de body) |
| 400 | Requête invalide — vérifiez les champs envoyés |
| 401 | Non authentifié — token manquant ou expiré |
| 403 | Accès refusé — vous n'êtes pas propriétaire de cette ressource |
| 404 | Ressource introuvable |
| 429 | Trop de requêtes — rate limit atteint |
| 500 | Erreur serveur interne |
| 503 | Service indisponible (ex: provider LLM down) |
// Exemple d'erreur 400
{
"yaml_config": ["Ce champ ne contient pas du YAML valide."],
"name": ["Ce champ est requis."]
}
// Exemple d'erreur 401
{
"detail": "Authentication credentials were not provided."
}