从上传、生成到状态追踪和结果回传,整条链路都为产品化设计, 能真正落到你的前端页面、后台系统和商业场景里。
通过简洁的 API 提交 prompt,即可生成高质量图片,适用于海报、商品图、 封面图与内容创作场景。
文件上传与生成任务分离。前端先上传图片,再把 file_id 交给生成接口, 结构更清楚,也更适合后续扩展。
提交后立即返回 task_id,不阻塞请求。对多用户、长耗时模型和真实线上服务更友好。
支持任务轮询与状态展示,前端可以明确展示处理中、完成、失败与进度百分比。
无论你是做管理后台、内容工具、SaaS 平台,还是 Electron 桌面应用, 都可以直接接入。
后续可以继续加账号体系、任务历史、套餐计费、API Key、Webhook、 模型切换与企业能力。
参考图与生成逻辑拆开后,前端交互更自然,后端职责也更清晰, 更适合你后面做缓存、鉴权、计费和任务中心。
前端调用上传接口,拿到 file_id。没有参考图时,也可以直接跳过。
提交 prompt、reference_file_id 与其他参数,服务端立即返回 task_id。
前端根据 task_id 轮询接口,显示任务状态、进度与失败原因。
任务完成后返回图片地址或文件流,前端即可直接预览、保存或继续编辑。
当前接口结构已经很适合产品化落地。上传、生成、进度、结果分层清晰, 前端接起来顺,后端也方便维护。
// 1. 上传参考图,获取 file_id
const formData = new FormData();
formData.append('file', fileInput.files[0]);
const uploadRes = await fetch('/api/upload', {
method: 'POST',
body: formData
});
const uploadData = await uploadRes.json();
// 2. 提交生成任务
const genRes = await fetch('/api/genimage', {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({
prompt: '生成一张高质量极简产品海报',
reference_file_id: uploadData.file_id
})
});
const genData = await genRes.json();
const taskId = genData.task_id;
// 3. 轮询任务状态
const timer = setInterval(async () => {
const statusRes = await fetch(`/api/genimage/${taskId}`);
const statusData = await statusRes.json();
// 关键逻辑:更新进度
if (statusData.status === 'processing') {
console.log('progress:', statusData.progress);
}
// 关键逻辑:任务结束后停止轮询
if (statusData.status === 'success' || statusData.status === 'failed') {
clearInterval(timer);
}
}, 1500);
它不只是一个演示能力,而是可以接进你的内容工具、营销系统、 商品展示页面和平台型产品里。
面向封面图、文章配图、品牌海报与社交内容生产, 快速生成更统一、更高级的视觉素材。
用于商品场景图、卖点图、详情页展示和营销海报, 帮助商品表达更完整、更统一。
非常适合做成在线工具、SaaS 页面或桌面应用, 再往上叠加会员、任务中心与计费系统。