API REST

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.

1. Créez une clé
Depuis Paramètres, onglet Clés API.
2. Demandez un devis
Le coût est fixé avant chaque lancement.
3. Lancez et suivez
Interrogez la ressource jusqu’à sa réussite.

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"
  }'
Idempotence. Utilisez une valeur unique par action métier. Si votre requête expire, renvoyez exactement la même clé : aucun second débit ne sera créé.

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.

Images et vidéos de référence
Envoyez le fichier avec POST /files, puis passez son identifiant dans le tableau inputs de la génération.
"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.

Le code est accessible avec 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

Schéma OpenAPI 3.1
GET/modelsLister les modèles, options et tarifs
GET/creditsConsulter les crédits disponibles et réservés
POST/quotesObtenir un devis avant une génération
POST/filesEnvoyer une image ou une vidéo de référence
POST/generationsCréer une génération
GET/generations/{id}Suivre une génération
GET/generationsParcourir l’historique paginé
DELETE/generations/{id}Supprimer une génération
POST/sitesCréer un projet de site
GET/sitesLister les sites
GET/sites/{id}Consulter un site
POST/sites/{id}/runsCréer ou modifier un site
GET/site-runs/{id}Suivre la création d’un site
GET/sites/{id}/filesLister le code du site
GET/sites/{id}/revisionsLister les versions
GET/sites/{id}/exportExporter le projet en ZIP
POST/strategiesCréer un projet de stratégie
GET/strategiesLister les stratégies
POST/strategies/{id}/runsLancer une analyse
GET/strategy-runs/{id}Suivre une analyse
GET/strategies/{id}/reportLire le rapport sourcé
GET/strategies/{id}/exportExporter le rapport
GET/chat/modelsLister les modèles de conversation
POST/chat/conversationsCréer une conversation
GET/chat/conversationsLister les conversations
POST/chat/completionsGénérer une réponse complète ou streamée
GET/chat/conversations/{id}Lire une conversation
DELETE/chat/conversations/{id}Supprimer une conversation

Erreurs 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 invalide
401Clé absente, expirée ou révoquée
402Crédits insuffisants
403Permission insuffisante
404Ressource introuvable
409Conflit de devis ou d’idempotence
429Limite de requêtes dépassée
500Erreur interne temporaire