AI PLAY玩法更新持续收录
← 回到更新流

2026-09-01 · 原文发布日

用SciDraw把文字提示生成科研插画

手动运行后,工作流把提示词、画幅、分辨率和张数发给 SciDraw AI 建任务;未立即出图就每5秒轮询任务状态,失败或取消会报错,成功后下载第一张插画为 n8n 二进制数据。需自备 SciDraw 密钥与额度,也可改轮询间隔、超时和后续存储节点。

原文要点

来源是 n8n 官方模板库 18972 号免费模板,作者 Davie Chen。流程为手动触发:先在配置节点写入提示词、画幅比例、分辨率、张数和幂等请求 ID,再向 SciDraw AI 发 POST 建图任务并最多等 30 秒看是否立即出结果;若任务仍 queued 或 processing,就每 5 秒轮询任务状态接口直到终态;失败或取消用 Stop And Error 报错,成功后下载第一张插画为 n8n 二进制数据。需自备 SciDraw 账号、额度,以及带 images:generate 和 jobs:read 权限的 API key,凭据类型为 HTTP Header Auth(Authorization: Bearer)。

这次做成什么

在本地 n8n 里搭一条「文字提示 → SciDraw 生成科研插画 → 轮询等结果 → 下载图片」的流程,并用一组虚构的细胞结构图提示词完成一次端到端练习,验证轮询和报错分支都能走到。

准备什么

  • 一个 n8n 实例,已启用 HTTP Request、Wait、If、Edit Fields、Stop And Error 节点
  • SciDraw AI 账号与足够额度,已生成含 images:generate 和 jobs:read 权限的 API key
  • n8n 中已建 HTTP Header Auth 凭据:Header Name 填 Authorization,Value 填 Bearer 加密钥

具体怎么做

  1. 导入模板并配置凭据

    在 n8n 工作流页导入模板 18972。打开两处 SciDraw 的 HTTP Request 节点(建任务、查状态),在 Credential 下拉框里选中你新建的 HTTP Header Auth 凭据;两处必须选同一个,否则轮询会因鉴权失败中断。

  2. 在配置节点填写生成参数

    打开 Edit Fields 配置节点,把 prompt 改成你的插画描述(见下方材料中的完整中文提示词示例),aspect_ratio 选 16:9 或 1:1,resolution 按需设置,count 填 1,并给每次运行生成唯一的 idempotency request ID(可用 n8n 表达式 {{$execution.id}} 自动填入,避免重复计费)。

  3. 手动执行并观察建任务响应

    点击 Execute Workflow。第一个 HTTP Request 向 SciDraw 发 POST 建任务,最多等待 30 秒。若直接返回完成态,流程跳到下载;若返回 queued 或 processing,进入下一步轮询。可在节点输出面板查看返回的 job ID 和 status 字段。

  4. 验证轮询与失败分支

    If 节点判断 job 状态:非终态时 Wait 节点等 5 秒再调用状态查询接口,循环直至成功、失败或取消。核对连线:status 为 failed 或 canceled 的分支必须接到 Stop And Error,确认其抛出带状态原因的错误信息而不是静默结束;可先静态检查连线再在真实运行中观察一次失败任务的报错输出。

  5. 下载插画并接存储

    成功分支的最后一个 HTTP Request 会下载第一张生成图,结果出现在节点的 binary 数据中。练习时可直接在输出面板预览下载;之后可自行追加 Write Binary File 或云存储节点把图片落盘,模板本身不含存储节点。

可直接复制的材料

SciDraw 插画生成提示词与配置示例

本站独立编写的配置示例,填入 Edit Fields 节点对应字段;提示词按你的课题替换,分辨率取值需以 SciDraw 文档实际支持的档位为准。

{
  "prompt": "科研插图风格:哺乳动物细胞横截面示意图,清晰标注细胞核、线粒体、内质网和高尔基体,扁平矢量配色,浅灰背景,适合论文配图,无文字水印",
  "aspect_ratio": "16:9",
  "resolution": "2048x1152",
  "count": 1,
  "idempotency_key": "{{$execution.id}}"
}

轮询状态判断逻辑(If 节点条件示例)

本站按原文描述整理的判断逻辑示意,字段名以 SciDraw 实际返回 JSON 为准,请在节点输出里核对 status 的真实拼写后再写条件。

条件1:{{$json.status}} 不等于 succeeded
条件2:{{$json.status}} 不等于 failed
条件3:{{$json.status}} 不等于 canceled
三条同时满足(AND)走 Wait 5 秒回环;status 等于 failed 或 canceled 走 Stop And Error;等于 succeeded 走下载节点。

输入与输出示例

本站虚构演示,URL 与文件大小均为编造示意,非真实调用结果。

输入

提示词「科研插图风格:哺乳动物细胞横截面示意图,标注细胞核、线粒体」,aspect_ratio 16:9,count 1,幂等 ID demo-run-0001

对应输出

建任务返回 {"job_id":"job_demo_a1b2","status":"processing"};第一次轮询仍为 processing,第二次轮询返回 {"job_id":"job_demo_a1b2","status":"succeeded","files":[{"url":"https://example.invalid/files/illustration_01.png"}]},下载节点得到 binary 数据 illustration_01.png,约 1.2 MB。

做完检查这些

  • 建任务节点输出面板能看到 job_id 字段且 HTTP 状态为 2xx,说明凭据和权限生效
  • 把提示词临时改成空字符串运行,流程应在 Stop And Error 或上游报错处停下,而不是无限轮询
  • 成功运行后,下载节点的 Binary 标签页出现至少一个图片文件且可预览
  • 两次使用相同幂等 ID 运行时不会重复创建两个计费任务(可在 SciDraw 控制台核对)

容易卡住的地方

  • 两处 HTTP Request 必须选同一个 SciDraw 凭据,漏配轮询节点会表现为建任务成功但查询一直 401
  • 轮询间隔固定 5 秒、建任务等待上限 30 秒,大图任务可能轮询多轮,不要把 Wait 改成 0 以免触发限流
  • 每次 API 调用都消耗 SciDraw 额度,练习时 count 保持 1,避免调试期反复烧额度
  • 幂等 ID 若写死同一个值,参数改了也可能拿到旧结果,建议用执行 ID 自动生成

原文与作者资料 ↗

本站借助AI整理来源事实,独立编写中文操作指南与示例。示例不代表实际运行结果;来源效果尚未由本站独立复现。付费模板与模型、服务费用分别计算。

原文标题
Generate scientific illustrations from text prompts with SciDraw AI
原作者
Davie Chen
原始发布日期
2026-09-01T03:00:02.634Z
来源
https://n8n.io/workflows/18972