/ (Projektordner) │ ├── index.html ← Frontend (Formular + Buttons) ├── server.js ← Node.js Backend (API-Verbindung) ├── package.json ← Node Projektdefinition └── .env ← API-Key (du trägst ihn hier ein)
KI Content-Ideen Generator

KI Content-Ideen Generator

Gib deine Branche & Zielgruppe ein – erhalte sofort Post-Ideen oder fertigen Content.

// server.js import express from "express"; import bodyParser from "body-parser"; import dotenv from "dotenv"; import fetch from "node-fetch"; dotenv.config(); const app = express(); const PORT = process.env.PORT || 3000; const OPENAI_API_KEY = process.env.OPENAI_API_KEY; if (!OPENAI_API_KEY) { console.error("Fehler: OPENAI_API_KEY ist nicht gesetzt."); process.exit(1); } app.use(bodyParser.json()); app.use(express.static(".")); // dient index.html aus function buildPrompt({niche, audience, count, mode}) { if (mode === "content") { return `Du bist ein professioneller Social-Media-Texter. Erstelle ${count} vollständige Social-Media-Beiträge für: Nische: ${niche} Zielgruppe: ${audience} Für jeden Beitrag gib: Titel Hook (kurzer Aufmacher) Haupttext (Story, Mehrwert oder Tipp) Call to Action (Handlungsaufforderung) 3 relevante Hashtags Sprich direkt, emotional und motivierend.`; } else { return `Du bist Social-Media-Content-Stratege. Erstelle ${count} kreative Themenideen für: Nische: ${niche} Zielgruppe: ${audience} Gib jede Idee als Titel + 1 Satz Kurzbeschreibung aus.`; } } app.post("/api/generate", async (req, res) => { try { const {niche, audience, count = 5, mode = "idea"} = req.body; if (!niche || !audience) return res.status(400).json({error: "Nische und Zielgruppe sind erforderlich."}); const safeCount = Math.max(1, Math.min(10, parseInt(count, 10) || 5)); const prompt = buildPrompt({niche, audience, count: safeCount, mode}); const openaiResp = await fetch("https://api.openai.com/v1/chat/completions", { method: "POST", headers: { "Content-Type": "application/json", Authorization: `Bearer ${OPENAI_API_KEY}`, }, body: JSON.stringify({ model: "gpt-4o-mini", messages: [ {role: "system", content: "Du bist ein hilfreicher KI-Assistent."}, {role: "user", content: prompt}, ], temperature: 0.75, max_tokens: 900, }), }); const data = await openaiResp.json(); const text = data?.choices?.[0]?.message?.content || "Keine Antwort erhalten."; res.json({text}); } catch (err) { console.error(err); res.status(500).json({error: "Fehler bei der Generierung"}); } }); app.listen(PORT, () => console.log(`✅ Server läuft auf http://localhost:${PORT}`));
{ "name": "ki-content-generator", "version": "1.0.0", "type": "module", "dependencies": { "express": "^4.19.2", "body-parser": "^1.20.3", "dotenv": "^16.3.1", "node-fetch": "^3.3.2" } }
npm install
http://localhost:3000
node server.js