scenario-moderation
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseScenario Blocked Generations
Scenario 生成任务拦截排查
Overview
概述
Three gates can stop a generation, and only two of them read the prompt. Content filters run on the model provider's side, not on Scenario, so a provider block is a property of the model that was picked and the same prompt usually passes elsewhere in the catalog. IP Detection is the team's own gate: it screens the prompt and the input images before the run, an organization admin switches it on, and no model switch clears it. Plan and blocklist restrictions remove models before any prompt is judged. Treat a block as a routing problem first and a wording problem second. This skill is about false positives on content a team is entitled to make; it is not a way to produce content a provider prohibits. Core loop: see the skill. If a sibling skill named here is missing from your available skills, ask the user to install it (); unattended, proceed from tool schemas and flag the gap.
scenarionpx skills add scenario-labs/skills --skill <name>有三道关卡可能会拦截生成任务,其中只有两道会读取提示词。内容过滤器运行在模型服务商侧,而非 Scenario 平台,因此服务商拦截是所选模型的固有属性,同一提示词通常在平台的其他模型上可以正常通过。IP 检测是团队自有关卡:它会在任务运行前筛查提示词和输入图片,由组织管理员开启,切换任何模型都无法绕过。套餐限制和黑名单限制会在提示词被审核前就排除相关模型。遇到拦截时,应首先将其视为路由选择问题,其次才是措辞问题。本技能用于处理团队有权生成的内容被误判的情况,不可用于生成服务商禁止的内容。核心流程:参见 技能。如果你的可用技能中缺少此处提到的兄弟技能,请让用户安装();无人值守时,基于工具 schema 继续操作并标记缺失项。
scenarionpx skills add scenario-labs/skills --skill <name>Quick reference
快速参考
| Step | Call |
|---|---|
| Read the actual error | |
| Confirm the charge | |
| Read the team's gate | |
| Find alternative models | |
| Price an alternative | |
| Re-test the same intent | One |
Four failures look alike and only the first is about wording: a provider moderation block, an IP Detection block from the team's own settings, a 403 Forbidden error (the plan does not include that model), and a model a team has put on its own blocklist. Read the error before rewriting anything.
| 步骤 | 操作 |
|---|---|
| 读取实际错误信息 | 使用 |
| 确认扣费情况 | 首先查看 |
| 查看团队关卡设置 | 调用 |
| 寻找备选模型 | 使用失败任务的 |
| 估算备选方案费用 | 调用 |
| 复测相同意图 | 每个候选模型调用一次 |
有四种失败情况看起来很相似,只有第一种与措辞有关:服务商内容审核拦截、团队自身设置的 IP 检测拦截、403 Forbidden 错误(套餐不包含该模型)、以及团队加入自身黑名单的模型。在重写任何内容之前,请先读取错误信息。
Why legitimate prompts get blocked
为什么合法提示词会被拦截
Three triggers stack, and each alone often sits under the threshold:
- Recognizable characters. Automated filters react to character names and signature traits they recognize. They cannot know who owns the IP, so a team's own characters are flagged like anyone else's.
- Intensity-coded language. Words chosen to convey scale or drama ("oversized", "huge", "massive") read as violence in aggregate, even when the subject is a prop.
- Real-person likeness. Filters watch for resemblance to public figures in the output as well as names in the prompt, so a character sheet the platform itself generated can be refused as a reference on the next run, and a celebrity comparison in the prompt ("built like a heavyweight champion") is a name by another route.
With two present the prompt sits near the threshold, which is why the same intent passes one run and fails the next: a small rewording tips it over. An upstream LLM step that rewrites prompts is a frequent cause, because it leans harder on intensifiers to solve an unrelated problem and re-introduces the block on every run.
三个触发因素叠加作用,且每个单独存在时通常都低于阈值:
- 可识别的角色。 自动化过滤器会对它们识别出的角色名称和标志性特征做出反应。它们无法知道IP归谁所有,因此团队自有角色也会和其他角色一样被标记。
- 强度暗示语言。 用来表达规模或戏剧性的词汇("oversized"、"huge"、"massive")汇总起来会被判定为暴力相关,即使描述的对象是道具。
- 真人相似性。 过滤器不仅会检查提示词中的姓名,还会检查输出内容与公众人物的相似度,因此平台自身生成的角色设定图在下一次任务中作为参考时可能会被拒绝,而提示词中用名人做比较("built like a heavyweight champion")也会通过另一种路径触发姓名检测。
当存在两个因素时,提示词就会接近阈值,这就是为什么同一意图这次通过下次失败:微小的措辞调整就可能触发拦截。上游重写提示词的 LLM 步骤是常见原因,因为它会更频繁地使用强化词来解决不相关的问题,导致每次运行都重新触发拦截。
Filters differ by provider, not by price
过滤器因服务商而异,与价格无关
Scenario's public content policy guide ranks the providers: Google's models (Gemini, Veo) block the most brand and character references, ByteDance, OpenAI, Ideogram and Hunyuan sit in the middle, and FLUX and Recraft are the most permissive. ranks by measured performance, not by filter strictness, so an alternative from the same provider inherits the same filter: take the next candidate from a different provider, and read on the failed row to know which one that was: the provider is usually legible in the id, and when it is not, (catalog-only, read lane) returns the record with .
recommendmodelIdmodel_getcomplianceMetadata.modelProviderScenario 公开的内容政策指南对服务商进行了排名:Google 的模型(Gemini、Veo)拦截最多的品牌和角色引用,ByteDance、OpenAI、Ideogram 和 Hunyuan 处于中间水平,FLUX 和 Recraft 最为宽松。 是根据实测性能排名,而非过滤器严格程度,因此同一服务商的备选模型会继承相同的过滤器:请从不同服务商中选择下一个候选模型,查看失败行的 即可知道原模型属于哪个服务商:服务商名称通常在 ID 中清晰可见,如果看不清,调用 (仅目录查询,读通道)可返回包含 的记录。
recommendmodelIdmodel_getcomplianceMetadata.modelProviderVideo and audio blocks
视频和音频拦截
Video changes the economics of a block. Several providers moderate the finished render, so a rejected clip has already been rendered in full, and a retry of the identical payload renders it again. Read on the failed row before anything else and confirm the charge per the quick reference, then switch provider as above, prompt unchanged.
cuCostThe audio track is judged on its own. on an audio-enabled video run means the soundtrack tripped the filter, and the usual cause is a named instrument or genre, even inside an exclusion: "no music" and "a distant guitar" have both failed where "room tone, footsteps, a single voice" passed. Describe diegetic sound positively and name nothing to exclude; when the clip needs no sound, turn the audio field off where the schema exposes one ( on many families) rather than prompting silence.
OutputAudioSensitiveContentDetectedgenerateAudio视频拦截的成本影响更大。部分服务商会对完成渲染的内容进行审核,因此被驳回的片段已经完成了完整渲染,用相同的 payload 重试会再次完整渲染。在进行任何操作前,请先查看失败行的 ,并按照快速参考中的说明确认扣费情况,然后如上所述切换服务商,保持提示词不变。
cuCost音轨会被单独审核。启用音频的视频任务返回 意味着配乐触发了过滤器,常见原因是提到了具体的乐器或音乐类型,即使是在排除项中也不行:"no music" 和 "a distant guitar" 都可能失败,而 "room tone, footsteps, a single voice" 则可以通过。请用正面描述的方式说明剧情内声音,不要列出要排除的内容;当片段不需要声音时,如果 schema 提供了相关字段(很多模型系列有 字段),请直接关闭音频字段,而不是在提示词中要求静音。
OutputAudioSensitiveContentDetectedgenerateAudioIP Detection is the team's own gate
IP 检测是团队自有关卡
Teams on the Enterprise plan can switch on IP Detection, Scenario's own gate, independent of any provider's filter: it reads the prompt and the input images before the run against the filters an organization admin enabled (fictional characters, brands and trademarks, celebrity likeness, artist styles, and custom filters), and a match fails the job at once with a message naming intellectual-property risk, nothing generated and no generation cost charged. The screen itself bills 1 CU per screened generation plus 1 CU per input image, charged even when the result is a block and reported as its own IP Detection line in ; video, audio and 3D inputs are neither analyzed nor charged. The setting rides the row as : while it reads , every IP or copyright refusal is a provider's; the active levels differ in one thing only, whether a job is let through or blocked when the check itself cannot run, so report the literal value and that distinction. When it is active, read which gate the error names: the team's gate names intellectual-property risk, a provider's names a content policy violation, and when the text says neither, run the unchanged prompt once on one alternative provider: a provider filter clears with the switch, the team's gate repeats on any model. A team-gate block earns one retry with the design described visually and no protected mark in the prompt or in any input image (the brands filter reads a logo shown in a reference like a name, while generic product descriptions are not flagged). If that repeats, it is a conversation, not a call: tell the user which gate fired; an organization admin owns the filters and can opt a single project out of screening for licensed work, and verified IP holders who keep hitting false positives on their own licensed property have an escalation path through their Scenario account manager. A copyright warning attached to a completed output is the provider's flag and informational: the asset was delivered, and reviewing it before commercial use is the team's call.
usageteams_listipDetectionEnforcementdisabled企业版套餐的团队可以开启 IP 检测——这是 Scenario 自有关卡,独立于任何服务商的过滤器:它会在任务运行前,根据组织管理员启用的过滤器(虚构角色、品牌和商标、名人相似度、艺术家风格以及自定义过滤器)检查提示词和输入图片,如果匹配到内容,任务会立即失败并返回提及知识产权风险的消息,不会生成任何内容,也不会收取生成费用。筛查本身的计费标准为:每次被筛查的生成任务收取 1 CU,每张输入图片额外收取 1 CU,即使结果是拦截也会扣费,并在 中单独显示为 IP Detection 条目;视频、音频和 3D 输入不会被分析,也不会扣费。该设置存储在 返回行的 字段中:当值为 时,所有 IP 或版权相关的拒绝都来自服务商;不同的启用级别只有一个区别,即当检查本身无法运行时,任务是放行还是拦截,因此请报告实际值和这一区别。当 IP 检测启用时,查看错误提及的是哪道关卡:团队关卡会提及知识产权风险,服务商关卡会提及内容政策违规,如果错误文本两者都没提,用一个备选服务商运行一次未修改的提示词:服务商过滤器会随服务商切换而消失,团队关卡则会在任何模型上重复触发。团队关卡拦截的情况下,可以重试一次,重试时用视觉化方式描述设计,且提示词和任何输入图片中都不包含受保护标识(品牌过滤器会像识别名称一样识别参考图中显示的 logo,而通用产品描述不会被标记)。如果重试仍然被拦截,这就不是调用能解决的问题,需要沟通:告诉用户是哪道关卡触发的;过滤器由组织管理员管理,对于授权作品,管理员可以让单个项目退出筛查;如果经过验证的 IP 持有者在自己的授权资产上持续遇到误报,可以通过 Scenario 客户经理走升级通道。已完成的输出附带的版权警告是服务商的标记,仅作提示:资产已经交付,在商业使用前进行审核是团队的责任。
usageteams_listipDetectionEnforcementdisabledRecovery, cheapest first
恢复方案,从成本最低的开始
- Switch provider. Usually needs no prompt edit at all. Run the unchanged prompt against two or three alternatives from other providers at comparable cost; if they pass, the filter was that provider's, not the content's.
- Describe scale by proportion, not intensity. "The staff reaches shoulder height" or "the blade is about as long as the forearm" carries the same art direction as "oversized" without the violence coding.
- Soften recognizable names in the direct model input. Describe the design in the prompt and carry identity with a reference image instead, which holds the look better anyway (see ). Drop real-person comparisons the same way.
scenario-consistency - Constrain any upstream rewriter. When an LLM node writes the final prompt, put steps 2 and 3 in its instructions, or the block returns on the next run.
Then stop. If every provider refuses and one honest rewrite has not cleared it, the filter is reading something real: say so and hand it back to the user. Grinding out variants until one slips through is evasion, not art direction.
- 切换服务商。 通常完全不需要修改提示词。用成本相近的其他服务商的两到三个备选模型运行未修改的提示词;如果通过了,说明过滤器是该服务商的,而非内容本身有问题。
- 用比例而非强度描述规模。 "法杖到肩膀高度" 或 "刀刃大约和前臂一样长" 和 "oversized" 传达的美术指导效果相同,但不会有暴力暗示。
- 弱化直接模型输入中的可识别名称。 在提示词中描述设计,改用参考图来传递身份信息,而且这样通常能更好地保持外观一致性(参见 )。同样去掉真人比较的内容。
scenario-consistency - 约束所有上游重写器。 当有 LLM 节点负责编写最终提示词时,将第 2 和第 3 步加入其指令中,否则下次运行还会触发拦截。
然后就停止。如果所有服务商都拒绝,且一次合理的重写也没有解决问题,说明过滤器确实检测到了真实的违规内容:如实告知用户并将问题交还给用户。反复生成变体直到侥幸通过属于规避行为,而非美术指导。
Worked example: a flagged weapon prop
示例:被标记的武器道具
The studio's own character is named Onyx, and "Onyx's oversized war hammer, huge spiked head" comes back flagged.
- Read the error: with
job_get(job_idfor the exact prompt the job ran), or theverbose=trueanderrorfields on thehintrow. It names moderation, so this is a provider filter, not a plan restriction, a team blocklist, or IP Detection (jobs_waitshowsteams_list).ipDetectionEnforcement: "disabled" - with the failed job's
recommend(capabilityhere) and the user's own words, take two alternatives from providers other than the failedtxt2img's, price each withmodelIdandmodel_run, then run the unchanged prompt on each. One passes: done, the filter belonged to the first provider.dry_run=true - Suppose all of them refuse. Rewrite once, by proportion and without the name: "a war hammer as tall as its wielder's shoulder, spiked head two hand-spans across", and carry Onyx's look with a reference image (see ).
scenario-consistency - Still refused everywhere: stop and tell the user what the filter appears to be reacting to.
工作室的自有角色名为 Onyx,提示词 "Onyx's oversized war hammer, huge spiked head" 返回被标记。
- 读取错误信息:传入 调用
job_id(设置job_get可获取任务运行的精确提示词),或查看verbose=true返回行的jobs_wait和error字段。错误提及了内容审核,因此这是服务商过滤器拦截,不是套餐限制、团队黑名单或 IP 检测(hint显示teams_list)。ipDetectionEnforcement: "disabled" - 使用失败任务的 (这里是
capability)和用户的描述调用txt2img,从失败recommend所属服务商之外的服务商中选择两个备选模型,分别调用modelId并设置model_run估算费用,然后用每个模型运行未修改的提示词。其中一个通过了:问题解决,过滤器属于第一个服务商。dry_run=true - 假设所有模型都拒绝。重写一次提示词,用比例描述且不包含名称:"a war hammer as tall as its wielder's shoulder, spiked head two hand-spans across",并用参考图来保持 Onyx 的外观(参见 )。
scenario-consistency - 所有模型仍然拒绝:停止操作,告诉用户过滤器似乎是对什么内容做出了反应。
Common mistakes
常见错误
- Retrying the identical prompt: near-threshold prompts pass intermittently, so a retry that happens to work has fixed nothing, and on video it renders the whole clip again first.
- Rewriting wording before trying another provider: wording changes are slow and lose art direction, switching models is one call.
- Switching within the same provider: sibling members share the filter; the next candidate comes from another provider.
- Naming a genre or instrument to exclude it in an audio-enabled prompt: the exclusion is what the audio filter reads.
- Assuming IP ownership exempts a prompt: the filter is automated and sees only the text and images sent to it.
- Treating every IP-worded refusal as one gate: with enforcement on, the error wording tells them apart first and one provider switch second, and only the provider's clears that way; the team's needs its admin.
- Reporting a block as a Scenario fault: confirm other providers refuse it too, then file it with .
scenario-report - Escalating to a pricier model expecting a laxer filter: cost and moderation strictness are unrelated.
- Reading an empty model list as moderation: a team blocklist or a plan restriction removes models before any prompt is judged.
- 重试完全相同的提示词:接近阈值的提示词会间歇性通过,因此碰巧成功的重试并没有解决任何问题,而且对于视频任务,重试会先重新完整渲染整个片段。
- 在尝试其他服务商之前重写措辞:措辞修改耗时且会丢失美术指导效果,切换模型只需要一次调用。
- 在同一服务商内切换:同服务商的模型共享过滤器;下一个候选模型应该来自其他服务商。
- 在启用音频的提示词中列出要排除的音乐类型或乐器:排除项正是音频过滤器的检测内容。
- 认为拥有 IP 所有权就可以豁免提示词:过滤器是自动化的,只能看到发送给它的文本和图片。
- 将所有提及 IP 的拒绝都归为同一关卡:当 IP 检测启用时,首先通过错误措辞区分,其次通过切换服务商验证,只有服务商的拦截可以通过切换解决;团队关卡需要管理员处理。
- 将拦截报告为 Scenario 的故障:先确认其他服务商也会拦截,然后通过 提交。
scenario-report - 升级到更贵的模型,期望过滤器更宽松:费用和审核严格程度无关。
- 将模型列表为空误认为是内容审核:团队黑名单或套餐限制会在提示词被审核前就移除模型。