Intégrez WeBoost AI à vos produits.
Retrouvez les modèles image et vidéo, le studio web, l’analyse stratégique et l’assistant IA avec une API versionnée, des coûts prévisibles et le même portefeuille de crédits.
Authentification
Envoyez votre clé dans le header Authorization de chaque requête. La clé complète n’est affichée qu’une fois lors de sa création ; conservez-la dans une variable d’environnement serveur.
Authorization: Bearer wb_live_••••••••••••••••Ne placez jamais une clé dans du JavaScript côté navigateur, une application mobile distribuée ou un dépôt Git. Une clé peut être révoquée immédiatement depuis les paramètres.
Choisissez son niveau d’accès lors de la création : tous les outils, médias uniquement, sites web uniquement, stratégie uniquement ou lecture seule. Une ancienne clé sans le scope demandé reçoit une réponse 403.
Créer une génération
Consultez d’abord GET /models pour utiliser exactement les valeurs acceptées par un modèle. Créez ensuite un devis.
1. Obtenir un devis
curl https://votre-domaine.fr/api/v1/quotes \
-H "Authorization: Bearer $WEBOOST_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "nano-banana-2",
"mode": "text-to-image",
"resolution": "1K"
}'2. Lancer la génération
curl https://votre-domaine.fr/api/v1/generations \
-H "Authorization: Bearer $WEBOOST_API_KEY" \
-H "Idempotency-Key: commande-2026-0001" \
-H "Content-Type: application/json" \
-d '{
"quote_id": "VOTRE_QUOTE_ID",
"model": "nano-banana-2",
"mode": "text-to-image",
"prompt": "Un studio photo minimaliste baigné de lumière rouge",
"aspect_ratio": "1:1",
"resolution": "1K"
}'3. Suivre le résultat
curl https://votre-domaine.fr/api/v1/generations/VOTRE_ID \
-H "Authorization: Bearer $WEBOOST_API_KEY"Interrogez la ressource toutes les 3 à 5 secondes tant que son statut vaut queued ou processing. Les fichiers générés apparaissent dans outputs lorsque le statut passe à succeeded.
"inputs": [
{ "file_id": "VOTRE_FILE_ID", "role": "reference" }
]Images : JPG, PNG ou WebP, 10 Mo maximum. Vidéos : MP4, MOV ou MKV, 50 Mo maximum.
Créer un site web
Le workflow est asynchrone : créez un projet, demandez un devis, lancez un run puis interrogez son état. Le projet est gratuit ; chaque création ou modification consomme des crédits.
1. Créer le projet
curl https://votre-domaine.fr/api/v1/sites \
-H "Authorization: Bearer $WEBOOST_API_KEY" \
-H "Idempotency-Key: projet-cafe-horizon" \
-H "Content-Type: application/json" \
-d '{
"name": "Café Horizon",
"model": "website-balanced",
"source": {
"type": "prompt",
"brief": "Un site éditorial moderne pour un café parisien"
}
}'Pour partir d’un site public, utilisez une source de type URL avec une adresse HTTPS et un brief. Les adresses privées ou locales sont refusées.
2. Obtenir le devis
curl https://votre-domaine.fr/api/v1/quotes \
-H "Authorization: Bearer $WEBOOST_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "website-balanced",
"mode": "prompt-to-site",
"project_id": "VOTRE_SITE_ID"
}'Le devis annonce le maximum réservé. Le débit final est ajusté au coût réel et le surplus revient automatiquement dans le solde.
3. Lancer la création
curl https://votre-domaine.fr/api/v1/sites/VOTRE_SITE_ID/runs \
-H "Authorization: Bearer $WEBOOST_API_KEY" \
-H "Idempotency-Key: version-site-0001" \
-H "Content-Type: application/json" \
-d '{
"quote_id": "VOTRE_QUOTE_ID",
"model": "website-balanced",
"prompt": "Crée la première version du site"
}'La réponse 202 contient un identifiant de run. Utilisez une clé d’idempotence différente pour chaque nouvelle version.
4. Suivre le run
curl https://votre-domaine.fr/api/v1/site-runs/VOTRE_RUN_ID \
-H "Authorization: Bearer $WEBOOST_API_KEY"Interrogez toutes les 3 à 5 secondes jusqu’au statut succeeded. La réponse terminale contient les crédits débités, le résumé, la version produite et l’URL temporaire de prévisualisation.
GET /sites/{id}/files, les versions avec GET /sites/{id}/revisions et l’archive avec GET /sites/{id}/export.Créer une stratégie de communication
Fournissez un site HTTPS public pour obtenir un audit concurrentiel sourcé et un plan de communication sur 90 jours. Le traitement est asynchrone et utilise le même portefeuille de crédits que le dashboard.
1. Créer le projet
curl https://votre-domaine.fr/api/v1/strategies \
-H "Authorization: Bearer $WEBOOST_API_KEY" \
-H "Idempotency-Key: strategie-weboost-ai-0001" \
-H "Content-Type: application/json" \
-d '{
"name": "Stratégie WeBoost AI",
"site_url": "https://exemple.fr",
"market": "France",
"country_code": "FR",
"objective": "acquisition",
"authorized": true
}'Le champ authorized confirme votre droit à analyser le site. Les adresses privées, locales ou non HTTPS sont refusées.
2. Obtenir le devis
curl https://votre-domaine.fr/api/v1/quotes \
-H "Authorization: Bearer $WEBOOST_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "communication-strategy",
"mode": "site-audit",
"project_id": "VOTRE_STRATEGY_ID"
}'Le devis réserve un maximum. Le coût final est calculé après le rapport et le surplus est automatiquement libéré.
3. Lancer l’analyse
curl https://votre-domaine.fr/api/v1/strategies/VOTRE_STRATEGY_ID/runs \
-H "Authorization: Bearer $WEBOOST_API_KEY" \
-H "Idempotency-Key: analyse-strategie-0001" \
-H "Content-Type: application/json" \
-d '{
"quote_id": "VOTRE_QUOTE_ID",
"model": "communication-strategy"
}'4. Suivre le traitement
curl https://votre-domaine.fr/api/v1/strategy-runs/VOTRE_RUN_ID \
-H "Authorization: Bearer $WEBOOST_API_KEY"Lorsque le statut vaut succeeded, récupérez le rapport avec GET /strategies/{id}/report ou son export avec GET /strategies/{id}/export.
Utiliser l’assistant IA
Créez une conversation, puis envoyez des messages avec le modèle de votre choix. Chaque réponse réserve un maximum et ne débite que les crédits réellement consommés.
1. Créer la conversation
curl https://votre-domaine.fr/api/v1/chat/conversations \
-H "Authorization: Bearer $WEBOOST_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model":"gpt-luna"}'2. Générer une réponse
curl https://votre-domaine.fr/api/v1/chat/completions \
-H "Authorization: Bearer $WEBOOST_API_KEY" \
-H "Idempotency-Key: message-0001" \
-H "Content-Type: application/json" \
-d '{
"conversation_id": "VOTRE_CONVERSATION_ID",
"model": "gpt-luna",
"messages": [
{"role":"user","content":"Propose trois slogans pour mon produit."}
],
"stream": false
}'Passez stream à true pour recevoir les événements SSE au protocole UI Message d’AI SDK. Une clé d’idempotence différente est requise pour chaque nouveau message.
Endpoints
URL de base : /api/v1
/modelsLister les modèles, options et tarifs/creditsConsulter les crédits disponibles et réservés/quotesObtenir un devis avant une génération/filesEnvoyer une image ou une vidéo de référence/generationsCréer une génération/generations/{id}Suivre une génération/generationsParcourir l’historique paginé/generations/{id}Supprimer une génération/sitesCréer un projet de site/sitesLister les sites/sites/{id}Consulter un site/sites/{id}/runsCréer ou modifier un site/site-runs/{id}Suivre la création d’un site/sites/{id}/filesLister le code du site/sites/{id}/revisionsLister les versions/sites/{id}/exportExporter le projet en ZIP/strategiesCréer un projet de stratégie/strategiesLister les stratégies/strategies/{id}/runsLancer une analyse/strategy-runs/{id}Suivre une analyse/strategies/{id}/reportLire le rapport sourcé/strategies/{id}/exportExporter le rapport/chat/modelsLister les modèles de conversation/chat/conversationsCréer une conversation/chat/conversationsLister les conversations/chat/completionsGénérer une réponse complète ou streamée/chat/conversations/{id}Lire une conversation/chat/conversations/{id}Supprimer une conversationErreurs et limites
Les erreurs ont une forme stable et contiennent un request_id à conserver pour le diagnostic. Les réponses limitées utilisent le statut 429 et le header Retry-After.
{
"error": {
"type": "invalid_request_error",
"code": "invalid_request",
"message": "Paramètres de génération invalides."
},
"request_id": "req_01abc..."
}400Requête invalide401Clé absente, expirée ou révoquée402Crédits insuffisants403Permission insuffisante404Ressource introuvable409Conflit de devis ou d’idempotence429Limite de requêtes dépassée500Erreur interne temporaire