AI Landing Builder
Le moteur AI de Trackily génère une landing complète (HTML + copy + images) en un appel. Deux moteurs co-existent : v1 (20 templates HTML hardcodés) et v2 (Design DNA + 35 primitives CRO-testées). 6 providers LLM, 7 providers d'images, 12 archetypes, 8 frameworks copywriting.

Concept
Le AI Builder fait en un appel :
- Inférer le
vertical(antivirus, vpn, diet, crypto, dating…) depuis ta description (si tu ne l'as pas fourni). - Choisir un
archetype(v2) ou untemplate_id(v1) — sauf si tu forces. - Bâtir un prompt système avec le framework copywriting (PAS, AIDA, BAB…) + la traffic temperature (cold / warm / hot).
- Appeler le LLM pour qu'il produise le copy (et le design DNA si v2).
- Générer les images (hero + benefit + product) via l'image provider.
- Assembler le HTML final et l'insérer dans
landing_pagesavectype='ai'. - Stocker tout le contexte dans
metapour permettrererender_landing_from_metaà coût zéro.
Toute la magie est dans ai-landing.js (2300 lignes) + ai-landing-dna.js + ai-landing-primitives.js + ai-landing-renderer-v2.js.
Engine v1 vs v2
v1 — Templates hardcodés (defaut historique)
5 templates originaux + 15 Phase-1 = 20 templates disponibles. Le LLM ne touche QUE le copy ; le HTML est un mustache statique.
| ID | Aesthetic | Vertical par défaut |
|---|---|---|
classic_hero |
Hero + bullets classiques | any |
av_security |
Antivirus / sécurité (sombre, vert / orange) | antivirus |
health_wellness |
Health & wellness (vert sage, calme) | health |
crypto_finance |
Crypto / finance (sombre, gradient violet) | crypto |
insurance_finance |
Insurance / finance (bleu, conservateur) | insurance |
linear_minimal |
Pure SaaS Inter / hairlines | other |
brutalist_swiss |
Oversized type, asymmetric grid | other |
editorial_magazine |
NYT-style long-form, serif, drop-cap | other |
dark_neon_cyber |
Stripe Sigma dev, glow accents | crypto |
pastel_calm_wellness |
Headspace soft, peach + sage | health |
tabloid_news |
Yellow + black + red, Impact font, ALERT boxes | sweepstakes |
scrollytelling_long |
Apple-style full-viewport sections | other |
retro_70s_grain |
Wes Anderson mustard + grain texture | other |
y2k_optimist |
Iridescent chrome, bubble shapes | other |
testimonial_first_proof |
Reviews above the fold | other |
scientific_clinical |
WebMD evidence, navy + clinical white | health |
luxury_couture_dark |
Dior gold-on-black | other |
indie_blog_personal |
Substack-style first-person letter | other |
comparison_focused |
X vs Y table-as-hero | other |
glassmorphism_premium |
macOS Big Sur depth + mesh gradient | other |
Si template_id est omis, Trackily auto-pick selon le vertical (cf. ai-landing-templates.js:2839 — pickTemplate(vertical)).
Coût : ~$0.02-0.05 selon le provider LLM. Plus rapide que v2 (~30 % moins de tokens). Prédictible.
v2 — Design DNA + Primitives
Le LLM ne renvoie PAS juste du copy — il renvoie aussi un Design DNA : palette OKLCH, typo, layout, ornaments, motion, selection de primitives. Le renderer assemble la page à partir de 35 primitives CRO-testées (voir primitives).
12 archetypes (voir archetypes) servent d'ancres : le LLM pick un archetype, tweake 2-3 fields (palette hue, fonts), le renderer génère un HTML 100 % unique.
Différences avec v1 :
| Aspect | v1 | v2 |
|---|---|---|
| HTML | Template mustache | Assembly de primitives |
| Design | Hardcodé | Émis par le LLM (DNA) |
| Unicité visuelle | Faible (5 templates récurrents) | Élevée (chaque page distincte) |
| Tokens consommés | Base | +30 % |
| Coût LLM | ~$0.02-0.05 | ~$0.05-0.15 |
| Archetype | N/A | 12 choix + override force_archetype |
| Primitive structure | N/A | 35 primitives, smart picker selon temperature |
template_id accepté |
Oui | Ignoré (logged warning) |
| Re-render gratuit | Oui via rerender_landing_from_meta |
Oui via rerender_landing_from_meta |
Quand v1 : tu veux un template connu-converting (av_security, sweepstakes, classic_hero). Tu veux minimum de coût. Quand v2 : tu veux une landing visuellement unique (luxe, éditorial, brand-forward). Tu fais de l'A/B archetype.
Le tool MCP generate_ai_landing
Signature complète (voir autopilot-content-tools.js:1448) :
{
"name": "generate_ai_landing",
"arguments": {
// Requis
"description": "string, 5+ chars",
// Stratégie copy
"framework": "aida | pas | bab | 4ps | pastor | storybrand | quest | star-story-solution",
"traffic_temperature": "cold | warm | hot",
"vertical": "antivirus | vpn | diet | crypto | dating | ...",
"audience": "string (qui)",
"angle": "string (l'angle copywriting)",
"brand": "string (nom de marque)",
"offer_name": "string",
"cta_url": "string",
"language": "en | fr | es | de | it | pt | ...",
// Moteur
"engine": "v1 | v2", // defaut v1
"template_id": "...", // v1 only
"force_archetype": "linear_minimal | brutalist | editorial | dark_tech | wellness | tabloid | luxury | indie | scientific | y2k | retro | glassmorphism", // v2 only
// Providers
"llm_provider": "anthropic | openai | google | mistral | grok | groq",
"llm_model": "claude-3-5-sonnet | gpt-4o | ...",
"image_provider": "pollinations | nano_banana | openai_gpt_image | openai_dalle | flux_fal | replicate | ideogram",
// Tier-2
"confirm_token": "string"
}
}
Le flow preview → confirm
generate_ai_landing est Tier-2 (LLM cost $0.02-$0.15). Donc :
Étape 1 — Preview
{
"name": "generate_ai_landing",
"arguments": {
"description": "MemoMind cognitive supplement for 45+",
"vertical": "memory",
"engine": "v2",
"force_archetype": "wellness"
}
}
Réponse :
{
"status": "preview",
"summary": "Generate AI landing for vertical=memory, archetype=wellness, framework=pas (defaulted), traffic=cold (defaulted). Estimated cost: ~$0.05-0.12.",
"preview": { "...": "..." },
"confirm_token": "ctok_xxx"
}
Étape 2 — Confirm
Mêmes args + confirm_token. Trackily appelle le LLM, génère les images, render le HTML, insère le row, et te retourne :
{
"status": "ok",
"landing": { "id": 50, "slug": "memomind-...", "html_size_bytes": 142000, "url": "/lp/memomind-..." },
"meta": { "engine": "v2", "archetype": "wellness", "framework": "pas", "image_provider": "pollinations" },
"cost_estimate_usd": 0.08,
"next_steps": [
{ "tool": "link_landing_to_campaign", "arguments": { "ai_landing_id": 50, "campaign_id": "<id>" } }
]
}
Frameworks copywriting
Les 8 frameworks supportés (autopilot-content-tools.js:1461) :
- AIDA — Attention, Intérêt, Désir, Action. Classique direct-response.
- PAS — Problem, Agitate, Solution. Defaut. Le plus efficace en cold traffic.
- BAB — Before-After-Bridge. Idéal pour transformation/résultats.
- 4Ps — Picture, Promise, Prove, Push. Funnel narratif.
- PASTOR — Problem, Amplify, Story, Transformation, Offer, Response. Long-form advertorial.
- StoryBrand — Hero (lecteur), Guide (toi), Plan, Call. Donald Miller.
- QUEST — Qualify, Understand, Educate, Stimulate, Transition. Lead-gen.
- Star-Story-Solution — Personnage, histoire, solution. Magnétique.
Aliases auto-mappés : advertorial → pastor, story-brand → storybrand, before-after → bab. Unknown values → fallback PAS avec warning dans le preview.
Cost estimates par provider LLM
| Provider | Coût v1 typique | Coût v2 typique |
|---|---|---|
| Anthropic claude-3-5-sonnet | $0.03-0.05 | $0.06-0.10 |
| Anthropic claude-3-5-haiku | $0.01-0.02 | $0.02-0.04 |
| OpenAI gpt-4o | $0.02-0.04 | $0.05-0.08 |
| OpenAI gpt-4o-mini | $0.01-0.02 | $0.02-0.03 |
| Google gemini-2.5-pro | $0.01-0.03 | $0.03-0.05 |
| Mistral large | $0.02-0.04 | $0.04-0.07 |
| Grok | $0.02-0.05 | $0.05-0.10 |
| Groq llama-3.3-70b | $0.005-0.01 | $0.01-0.02 |
Plus le coût image (voir image-providers).
Exemples concrets
v1 — Sweepstakes tabloid
{
"name": "generate_ai_landing",
"arguments": {
"description": "Win a $1000 Amazon gift card — sweepstakes for US residents",
"vertical": "sweepstakes",
"engine": "v1",
"template_id": "tabloid_news",
"framework": "aida",
"traffic_temperature": "cold",
"language": "en",
"offer_name": "Amazon Sweepstakes",
"cta_url": "https://offer.sweep.io/amazon"
}
}
v2 — MemoMind wellness archetype
{
"name": "generate_ai_landing",
"arguments": {
"description": "MemoMind — daily cognitive supplement for adults 45+ struggling with memory fog",
"vertical": "memory",
"audience": "adults 45-65 worried about cognitive decline",
"angle": "Stop second-guessing yourself — science-backed daily memory support",
"brand": "MemoMind",
"offer_name": "MemoMind 30-day pack",
"engine": "v2",
"framework": "pastor",
"traffic_temperature": "cold",
"force_archetype": "wellness",
"image_provider": "openai_gpt_image",
"llm_provider": "anthropic",
"llm_model": "claude-3-5-sonnet-latest",
"cta_url": "https://memomind.shop/checkout"
}
}
v2 — Luxury watches editorial
{
"name": "generate_ai_landing",
"arguments": {
"description": "Limited-edition Swiss automatic watch, hand-assembled, 250 pieces worldwide",
"vertical": "luxury",
"engine": "v2",
"framework": "storybrand",
"traffic_temperature": "warm",
"force_archetype": "luxury",
"image_provider": "ideogram",
"language": "en"
}
}
v2 — Crypto trading dark_tech
{
"name": "generate_ai_landing",
"arguments": {
"description": "AI-powered crypto trading signals for retail traders",
"vertical": "crypto",
"engine": "v2",
"framework": "pas",
"traffic_temperature": "warm",
"force_archetype": "dark_tech",
"image_provider": "flux_fal",
"llm_provider": "openai",
"llm_model": "gpt-4o"
}
}
v1 — Health quick test, image Pollinations gratuit
{
"name": "generate_ai_landing",
"arguments": {
"description": "Keto diet plan for women 35+",
"vertical": "diet",
"engine": "v1",
"framework": "bab",
"traffic_temperature": "cold",
"image_provider": "pollinations",
"language": "fr"
}
}
Wrappers haut-niveau
Trois wrappers autour de generate_ai_landing :
generate_landing_for_offer
Lit l'offer, infère le vertical depuis le nom, et appelle generate_ai_landing avec les bons defaults.
{
"name": "generate_landing_for_offer",
"arguments": { "offer_id": 12, "framework": "PAS", "traffic_temperature": "cold" }
}
generate_landing_variants
Crée N (1-8) variantes d'une landing existante EN PARALLÈLE (Promise.all). Toutes partagent le variant_group_id.
{
"name": "generate_landing_variants",
"arguments": { "ai_landing_id": 50, "count": 4 }
}
translate_landing
Traduit la landing en N langues. Crée 1 landing par langue, même variant_group_id.
{
"name": "translate_landing",
"arguments": { "ai_landing_id": 50, "languages": ["fr", "es", "de"] }
}
Re-render zéro coût
Après upgrade du renderer (nouveaux primitives, fix CSS), tu peux re-générer le HTML sans rappeler le LLM :
{
"name": "rerender_landing_from_meta",
"arguments": { "landing_id": 50 }
}
Trackily relit meta.copy + meta.design_dna + meta.engine et re-render avec le code actuel. meta.last_rerendered_at est stampé.
Erreurs courantes
descriptiontrop court : minimum 5 chars mais < 30 = LLM hallucine. Donne 1-3 phrases précises.- Pas de clé API LLM : Trackily répond
No API key configured for <provider>. Settings → AI → coller la clé. image_providersans clé : fallback silent sur Pollinations (gratuit). Pas d'erreur, mais ce n'est pas ce que tu voulais.force_archetypesur engine v1 : ignoré silencieusement. v1 utilisetemplate_id.template_idsur engine v2 : ignoré silencieusement. v2 utilise l'archetype.- DALL-E URLs expirées : les URLs DALL-E meurent en 1h. Toujours préférer
openai_gpt_image(base64, persistent) ounano_banana. - Confirm_token expiré : 5 min TTL. Relance l'étape preview.
- Cost qui explose :
image_provider: openai_gpt_image+quality: high= $0.167 par image. Pour un test rapide, garde Pollinations.
Voir aussi
- Archetypes — les 12 archetypes v2 détaillés
- Primitives — les 35 primitives v2
- Image providers — les 7 providers d'image
- Types —
type='ai'explained - A/B price testing —
price_overrides - MCP — tools reference — schéma JSON complet