La Flixy API permet à votre logiciel d’utiliser les fonctionnalités de Flixy Studio : créer des sites complets à partir d’une description, les modifier et les traduire, rédiger du contenu de site, lire des menus, des catalogues et des PDF, et créer des images et des logos. Vous ne payez que les appels réussis, à partir d’un solde prépayé.
Les tâches longues (création, modification ou traduction d’un site) s’exécutent sous forme de travaux : l’API répond immédiatement et vous suivez le travail ou recevez un webhook. Le contenu, la lecture de documents et les images répondent directement, généralement en quelques secondes.
Commencez dans votre espace développeur : une clé de test gratuite est créée dès que vous l’ouvrez.
Console développeurs
Les clés, le solde, les recharges, les webhooks et le journal des appels se gèrent dans la console développeurs sur dev.flixy.studio.
Un compte développeur distinct. Comme sur d’autres plateformes d’IA, votre compte développeur est distinct de votre compte Flixy Studio : il a sa propre inscription, sa propre connexion et sa propre session. Vous déconnecter de l’un ne vous déconnecte jamais de l’autre. Vous pouvez utiliser la même adresse e-mail pour les deux.
Organisation reliée. Si vous utilisez aussi Flixy Studio, vous pouvez relier votre organisation à votre compte développeur, afin que l’API puisse travailler sur ses sites. Voir Organisation reliée.
Sécurité du compte. La vérification en deux étapes, les sessions actives et l’export des données sont disponibles dans la console, rubrique Compte.
Authentification
Envoyez votre clé dans l’en-tête Authorization de chaque requête. Les clés commencent par fx_live_ ou fx_test_.
Votre clé est secrète. Appelez l’API uniquement depuis votre serveur : les requêtes envoyées depuis un navigateur web sont refusées, afin qu’une clé ne se retrouve jamais dans une page web ou une application mobile.
Chaque clé possède des droits (scopes). Un appel sans le droit requis renvoie 403 missing_scope.
Paramètre
Type
Description
sites:read
scope
Lire les sites et leur HTML.
sites:write
scope
Créer, modifier et traduire des sites.
content:write
scope
Rédiger du contenu de site.
extract:write
scope
Lire des images et des documents PDF.
images:write
scope
Créer des images et des logos.
account:read
scope
Lire le solde et l’utilisation.
Clés de test et clés live
Les clés de test (fx_test_…) sont gratuites. Elles renvoient des réponses d’exemple réalistes sans utiliser d’IA, pour que vous puissiez construire et tester toute votre intégration. Les travaux de site se terminent après quelques secondes avec un site d’exemple.
Les clés live (fx_live_…) renvoient de vrais résultats et sont facturées sur votre solde.
Chaque réponse contient l’en-tête Flixy-Mode: test ou Flixy-Mode: live.
Requêtes et réponses
Envoyez des corps JSON avec Content-Type: application/json (16 Mo maximum). Les réponses sont en JSON. Les dates sont au format ISO 8601 en UTC. Chaque réponse comporte un en-tête X-Request-Id : communiquez-le à notre support si vous avez besoin d’aide pour un appel.
Définissez Accept-Language pour recevoir les messages d’erreur dans votre langue (fr, en, es, de, it, pt, nl, ca, el, sv, no, da, fi, is, et, lv, lt, ja ; anglais par défaut).
Erreurs
Les erreurs utilisent les codes de statut HTTP standard et ont toujours la même forme :
{
"error": {
"type": "billing_error",
"code": "insufficient_balance",
"message": "Insufficient balance: top up your developer account…",
"request_id": "req_5c1f0a9e2b7d4c11"
}
}
Statut
Type
Signification
400
invalid_request_error
JSON ou en-tête invalide.
401
authentication_error
Clé manquante, invalide ou supprimée.
402
billing_error
Solde insuffisant, plafond mensuel ou plafond journalier de la clé atteint.
403
permission_error
Droit manquant, adresse IP non autorisée, compte suspendu ou appel depuis un navigateur.
404
not_found_error
Site, travail ou endpoint inconnu.
409
conflict_error
Un travail est déjà en cours sur ce site.
422
invalid_request_error
Paramètre invalide, ou requête refusée par la politique d’utilisation (off_topic, content_policy). Non facturé.
429
rate_limit_error
Trop de requêtes ou de travaux simultanés. Attendez le délai indiqué par Retry-After.
5xx
api_error
Problème temporaire de notre côté. Réessayez avec la même clé d’idempotence. Non facturé.
Limites de débit
60 requêtes par minute par clé (en-tête X-RateLimit-Limit).
3 travaux de site simultanés par compte. Les appels de contenu, de document et d’image ne sont pas concernés par cette limite.
Lorsqu’une limite est atteinte, l’API répond 429 avec un en-tête Retry-After en secondes.
Besoin de plus ? Écrivez à contact@flixy.studio en décrivant votre cas d’usage.
Idempotence
Les erreurs réseau arrivent. Ajoutez un en-tête Idempotency-Key (8 à 100 caractères, par exemple votre propre numéro de commande) à tout POST : si vous renvoyez la même requête dans les 24 heures, l’API renvoie la première réponse — avec l’en-tête Idempotent-Replayed: true — et n’exécute ni ne facture jamais le travail deux fois.
Travaux
La création, la modification et la traduction d’un site prennent d’environ 30 secondes à 3 minutes. Ces endpoints répondent 202 Accepted avec un travail. Suivez-le toutes les 5 secondes ou attendez les événements job.succeeded / job.failed du webhook.
Faits connus : name, slogan, phone, email, address, city, hours. Jamais inventés par l’IA.
destination
string
developer (par défaut) : le site appartient à votre compte développeur. organization : le site est créé directement dans votre organisation Flixy Studio reliée.
Renvoie le site, son statut et ses pages. Ajoutez include=html pour recevoir le HTML complet de chaque page (les images sont hébergées par Flixy). Droit : sites:read.
Ajoutez owner=developer ou owner=organization à la liste pour filtrer par propriétaire. Les sites d’une organisation reliée renvoient aussi dashboard_url et editor_url, pour les ouvrir dans Flixy Studio.
Modifier un site
POST/v1/sites/{id}/edits
Applique une modification décrite en langage courant, comme dans l’éditeur Flixy. Chaque modification crée une nouvelle version. Droit : sites:write.
Paramètre
Type
Description
instructionobligatoire
string
La modification à effectuer (4 à 3000 caractères), par ex. « Ajoute une page de tarifs avec trois offres » ou « Utilise un thème vert foncé ».
curl https://flixy.studio/v1/sites/691589621/edits \
-H "Authorization: Bearer $FLIXY_API_KEY" -H "Content-Type: application/json" \
-d '{"instruction": "Add an opening hours section: Tuesday to Saturday, 7am to 7pm"}'
Traduire un site
POST/v1/sites/{id}/translations
Traduit chaque page du site — navigation, boutons, formulaires, descriptions d’images, titre et description pour les moteurs de recherche — en conservant le design, les images, les liens, les prix et les coordonnées. Droit : sites:write.
Paramètre
Type
Description
languageobligatoire
string
Langue cible : fr, en, es, de, it, pt, nl, ca, el, sv, no, da, fi, is, et, lv, lt, ja.
Rédiger du contenu web
POST/v1/content
Rédige un contenu destiné à être publié sur un site web ou envoyé par une entreprise à ses clients. Répond directement. Droit : content:write.
Le champ html ne contient que des balises de texte sûres (titres, paragraphes, listes, liens), jamais de scripts ni de styles.
Lire un document
POST/v1/extract
Lit un menu, un catalogue, une liste de prix, une carte de visite, un flyer ou une brochure et renvoie un contenu structuré prêt pour un site web. Seul ce qui est réellement écrit est renvoyé. Droit : extract:write.
Paramètre
Type
Description
file
string
Le fichier encodé en base64 (JPEG, PNG, WebP, GIF ou PDF, 10 Mo maximum).
url
string
Ou une adresse https publique du fichier.
kind
string
auto (par défaut), menu, catalog, business_card, brochure, price_list, flyer.
Les PDF numérisés sans texte ne peuvent pas être lus : envoyez plutôt une image de chaque page.
Créer une image
POST/v1/images
Crée une photo, une illustration ou un logo pour un site web. L’image est hébergée par Flixy et porte dans le fichier le marquage IPTC standard des médias générés par l’IA. Droit : images:write.
Paramètre
Type
Description
promptobligatoire
string
Description de l’image (4 à 800 caractères).
kind
string
photo (par défaut), illustration ou logo.
aspect
string
16:9 (par défaut), 1:1, 4:3, 3:4, 9:16.
business
string
Contexte de l’entreprise, pour adapter le style.
brand
string
Nom de la marque pour un logo.
Solde et compte
GET/v1/account
Renvoie votre solde, le montant réservé pour les travaux en cours, le montant disponible, vos dépenses du mois et la clé utilisée. Droit : account:read.
/v1/usage renvoie vos appels et montants par opération sur une période. /v1/pricing renvoie les prix habituels et minimums actuels dans votre devise.
Chaque appel réussi coûte le coût réel du travail d’IA qu’il a nécessité multiplié par la marge de Flixy, avec un minimum par opération. Avant le démarrage d’un travail de site, un montant estimé est réservé sur votre solde ; le prix exact est prélevé à la fin et le reste est libéré. Les appels échoués et refusés ne sont jamais facturés.
Webhooks
Ajoutez une adresse https de votre serveur dans votre espace développeur et choisissez les événements : job.succeeded, job.failed, balance.low, topup.succeeded. Flixy envoie un POST avec un événement JSON ; répondez avec un statut 2xx dans les 10 secondes. Les envois échoués sont retentés ; une adresse qui échoue de manière répétée est mise en pause.
L’en-tête Flixy-Signature contient un horodatage t et v1, le HMAC-SHA256 de t + "." + raw body avec votre secret de webhook. Rejetez les messages de plus de 5 minutes.
import crypto from 'node:crypto';
export function verifyFlixy(rawBody, header, secret) {
const p = Object.fromEntries(header.split(',').map((x) => x.split('=')));
const sig = crypto.createHmac('sha256', secret).update(`${p.t}.${rawBody}`).digest('hex');
return Math.abs(Date.now() / 1000 - Number(p.t)) < 300
&& crypto.timingSafeEqual(Buffer.from(sig), Buffer.from(p.v1));
}
import hmac, hashlib, time
def verify_flixy(raw_body: bytes, header: str, secret: str) -> bool:
p = dict(x.split('=', 1) for x in header.split(','))
sig = hmac.new(secret.encode(), f"{p['t']}.".encode() + raw_body, hashlib.sha256).hexdigest()
return abs(time.time() - int(p['t'])) < 300 and hmac.compare_digest(sig, p['v1'])
Rechargez votre solde à partir de 10 € dans votre espace développeur, par carte. La TVA est ajoutée selon votre pays ; une facture est envoyée pour chaque recharge.
Activez la recharge automatique pour recharger un montant choisi lorsque votre solde passe sous un seuil.
Fixez un plafond de dépenses mensuel pour le compte et un plafond journalier par clé.
Vous recevez un e-mail et un webhook balance.low lorsque votre solde devient faible.
Conservez les clés sur votre serveur, dans des variables d’environnement ou un gestionnaire de secrets — jamais dans une page web, une application mobile ou un dépôt de code.
Créez une clé par application et ne lui donnez que les droits dont elle a besoin.
Limitez les clés live aux adresses IP de vos serveurs et fixez un plafond journalier.
Vérifiez la signature de chaque webhook et son horodatage.
Utilisez une clé d’idempotence pour chaque POST.
Supprimez immédiatement une clé si elle a pu être exposée, puis créez-en une nouvelle.
Relisez le contenu généré par l’IA avant de le publier, et informez vos utilisateurs qu’un contenu est généré par l’IA lorsque la loi l’exige.
Politique d’utilisation
La Flixy API est conçue pour les sites web et leur contenu. Elle refuse, sans facturer, les questions générales sans rapport avec les sites web, le code destiné à d’autres logiciels, les tentatives de modifier les instructions de Flixy et les contenus contraires à notre politique (contenus illégaux, haineux, à caractère sexuel impliquant des mineurs, pages d’hameçonnage ou d’usurpation d’identité, spam, faux avis). Lisez l’intégralité des Conditions et politique d’utilisation de l’API.
Organisation reliée
POST/v1/sites/{id}/transfer
Reliez votre organisation Flixy Studio depuis la console (Organisation). Le propriétaire du compte Flixy Studio approuve la liaison en étant connecté à Flixy Studio, et chaque partie peut la supprimer à tout moment. Une fois la liaison établie :
l’API peut lister, lire, modifier et traduire les sites de l’organisation (sites:read, sites:write) ;
vous pouvez créer un site directement dans l’organisation avec "destination": "organization", ou déplacer un site créé par l’API avec POST /v1/sites/{id}/transfer (gratuit), pour le publier sur un domaine depuis Flixy Studio ;
tout le travail de l’API est facturé sur votre solde API : les crédits de l’organisation ne sont jamais utilisés.
Sans organisation reliée, ces appels renvoient 409 organization_not_linked.
Historique des versions
v1 — novembre 2026. Première version : sites, modifications, traductions, contenu, lecture de documents, images, travaux, webhooks, solde prépayé.
Les changements susceptibles de casser votre intégration sont annoncés par e-mail au moins 90 jours à l’avance.
Nous respectons votre vie privée. Flixy Studio n’utilise que des cookies strictement nécessaires (connexion, sécurité, langue). Nos statistiques d’audience sont anonymes et n’utilisent aucun cookie. Politique relative aux cookies