Single-shot HTML landing-page generator Google Gemini-vel — egyetlen prompt = teljes weboldal. Dependency-free. Cloudflare Workers / Edge / Node 18+ kompatibilis. BYOK (bring-your-own-key).
A jelenlegi AI Site Builder-ek (Wix AI, Framer AI, V0) saját szerveren futnak, fizetős havidíjjal, és a kimenet mindig az ő platformjukon él. Ez a könyvtár pont a fordítottja: te futtatod, a Gemini-kvótád fizet, a HTML a tied — ágyazható bárhova.
- ✅ Single-shot generálás: 1 prompt → 1 komplett HTML-fájl (
<!DOCTYPE html>→</html>) - ✅ 6+ szekciós structure (sticky-nav + hero + stats + services + testimonials + FAQ + contact + footer)
- ✅ 3 style preset + auto-detect:
premium/playful/creative/auto - ✅ Magyar VAGY angol copy
- ✅ Brand-color injection (hex)
- ✅ Edge-compatible: dependency-free, csak
fetch(Cloudflare Workers, Deno, Bun, Node 18+) - ✅ Markdown-fence + bevezető-szöveg auto-cleanup (a Gemini néha hozzátoldja, mi levágjuk)
npm install @promnet/gemini-html-generator
# vagy
pnpm add @promnet/gemini-html-generatorimport { generateSite } from '@promnet/gemini-html-generator';
const result = await generateSite(process.env.GEMINI_API_KEY!, {
prompt: 'Cukrászda landing-page kis magyar városban — esküvői torták, vintage-romantikus hangulat',
brandColor: '#d4a574',
language: 'hu',
stylePreset: 'playful',
});
console.log(result.html); // Komplett <!DOCTYPE html>...</html>
console.log(result.tokens); // pl. 4528import { generateSite } from '@promnet/gemini-html-generator';
export default {
async fetch(request: Request, env: { GEMINI_API_KEY: string }): Promise<Response> {
const { prompt } = await request.json() as { prompt: string };
const result = await generateSite(env.GEMINI_API_KEY, {
prompt, language: 'hu', stylePreset: 'auto',
});
return new Response(result.html, {
headers: { 'Content-Type': 'text/html; charset=utf-8' },
});
},
};| Param | Típus | Default | Leírás |
|---|---|---|---|
apiKey |
string |
required | Google AI Studio API-key |
opts.prompt |
string |
required | Felhasználói prompt (10-4000 char) |
opts.brandColor |
string |
undefined | Hex ('#ff4d4d') — primary gomboknál |
opts.language |
'hu' | 'en' |
'hu' |
Output nyelv |
opts.stylePreset |
'premium' | 'playful' | 'creative' | 'auto' |
'auto' |
Stílus-preset |
opts.model |
string |
'gemini-2.5-flash' |
Gemini modell |
opts.temperature |
number |
0.8 |
LLM-temp |
opts.maxOutputTokens |
number |
8192 |
Max-output |
opts.includePromnetFooter |
boolean |
true |
Generated-with-link a footerben |
Visszatérési érték:
interface GenerateResult {
html: string;
tokens?: number; // a Gemini-kvótából elhasznált token-szám
finishReason?: string; // 'STOP' | 'MAX_TOKENS' | ...
}Külön exportálva — eltávolítja a markdown-fence-t és a <!doctype html> előtti / </html> utáni szöveget. Hasznos ha más LLM-ekkel is használod.
✅ Igen:
- Prototípusozás
- Static landing-page admin/marketing-csomagok
- Magyar SMB-oldalak gyors indítása
- AI-Site-Builder funkció saját SaaS-edben (BYOK alapú)
❌ Inkább NE:
- Multi-page weboldal (a generálás one-shot, nincs site-mapping)
- E-commerce oldal (nincs cart-flow, nincs Stripe-integráció)
- Iteratív szerkesztés (nincs "edit this section" — csak full re-generate)
- Iparág-specifikus mély-tartalom (a Gemini általános, te kell extra prompt-engineering-eljen)
Ezekre érdemes a PromNET managed-AI Site Builder-ét nézni — ott az iteratív flow + 16 iparág-specifikus base-template + integrált hosting.
A generálás teljes egészében a Google Gemini Free Tier-ben elfér:
- 15 RPM, 1 500 RPD a
gemini-2.5-flash-en (2026 január) - Egy generálás kb. 4-6k token = $0 (Free Tier alatt)
Ha túlléped a Free Tier-t: $0.075 / 1M input + $0.30 / 1M output token. Egy generálás kb. 0.0015 USD (~0.5 Ft).
PR welcome:
- További style-preset-ek (
minimal,brutalist,editorial) - Több nyelv (
de,pl,cz) - Iparág-specifikus prompt-jav
- Streaming-API (server-sent events)
Karbantartó: PromNET — magyar Cloudflare-hosting + AI Site Builder + integrált NAV számlázás. Ha BYOK-felelősségvállalás helyett kész-csomagot szeretnél: a PromNET managed-AI csomag tartalmazza ezt + iteratív szerkesztést + 1-klikk deploy-t.