批量生图跑到一半挂了怎么办?给 nano-banana2 的生图API 任务加断点续跑
批量出图最怕的场景一千张跑到第七百张进程挂了。重跑一遍不仅浪费两个小时 前面七百张的积分也白花了。这篇讲在该服务上给批量生图任务加断点续跑挂了能接着跑。一、核心任务状态要落盘不能只在内存内存里的results数组进程一死就没了。每完成一条就写一次const fs require(fs); // 用 JSONL一行一条追加写进程崩了也不会毁掉整个文件 // JSON 数组写到一半崩了文件就是坏的解析不出来 function appendDone(file, rec) { fs.appendFileSync(file, JSON.stringify(rec) \n); } function loadDone(file) { if (!fs.existsSync(file)) return new Set(); return new Set( fs.readFileSync(file, utf8).split(\n).filter(Boolean) .map((l) { try { return JSON.parse(l).key; } catch { return null; } }) .filter(Boolean) ); }用 JSONL 不用 JSON 数组——追加写是原子的崩在半路最多损失最后一行 而 JSON 数组写到一半崩了整个文件都解析不出来。二、每条任务要有稳定的 key续跑靠 key 判断这条做过没有。key 必须由输入决定不能用随机数或时间戳const crypto require(crypto); const keyOf (item) crypto.createHash(md5) .update(item.sku | item.prompt | item.model).digest(hex).slice(0, 12);把model也放进 key换了模型就该重跑不然续跑时会把旧模型的结果当成已完成。三、完整的续跑实现async function runBatch(items, { workers 16, doneFile done.jsonl } {}) { const done loadDone(doneFile); const todo items.filter((it) !done.has(keyOf(it))); console.log(总共 ${items.length} 条已完成 ${done.size}本次要跑 ${todo.length}); if (!todo.length) return; let next 0, ok 0, fail 0; await Promise.all(Array.from({ length: workers }, async () { while (next todo.length) { const it todo[next]; const key keyOf(it); try { const r await fetch(https://API_HOST/v1/chat/completions, { method: POST, headers: { Authorization: Bearer ${process.env.TTQ_API_KEY}, Content-Type: application/json, }, body: JSON.stringify({ model: it.model, messages: [{ role: user, content: it.prompt }] }), signal: AbortSignal.timeout(120_000), }); if (!r.ok) throw new Error(HTTP r.status); const data await r.json(); appendDone(doneFile, { key, sku: it.sku, model: it.model, data, at: Date.now() }); ok; } catch (e) { // 失败的不写 done 文件 —— 下次续跑会自动重试它 fail; console.warn(失败, it.sku, e.message); } if ((ok fail) % 50 0) console.log(进度 ${ok fail}/${todo.length} 成功 ${ok} 失败 ${fail}); } })); console.log(本轮完成成功 ${ok}失败 ${fail}); }失败的不写 done 文件这样下次直接跑就是在重试失败的那些不用另写重试逻辑。 反复跑几次直到本次要跑 0为止。四、几个容易忽略的点进度要打印。跑两个小时一行日志没有没人知道是在跑还是卡死了。每 50 条打一次刚好。别把图片二进制写进 done 文件。只存 URL 或落地后的路径 否则 JSONL 文件几个 G加载done集合就要等半天。中断要能优雅退出let stopping false; process.on(SIGINT, () { stopping true; console.log(收到中断跑完手上的就停...); }); // 循环里if (stopping) break;直接 CtrlC 强杀正在飞的请求积分已经扣了但结果没落盘白花钱。五、模型与消耗模型代码定位消耗nano-banana2跑量首选最快最便宜8 积分/次nano-banana-pro终稿支持 1K/2K/4K10 积分/次gpt-image-2细节质感按次计费Veo 3.1 视频生成/Sora 2生视频120 / 130 积分/次跑量务必用nano-banana2——同样一千张比 Pro 级省两千积分挑中的再用 Pro 重出。六、小结断点续跑四条状态落盘用 JSONL 不用 JSON 数组、key 由输入内容决定、失败的不记账下次自动重试、中断要优雅退出别浪费在途请求。该服务并发高跑量任务才有意义模型全nano banana pro、gpt-image-2、Veo 3.1、Sora 2、价格便宜、出图快、稳定。接口服务甜甜圈APIdashengfenshen.cn

相关新闻

如何让网站建设更高效?深度解析站内搜索在品牌官网中的核心价值与落地指南

如何让网站建设更高效?深度解析站内搜索在品牌官网中的核心价值与落地指南

最近有很多做企业官网的朋友来找我聊天,话题往往都绕不开一个老生常谈的问题:为什么我花了大价钱搞网站建设,请了最好的设计团队,用了最流行的前端技术,结果网站打开速度飞快,页面酷炫无比,但客户访问之后,要么看两眼就走了,要么卡在某个页面找不到想要的产品,最后只…

