图片生成Image Generation提示词安全策略APINbility

图片生成失败怎么办:安全策略、提示词、重试

从安全策略、提示词约束、参数组合、异步任务、网络与配额,到重试队列和人工审核,整理一套可复用的 AI 生图排障流程。

图片生成失败怎么办:安全策略、提示词、重试

图片生成失败怎么办封面

做 AI 生图工作流时,最容易让人崩溃的不是“图不好看”,而是请求直接失败:有时是安全策略拦截,有时是模型不支持尺寸,有时是返回超时,有时同一个 prompt 今天能跑、明天又不稳定。

这篇文章不讲玄学提示词,而是把“图片生成失败”拆成可排查的工程问题:先判断失败类型,再调整 prompt、参数、重试策略和人工审核流程。适合你把图片模型接进内容生产、客服机器人、社群 Bot 或营销素材流水线时参考。

先把失败分成四类

很多团队一看到报错就改 prompt,结果越改越乱。建议先按下面四类归因:

AI 生图失败分类

  1. 安全策略类:prompt、参考图或输出意图触发安全规则,例如真人敏感内容、侵权、暴力、隐私、误导性内容等;
  2. 参数与模型类:模型名、尺寸、质量、数量、输入图格式不被当前接口支持;
  3. 网络与服务类:超时、异步任务未完成、上游拥塞、网关限流、余额或配额不足;
  4. 质量不可用类:接口成功,但图片出现错字、畸形、主体跑偏、比例错误,不适合发布。

第一类要改需求,第二类要查文档,第三类要重试和监控,第四类要做审核与二次生成。不要用同一种方式处理所有失败。

安全策略:先改意图,不是只换词

如果失败原因和安全策略有关,最稳的做法不是把敏感词拆开,而是把需求改成更明确、可发布、低风险的表达。

例如你想做“故障排查”主题封面,不要写成:

A panicked engineer fighting a dangerous AI system, red warning, chaos, explosion.

可以改成:

A friendly AI support mascot helping a developer debug an image generation dashboard.
Visible UI cards show: prompt check, policy review, retry queue, human approval.
Clean black and orange tech style, no real logos, no private data, no violent scene.

这类写法把画面从“危险冲突”转成“支持与排障”,既更容易通过,也更贴近文章内容。

Prompt 排障:保留结构,逐步减法

当图片生成失败或跑偏时,不要一次性大改。推荐按顺序做减法:

  1. 固定主体:一句话说明谁在做什么;
  2. 固定用途:封面、社媒图、流程图、产品插画;
  3. 固定限制:不要真实 Logo、二维码、密钥、可读小字、未授权商标;
  4. 删除高风险细节:真人姓名、具体品牌、敏感场景、过度夸张的伤害描述;
  5. 删除互相冲突的风格词:不要同时要求写实摄影、3D、手绘、水彩、赛博朋克。

一个可复用模板:

Use case: tutorial cover for an AI image generation troubleshooting guide.
Subject: a friendly support mascot and a developer checking failed image tasks.
Scene: dashboard with four cards: policy, prompt, retry, review.
Style: clean modern illustration, black and orange palette, high contrast.
Composition: 16:9 cover, leave blank title-safe area, no tiny readable text.
Constraints: no real logos, no API keys, no private user data, no watermark.

如果这仍然失败,就进一步删到只剩主体、场景和限制。最小 prompt 能跑通后,再一点点加细节。

参数排障:模型、尺寸、质量要一起看

图片 API 通常会有模型、尺寸、质量、数量、输入图格式等约束。排障时重点检查:

  • model 是否真实存在、是否支持图片生成;
  • size 是否在模型支持范围内,例如 1024x10241536x10241024x1536 这类常见值;
  • quality 是否被该模型支持,先用 medium 或默认值跑通;
  • 编辑/参考图场景下,输入图片格式、大小、透明通道是否符合要求;
  • SDK 版本是否太旧,导致参数名或响应结构不匹配。

如果你通过 Nbility 这类 OpenAI-compatible API 网关调用图片模型,建议把 Base URL、模型名和质量参数集中放在 .env,不要散落在脚本里:

NBILITY_API_KEY=[REDACTED]
NBILITY_BASE_URL=https://api.nbility.dev/v1
NBILITY_IMAGE_MODEL=gpt-image-2
NBILITY_IMAGE_QUALITY=medium

这样后续切模型、切质量、切项目 Key 时,不需要改业务代码。

