
AI 绘图平台在处理「图生图」任务时,通常会输出多张结果图,用以展示不同角度、光影或动作的变化。然而,最近在将 Dreamina 的图生图功能整合进自建 AIGC 服务时,许多开发者发现一个诡异现象:无论提示词写得多么详细,生成结果始终只有一张图。表面看是模型输出问题,实际上是服务端逻辑过早返回导致的。本文将带大家完整分析问题成因,讲清楚轮询机制的设计思路,并展示如何通过几行 TypeScript 代码修复这个痛点,让 Dreamina 恢复到「一次生成四图」的正常状态。文章目录问题现象与定位思路改进后的轮询代码实现修复后运行效果进一步优化建议完整修复版函数总结问题现象与定位思路在服务端调用/mweb/v1/aigc_draft/generate提交图生图任务后,日志中经常能看到类似输出:[info] 图生图完成: 状态=45, 已生成 1 张图片 [info] 图生图结果: 成功生成 1 张图片生成速度非常快,结果只包含一张图。表面看像模型输出数量限制,但进一步分析发现,Dreamina 服务返回的状态码45 并不代表任务结束,而是「任务阶段性完成」。换句话说:服务端在检测到第一张图片生成时,就提前break退出了轮询,任务仍在后台继续运行,但程序已经返回结果。问题根源:轮询逻辑过早终止来看核心逻辑(修改前):if(item_list.length0)