2026/9/29 7:29:02 阅读更多 →
Topit终极指南:3步掌握Mac窗口置顶,多任务效率翻倍!

Topit终极指南:3步掌握Mac窗口置顶,多任务效率翻倍!

Topit终极指南:3步掌握Mac窗口置顶,多任务效率翻倍! 【免费下载链接】Topit Pin any window to the top of your screen / 在Mac上将你的任何窗口强制置顶 项目地址: https://gitcode.com/gh_mirrors/to/Topit 你是否经常在写代码时&a…

2026/9/28 13:22:34 阅读更多 →
如何用Winhance中文版免费优化Windows系统:从卡顿到流畅的完整指南

如何用Winhance中文版免费优化Windows系统:从卡顿到流畅的完整指南

如何用Winhance中文版免费优化Windows系统:从卡顿到流畅的完整指南 【免费下载链接】Winhance-zh_CN A Chinese version of Winhance. C# application designed to optimize and customize your Windows experience. 项目地址: https://gitcode.com/gh_mirrors/wi…

2026/9/27 3:54:54 阅读更多 →

最新新闻

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/1 0:00:30 阅读更多 →
我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/1 0:00:30 阅读更多 →
游戏引擎原理与实践 02:揭开3A游戏背后的技术面纱

游戏引擎原理与实践 02:揭开3A游戏背后的技术面纱

游戏引擎原理与实践 02:揭开3A游戏背后的技术面纱Bilibili 同步视频游戏逻辑 vs 游戏引擎,剧本和摄影机的区别现代游戏引擎都包含哪些模块?游戏编辑器:游戏开发者的工作台数学,游戏引擎的内功根基需要重点掌握的数学知…

2026/9/30 23:59:29 阅读更多 →
中科院青藏高原所李新团队提出 READY 框架|地学数据光“开放共享”还不够,得先过“AI 就绪”这道关

中科院青藏高原所李新团队提出 READY 框架|地学数据光“开放共享”还不够,得先过“AI 就绪”这道关

近日,中国科学院青藏高原研究所、国家青藏高原科学数据中心联合国内多个地学数据中心科研人员,系统提出了“人工智能就绪地球科学数据(AI-ready geoscience data)”的定义框架与实现路径。当前,“人工智能就绪数据&…

2026/9/30 23:59:29 阅读更多 →
智能车竞赛芯片选型指南:从主频、资源到双核与生态的决策链

智能车竞赛芯片选型指南:从主频、资源到双核与生态的决策链

1. 为什么第十五届的“芯片选型”忽然成了所有人绕不开的话题从第十五届备赛周期开始,智能车竞赛里的一个趋势变得非常明显:你打开官方通知后,第一件事不再是去翻上届学长传下来的代码,而是先去看“主控芯片”那一栏还能不能沿用老…

2026/9/30 23:59:29 阅读更多 →
MCP Kubernetes Server 实战:用 TaoToken 统一 Key 打通集群管理工具链

MCP Kubernetes Server 实战:用 TaoToken 统一 Key 打通集群管理工具链

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/30 23:59:29 阅读更多 →

日新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/1 0:00:30 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/1 0:00:30 阅读更多 →

周新闻

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解 【免费下载链接】spirula-studio Cross-vendor 3D Gaussian Splatting trainer - video to splat to mesh, Vulkan or CUDA. 项目地址: https://gitcode.com/GitHub_Trending/sp/spirula-studio Sp…

2026/9/30 13:14:22 阅读更多 →
SEO怎么推广速查手册新手避坑实战指南

SEO怎么推广速查手册新手避坑实战指南

SEO怎么推广速查手册新手避坑实战指南 模板网站太丑不够用?别急着加滤镜,那是治标不治本。很多老板盯着后台流量掉得眼红,却还在纠结首页Banner的圆角是不是3像素。这就像穿着西装去挖土,姿势不对,努力白费。我整理这份 速查手册…

2026/9/30 18:13:06 阅读更多 →
FireRed-OpenStoryline少样本仿写深度解析:AI Agent如何复刻你的独特文案风格与节奏

FireRed-OpenStoryline少样本仿写深度解析:AI Agent如何复刻你的独特文案风格与节奏

FireRed-OpenStoryline少样本仿写深度解析:AI Agent如何复刻你的独特文案风格与节奏 【免费下载链接】FireRed-OpenStoryline FireRed-OpenStoryline is an AI video editing agent that transforms manual editing into intention-driven directing through natural language …

2026/9/30 13:14:49 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/1 0:00:30 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/1 0:00:30 阅读更多 →