重试策略:不要无限重试

图片生成比文本更慢,也更贵。失败时要有重试,但不能无限撞接口。

生图请求重试队列

推荐策略:

  • 参数错误:不重试,直接失败并提示开发者修配置;
  • 安全策略错误:不自动绕过,进入人工改写;
  • 超时 / 502 / 503 / 429:可指数退避重试 2–3 次;
  • 质量不可用:最多生成 2–4 个候选,交给人工挑选;
  • 批量任务:记录 task id、prompt hash、失败原因,避免重复烧钱。

Python 伪代码:

import time

RETRYABLE = {408, 429, 500, 502, 503, 504}

def should_retry(status_code, error_type):
    if error_type in {"policy_violation", "bad_request", "invalid_model"}:
        return False
    return status_code in RETRYABLE

def retry_delay(attempt):
    return min(60, 2 ** attempt)

for attempt in range(3):
    try:
        image = generate_image()
        break
    except ApiError as e:
        if not should_retry(e.status_code, e.type):
            raise
        time.sleep(retry_delay(attempt))

批量生产:先小样,再放量

营销图、公众号封面、小红书轮播这类任务,很容易从“一张图”变成“一百张图”。批量生产前建议加一道小样流程:

  1. 每个主题先生成 1–2 张低成本草图;
  2. 人工确认风格、比例、安全区;
  3. 通过后再高质量重跑;
  4. 每张图保留 prompt、模型名、尺寸、时间、成本标签;
  5. 失败图进入失败目录,不要覆盖原始结果。

成本控制也很重要。统一走 Nbility 这样的 OpenAI-compatible 网关,可以把聊天模型、图片模型和 Agent 工具调用放在同一个入口下看用量。对团队来说,这比每个人各自拿一个 Key 更容易控预算。

上线前检查清单

生图工作流上线前,至少做这些检查:

[ ] 错误日志记录 status code、error type、request id / task id
[ ] prompt 中没有真实 API Key、手机号、客户资料、内部后台截图
[ ] 安全策略失败不会自动绕过,只进入人工改写
[ ] 429/5xx 有指数退避,参数错误不会无意义重试
[ ] 批量任务有最大生成数量和预算上限
[ ] 图片发布前经过人工预览,尤其检查中文、小字和裁剪
[ ] 失败样本会沉淀到 prompt 模板和排障文档里

常见问题

1. 为什么同一个 prompt 有时成功有时失败?

图片模型和安全检查都可能随上下文、参考图、参数、服务状态变化。把 prompt、模型、尺寸、参考图 hash、错误信息都记录下来,才能复盘。

2. 安全策略失败能不能自动改写后重试?

可以做“保守改写”,例如去掉真实姓名、品牌、暴力词、隐私信息,但不要做绕过式改写。涉及敏感人物、仿冒、隐私、伤害等场景,应该交给人工判断。

3. 图片成功了,但中文字错了怎么办?

不要让图片模型负责最终文字。生成无字底图,再用脚本、Canva、Figma 或设计模板叠加标题。

4. 怎么判断是 Nbility、模型还是代码问题?

先用最小 prompt、默认尺寸、官方 SDK 示例跑一次;再换同一个模型的文本接口验证 Key 和 Base URL;最后看错误码。如果文本能通、图片参数失败,通常是模型名、尺寸、质量或图片接口参数问题。

参考链接

相关文章

GPT-image / 多模态生图 API 新手教程
GPT ImageImage GenerationMultimodal

GPT-image / 多模态生图 API 新手教程

从文本生图、参考图编辑、Base URL、b64_json 保存到错误排查,带你用 OpenAI-compatible API 搭好第一条可复用的图片生成工作流。

给小红书/推文生成配图工作流
小红书XTwitter

给小红书/推文生成配图工作流

从标题、卖点和平台尺寸出发,用 AI 生成小红书首图、轮播卡片和 X/Twitter 推文配图,并用脚本控制安全区、比例、导出和审核。

给公众号文章自动生成封面图
微信公众号封面图Image Generation

给公众号文章自动生成封面图

从文章标题、摘要、关键词到 900×383 头条封面、383×383 分享封面和 1283×383 组合图,搭建一套可复用的公众号封面自动生成工作流。

用 Nbility 跑通你的 Agent 工作流

获取 API Key,统一接入 OpenAI 兼容模型和开发工具。

管理 API Key