Brief 双生工坊 · 直观下拉
后端代理 · 密钥隐藏
六大字段均使用直观下拉菜单(含10个预设+自定义输入)· 区分文案/图片生成
API密钥已移至后端: 前端不暴露key。确保您的后端服务在
/api/generate 接收POST并处理 type 参数('copy' 或 'image')。
查看Node.js后端示例(支持双生成)
// 后端 server.js (Express)
import express from 'express';
import cors from 'cors';
import fetch from 'node-fetch';
const app = express();
app.use(cors());
app.use(express.json());
const DEEPSEEK_API_KEY = process.env.DEEPSEEK_KEY || '你的密钥';
app.post('/api/generate', async (req, res) => {
const { type, ...briefData } = req.body; // type = 'copy' 或 'image'
// 根据type构建不同的系统提示词
let systemPrompt = '';
if (type === 'copy') {
systemPrompt = `你是一位资深的创意文案专家。请根据Brief信息和制作步骤,输出一份详细的设计思路与文案建议。包含排版、语气、视觉方向等。`;
} else {
systemPrompt = `你是一位AI绘画提示词工程师。请根据Brief信息,生成3-5组可用于MidJourney/Stable Diffusion的图片生成提示词。每组包含画面描述、风格、构图、色彩、灯光等细节。直接输出提示词,不要额外解释。`;
}
// 将brief数据组装成文本
const userPrompt = `Brief信息:
制作类型:${briefData.makeType || '—'}
任务名称:${briefData.taskName || '—'}
商业目标:${briefData.businessGoal || '—'}
目标人群:${briefData.targetAudience || '—'}
人物设定:${briefData.persona || '—'}
物料载体:${briefData.carrier || '—'}
核心信息:${briefData.coreMessage || '—'}
风格要求:${briefData.styleReqs || '—'}
禁止要求:${briefData.forbidReqs || '—'}
${type === 'copy' ? '请遵循制作思路生成文案与设计思路。' : '请根据上述信息生成图片提示词,突出视觉元素和氛围。'}`;
try {
const response = await fetch('https://api.deepseek.com/v1/chat/completions', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'Authorization': `Bearer ${DEEPSEEK_API_KEY}`
},
body: JSON.stringify({
model: 'deepseek-chat',
messages: [
{ role: 'system', content: systemPrompt },
{ role: 'user', content: userPrompt }
],
temperature: 0.8,
max_tokens: 2000
})
});
const data = await response.json();
const output = data.choices[0]?.message?.content || '无返回内容';
res.json({ result: output });
} catch (error) {
res.status(500).json({ error: error.message });
}
});
app.listen(3001, () => console.log('后端运行在3001端口'));
未部署后端时可点击下方模拟按钮预览效果(模拟按钮纯前端,不依赖后端)。
生成结果
点击生成按钮,结果将展示在这里