scenario-video
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseScenario Video Generation and Editing
Scenario 视频生成与编辑
Overview
概述
Scenario exposes a large video catalog through one MCP loop: text-to-video and image-to-video generators plus video-to-video editors, lipsync, upscalers, and deterministic cut/split/concat tools. Per-family contracts: , , , , , , , , , .
scenario-klingscenario-veoscenario-seedancescenario-gemini-omniscenario-luma-videoscenario-runwayscenario-grok-imagine-videoscenario-wanscenario-minimax-videoscenario-viduConnection and the core generation 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 通过一个 MCP 循环提供庞大的视频工具目录:文生视频和图生视频生成器,以及视频转视频编辑器、口型同步、超分工具,还有确定性的剪切/分割/拼接工具。各模型家族的技能合约包括:、、、、、、、、、。
scenario-klingscenario-veoscenario-seedancescenario-gemini-omniscenario-luma-videoscenario-runwayscenario-grok-imagine-videoscenario-wanscenario-minimax-videoscenario-vidu连接方式和核心生成循环:参见 skill。如果此处列出的某个兄弟技能不在你的可用技能列表中,请让用户安装它();若处于无人值守状态,则根据工具 schema 继续操作并标记缺失项。
scenarionpx skills add scenario-labs/skills --skill <name>Quick reference
快速参考
| Step | Tool | Notes |
|---|---|---|
| Find a model | | |
| Inspect inputs | | Always before |
| Upload source | | A local still or clip becomes an |
| Generate | | |
| Wait | | Re-call with the returned |
| Review | | Display inline; |
| 步骤 | 工具 | 说明 |
|---|---|---|
| 查找模型 | | |
| 检查输入 | | 始终在 |
| 上传源文件 | | 本地静态图片或视频片段会转换为 |
| 生成 | | 视频任务设置 |
| 等待 | | 使用返回的 |
| 查看结果 | | 内联显示; |
Worked example: animate a key art still into a short ad clip
实操示例:将主视觉静态图制作成短广告片段
- with the user's own words as
recommend(the need is a capability,prompt); handleimg2videoas thenext_stepskill directs.scenario - on the pick. Note the image field, duration options, and any last-frame anchor.
model_schema_get - the still; it returns
upload_asset.asset_id="asset_abc" - with
model_runandparameters={"image": "asset_abc", "prompt": "Close-up on the mug; slow dolly-in as steam curls through window light, shallow focus on the rim. Room tone, no music, no subtitles."}. Returns await=false.job_id - with
jobs_wait, re-called withjob_ids=["job_xyz"]while any remain.pending_job_ids - the output (
asset_display), thenasset_id(noasset_download).format
The source image already fixes the look, so prompt only motion, camera, and timing ("orbit left", "hold on the final pose"), changing one clause per retry. A first-frame field pins how the clip opens (a last-frame field, where offered, how it lands, and only beside a first frame: alone it is a 400 ); a reference-image field carries identity and look without fixing any moment. So an exact opening composition goes in as a rendered still and a recurring character or product as references; whether one run takes both is per schema, and several forbid the pair. A reference-audio field is guidance the prompt has to claim: what it conditions (timing and energy on one family, a voice on another) and whether it rides alone or needs an image or video reference beside it are the family skill's contract, but on every member a track passed silently beside a character reference is easily ignored, so the prompt says what the track is for ("the reference audio is her own voice, lip-synced" for speech; the beat the cuts land on for music). Trained LoRAs do not ride along: at authoring time no video member took , so a custom style reaches video through a still generated with the LoRA and passed as the first frame or a reference. Iterate at the cheapest resolution tier and shortest useful , then upscale the keeper: a re-run at a higher tier is a new generation, since many video schemas expose no and none promises one reproduces a shot across tiers.
A first frame must be provided if a last frame is setlorasdurationseed- 调用 ,将用户的原始描述作为
recommend(需求对应的能力是prompt);按照img2video技能的指引处理scenario。next_step - 对选中的模型调用 。注意图片字段、时长选项,以及是否有末帧锚点。
model_schema_get - 调用 上传静态图;返回
upload_asset。asset_id="asset_abc" - 调用 ,传入
model_run和parameters={"image": "asset_abc", "prompt": "Close-up on the mug; slow dolly-in as steam curls through window light, shallow focus on the rim. Room tone, no music, no subtitles."}。返回wait=false。job_id - 调用 ,传入
jobs_wait,如果还有job_ids=["job_xyz"]则重复调用。pending_job_ids - 用 展示输出结果(
asset_display),然后调用asset_id(不指定asset_download)。format
源图已经固定了视觉风格,因此提示词只需描述运动、镜头和时机(「向左环绕」、「保持最终姿势」),每次重试仅修改一个分句。 字段用于固定片段的开场方式(若提供 字段则固定结束方式,且必须与首帧同时使用:单独使用会返回400错误 ); 字段承载角色身份和视觉风格,但不固定任何时刻的画面。因此,精确的开场构图需要作为渲染好的静态图传入,而常驻角色或产品则作为参考图传入;一次运行是否能同时接受两者取决于 schema,部分工具禁止同时使用这两个参数。 字段是提示词必须明确说明用途的引导信息:它的作用条件(某系列是时机和节奏,另一系列是声音)以及它是单独使用还是需要搭配图片或视频参考,属于该系列技能的合约规则,但在所有模型中,若音轨和角色参考一同静默传入很容易被忽略,因此提示词要明确说明音轨的作用(语音场景写「参考音频是她自己的声音,用于口型同步」;音乐场景写「剪辑点踩在节拍上」)。
first-framelast-frameA first frame must be provided if a last frame is setreference-imagereference-audio训练好的 LoRA 无法直接使用:在编写本文时,没有视频模型支持 参数,因此自定义风格需要先用 LoRA 生成静态图,再作为首帧或参考图传入视频生成流程。先用最低分辨率档位和最短的可用 进行迭代调试,再对满意的结果进行超分:更高分辨率档位的重新运行是一次全新的生成,因为很多视频 schema 不提供 参数,也没有任何模型承诺能跨分辨率档位复现同一个镜头。
lorasdurationseedPrompting a shot
镜头提示词撰写
Write the prompt as a shot direction in sentences, not tags: shot size, setting, subject and one action, one named slow camera move, light source, style, and an audio line, in the order the family skill gives. Named moves and concrete light survive generation; mood words do not.
Many generators return sound with the picture (dialogue, effects, ambience, sometimes a score), switched by or where the schema has one, each with its own default; with none, the search hit says whether sound comes back, and the prompt is the only lever over what does. Effects and ambience go in plain words, dialogue in quotes, plus a generic "no music", never a named genre or instrument (the score is laid once in assembly; switch the audio off when assembly supplies the whole soundtrack) and "no subtitles, no on-screen text", since a caption tool adds captions and removes none. Exclusions ride the prompt unless the schema has . Type the viewer must read is composited in assembly (): generated type drifts.
generateAudioaudionegativePromptscenario-video-assembly将提示词写成镜头指导的句子形式,而非标签:景别、场景、主体和一个动作、一个指定的缓慢镜头运动、光源、风格、还有一句台词,按照该系列技能给出的顺序排列。指定的运动和具体的光线描述会在生成中被保留;情绪类词汇则不会。
很多生成器会返回带声音的画面(对话、音效、环境音,有时还有配乐),通过 schema 中的 或 参数开关,每个参数都有各自的默认值;如果没有这些参数,搜索结果会说明是否返回声音,而提示词是唯一能控制声音内容的手段。音效和环境音用平实的语言描述,对话用引号标注,再加上通用的「无音乐」说明,永远不要指定音乐流派或乐器(配乐在剪辑阶段统一添加;如果剪辑阶段提供完整音轨则关闭音频生成),还要加上「无字幕,无屏幕文字」,因为字幕工具是后期添加字幕的,无法移除生成的文字。排除项写在提示词中,除非 schema 提供 参数。需要观众阅读的文字要在剪辑阶段合成():生成的文字会出现偏移。
generateAudioaudionegativePromptscenario-video-assemblyEditing existing footage
编辑现有素材
All editing is on a video-input model found with :
model_runrecommend- Prompt-driven edits (restyle, swap objects, characters, backgrounds, or reframe to another aspect ratio). A reframe outpaints past the frame, unlike a deterministic resize. When a prompt-driven editor misses a directed change (a recolor, a prop swap), edit the still: returns the clip's
asset_getas a free asset id; edit it with an image model and re-render from it as the first frame, the source clip beside it where the schema takes that pair (few do).firstFrame - Lipsync and dubbing: see the next section.
- Upscaling up to 4K.
- Deterministic utilities (trim, split, resize, effects, grading, frame extraction, background removal): see . Assembling a finished cut: see
scenario-video-editing.scenario-video-assembly - Extending a clip from its last frame, on a dedicated extend member or by chaining first-frame runs past any member's duration cap: the rendered clip and pass its
asset_getasset id as the next run's first frame, writing that prompt from what the frame shows (positions, facing, the camera's side, so screen direction survives the seam) rather than from the plan, since renders drift from it; join the runs withlastFrame(a fixed id, for the same reason as the cut and split tools; hard cuts by default, permodel_scenario-video-concat).scenario-video-assembly
所有编辑操作都是在通过 找到的视频输入模型上执行 :
recommendmodel_run- 提示词驱动的编辑(重新风格化、替换物体、角色、背景,或重构图为其他宽高比)。重构图是在画面外进行补绘,与确定性的调整大小不同。当提示词驱动的编辑器未实现指定的修改(如重新上色、道具替换),可编辑静态帧:会返回片段的
asset_get作为免费资产 ID;用图片模型编辑该静态图,再作为首帧重新渲染,若 schema 支持则可同时传入源片段(很少有模型支持)。firstFrame - 口型同步和配音:见下一节。
- 最高 4K 分辨率的超分。
- 确定性工具(修剪、分割、调整大小、特效、调色、帧提取、背景移除):参见 。组装完成的剪辑:参见
scenario-video-editing。scenario-video-assembly - 从片段的末帧延长片段:可使用专门的延长模型,或者通过链式首帧运行突破任何模型的时长上限:用 获取已渲染片段,将其
asset_get资产 ID 作为下一次运行的首帧,根据帧中实际显示的内容(位置、朝向、镜头角度,确保画面方向在衔接处保持一致)而非原计划撰写提示词,因为渲染结果可能与计划有偏差;使用lastFrame拼接多次运行的结果(这是一个固定 ID,与剪切、分割工具的原因相同;默认采用硬切,参见model_scenario-video-concat)。scenario-video-assembly
Dubbing is not lipsync
配音不等于口型同步
Dubbing translates the speech and keeps each speaker's own voice, tone, and timing. It does not move the mouth, so a dubbed talking head still has lips forming the original language. Three steps, after any trim the limits below require:
- Dub. Takes the clip as and a required
filefrom the schema's allowed values. OmittargetLangto auto-detect, since the value that means auto differs between models. When a brand or name must survive translation, pick a hit whose schema carriessourceLang, as not all do; where it iskeyterms, passarray: trueeven for one term.["Scenario"] - Extract. Dubbing returns a dubbed video, not a bare track, and lipsync wants an audio asset. Pull the speech out with , a fixed first-party id: Scenario's single deterministic tool for the operation, so discovery would only re-derive it.
model_scenario-audio-extract - Lipsync. Pass the dubbed video together with its extracted track. No schema says whether the input's own audio survives, so listen to the output before shipping. The clip and the track are separate fields, /
videoon most hits andaudio/videoUrlon others. A duration-mismatch control is not universal: where present it isaudioFileorsyncMode(lipsyncMode,cut_off,loop,bounce,silence) with a per-model default, and thereremapandloopextend the shorter stream whilebounceends at it; elsewhere acut_offboolean loops the audio instead.loop
Judge a localized talking head on a stylized character before promising it on a photoreal one.
配音是翻译语音内容,同时保留每个说话者的声音、语气和节奏。它不会改变嘴部动作,因此配音后的说话头像仍然呈现原语言的嘴型。在进行任何下方时长限制要求的修剪后,按三个步骤执行:
- 配音。 将片段作为 传入,同时传入 schema 允许值范围内的必填参数
file。省略targetLang以启用自动检测,因为不同模型中表示自动检测的值不同。当品牌或名称必须保留不被翻译时,选择 schema 包含sourceLang的结果,因为并非所有模型都支持该参数;若keyterms为keyterms,即使只有一个术语也要传入array: true。["Scenario"] - 提取音频。 配音返回的是带配音的视频,而非纯音轨,而口型同步需要音频资产。使用 提取语音,这是一个固定的官方 ID:Scenario 用于此操作的唯一个确定性工具,因此搜索功能只会找到它。
model_scenario-audio-extract - 口型同步。 将配音后的视频与提取的音轨一同传入。没有 schema 说明输入的原音频是否会保留,因此交付前一定要试听输出结果。片段和音轨是独立的字段,大多数模型使用 /
video,其他模型使用audio/videoUrl。时长不匹配控制并非通用功能:若支持则参数为audioFile或syncMode(可选值包括lipsyncMode、cut_off、loop、bounce、silence),每个模型有默认值,其中remap和loop会延长较短的媒体流,而bounce会在较短的流结束时终止;不支持该参数的模型则使用cut_off布尔值来控制音频循环。loop
在承诺能实现写实角色的本地化说话头像之前,先测试风格化角色的效果。
Duration limits
时长限制
Where a model bounds input length it rejects rather than trims: a 30.08 second reference against a 30.0 second limit fails the whole run, with the error naming both numbers. A clean prices the payload and is not proof it clears a ceiling: read the input's duration off and compare it to the cap yourself. A ceiling can be a typed on the file field, prose in that field's description, or absent, so check both, on the audio input as readily as the video. When one applies, trim with the deterministic cut or split tools (, , fixed ids for the same reason as the extractor above) before the run that enforces it, and before any step whose output must match the trimmed footage, such as a dub. Land inside the stated range, not on its edge.
dry_runasset_getmax_durationmodel_scenario-video-cutmodel_scenario-video-splitFloors bind as hard as caps. The shortest clip a member renders is in its schema, as a on a numeric , as the smallest of a enum's , or as a fixed length when the field is absent (5 seconds on one reference-conditioned member, 1 or 2 on others at authoring time), so a 1 to 2 second VFX element is not a request on the first pick: with the clip length in the user's words, read the floor off the schema, and when nothing goes low enough render the shortest clip and trim it with , or ask for several events in one clip ("three explosions, one after another") and split them with . Extending the other way, past a , is the last-frame chain under Editing existing footage.
mindurationdurationallowed_valuesduration: 1recommendmodel_scenario-video-cutmodel_scenario-video-splitmax如果模型对输入长度有限制,它会直接拒绝请求而非自动修剪:30.08秒的参考素材对应30秒的上限会导致整个运行失败,错误信息会同时列出这两个数值。成功的 仅能计算负载的费用,不能证明负载符合时长上限要求:通过 读取输入的时长,自行与上限比较。上限可能是文件字段上的 类型值,也可能是该字段描述中的文字说明,或者不存在,因此两者都要检查,音频输入和视频输入一视同仁。如果存在上限,在执行强制该限制的运行之前,使用确定性的剪切或分割工具(、,固定 ID,原因与上述提取工具相同)进行修剪,且要在任何输出必须匹配修剪后素材的步骤(如配音)之前完成。确保时长落在规定范围内,而非刚好卡在边缘。
dry_runasset_getmax_durationmodel_scenario-video-cutmodel_scenario-video-split下限和上限一样严格。模型能渲染的最短片段时长在其 schema 中定义,可能是数值型 的 值,或者 枚举的 中的最小值,或者当该字段不存在时为固定长度(编写本文时,一个参考条件模型为5秒,其他模型为1或2秒),因此1到2秒的 VFX 元素不能直接在首选模型上发送 的请求:用用户的语言描述片段长度来调用 ,从 schema 中读取下限,如果没有足够短的模型,就渲染最短支持的片段,再用 修剪到所需长度,或者在一个片段中要求多个事件(「三个爆炸,一个接一个」)再用 分割。反之,超过 时长的延长方法,参见上文「编辑现有素材」中的末帧链式方案。
durationmindurationallowed_valuesduration: 1recommendmodel_scenario-video-cutmodel_scenario-video-splitmaxLipsync: footage or a still
口型同步:视频素材还是静态图
Two lanes, told apart by the input in hand. Footage plus a new track is with and the ask in the user's words: these members redraw the mouth region and keep the rest of the frame ( and , or and ; some take typed with a voice instead of audio, never both). A still plus a track is : the talking-avatar members animate the whole portrait and invent its motion, so they serve a portrait with no footage, or footage whose motion is disposable, and never rescue a clip whose lipsync failed, since the result is a different performance of a different shot. Naming lipsync as the capability gets re-read as one of these two, so name the input.
recommendcapability="video2video"videoaudiovideoUrlaudioFiletextcapability="img2video"Preflight is free and decides the run. Sync members redraw pixels around the mouth they detect; a face that is small in frame, turned away, occluded, or blurred by motion gives them nothing to redraw, and the run then completes and bills with the mouth still under the new track, the failure users report as "no lipsync at all". the clip's (free, from ): the lips should read at display size. When they do not, crop onto the face first (, the compositor teaches and a fixed first-party id like the cut tools above, or a generative reframe prompted to tighten on the speaker; an outpainting reframe widens the frame and shrinks the face) rather than retrying members. A crop lowers resolution, so read the cropped clip's width and height off against the member's floor before pricing the sync run, and upscale it or pick a member without a floor when it falls short. With several faces in frame, pick a member exposing speaker selection ( on one at authoring time) or crop to one speaker. Per-member limits sit in the schema, not the description: one member takes clips of 2 to 10 seconds at 720p to 1080p, others carry none; the field carries , so trim to the shipped range before the run (Duration limits above).
asset_displayfirstFrameasset_getmodel_scenario-compose-videoscenario-video-assemblyasset_getactiveSpeakervideocost_impact: truePlan gating is common here: flags such members on their ranked entry with and names the plan in (unless its response says plan gating is ), and running one anyway returns a 403 naming the model and the plan it needs, which no retry clears; pick an available member or surface the upgrade, per the skill's plan row.
recommendrequires_plan_upgrade: truerequired_plan_degradedscenarioA completed job proves the model ran, not that the mouth moved. Before shipping, download the output and the source and compare frames at the same timestamps (sweep both into contact sheets locally, , and read the mouth region): unchanged mouth pixels across the sweep mean the face was not found, and the same payload reproduces it, so change the framing or the lane rather than the seed. Listen as well: whether the input's own track survives is undocumented (Dubbing above).
ffmpeg -vf "fps=2"分为两种路径,根据你手头的输入类型区分。已有视频素材加新音轨的情况,使用 和用户的需求描述调用 :这类模型会重绘嘴部区域,保留画面其余部分(参数为 和 ,或者 和 ;部分模型支持带语音的 类型输入而非音频,但永远不会同时支持两者)。静态图加音轨的情况对应 :数字人说话模型会让整个肖像动起来并生成动作,因此适用于没有视频素材的肖像,或者动作可以丢弃的素材,绝对不能用来挽救口型同步失败的片段,因为结果会是不同镜头的不同表演。将口型同步指定为能力会被系统重新解读为上述两种之一,因此一定要说明输入类型。
capability="video2video"recommendvideoaudiovideoUrlaudioFiletextcapability="img2video"预检是免费的,且直接决定运行结果。同步模型会重绘它们检测到的嘴部周围的像素;如果脸部在画面中很小、转向别处、被遮挡,或者因运动模糊,模型就没有可重绘的区域,此时运行会完成并扣费,但嘴部动作与新音轨不匹配,用户会将这种失败反馈为「根本没有口型同步」。调用 查看片段的 (免费,来自 ):嘴唇在显示尺寸下应该清晰可见。如果不清晰,先裁剪到脸部区域(使用 ,即 中介绍的合成器,与剪切工具一样是固定的官方 ID;或者使用生成式重构图,提示词收紧到说话者;注意补绘式重构图会加宽画面,反而缩小脸部),而非重试其他模型。裁剪会降低分辨率,因此在为同步运行定价之前,通过 读取裁剪后片段的宽高,与模型的分辨率下限比较,如果不达标则先超分,或者选择没有分辨率下限的模型。如果画面中有多张脸,选择支持说话者选择的模型(编写本文时部分模型提供 参数),或者裁剪到单个说话者。每个模型的限制在 schema 中而非描述里:有的模型支持2到10秒、720p到1080p的片段,其他模型没有限制; 字段带有 属性,因此运行前要修剪到最终交付的时长范围(参见上文的时长限制)。
asset_displayfirstFrameasset_getmodel_scenario-compose-videoscenario-video-assemblyasset_getactiveSpeakervideocost_impact: true计划门槛在这里很常见: 会在排名条目中标记这类模型,带有 标识,并在 中指明所需计划名称(除非响应显示计划门槛为 状态),强行运行会返回403错误,指明模型名称和所需计划,重试也无法解决;根据 技能的计划说明,选择可用的模型或者告知用户需要升级计划。
recommendrequires_plan_upgrade: truerequired_plan_degradedscenario任务完成仅能证明模型已运行,不能证明嘴部确实动了。交付前,下载输出文件和源文件,比较相同时间戳的帧(本地使用 生成联系表,查看嘴部区域):如果整个序列中嘴部像素没有变化,说明没有检测到人脸,相同的负载会复现该问题,因此需要改变构图或切换路径,而非修改 。同时也要试听:输入的原音轨是否会保留没有明确文档说明(参见上文的配音部分)。
ffmpeg -vf "fps=2"seedA whole song in one run
一次运行生成整首歌曲 MV
recommendcapability="audio2video"audio- Trim first. carries
audio, as doescost_impact: cut to the section that ships withresolution, thenmodel_scenario-audio-cutthe real payload.dry_run - Style reference only under the custom style. A preset ignores
style; set the custom value to use one. The characterstyleImageis a separate, optional field. It takes no prompt:image,style, and the reference images carry the direction.musicStyle - Lyrics become burned-in subtitles. Leave empty when captions are added in assembly (
lyrics), or the two sets collide.scenario-video-assembly
Pick this lane for one pass over the whole track; beat-cut shots under per-shot direction are . Launch with and , since the job scales with the song.
scenario-seedance-music-videowait=falsejobs_wait使用 和用户的需求调用 ,可以找到能一次调用将成品歌曲转换成 MV 的模型。编写本文时可用的整首歌处理模型支持10秒到6分钟的 输入,返回与音轨时长相同的视频(同一排名中也列出了上限约20秒的分段时长模型),因此注意事项如下:
capability="audio2video"recommendaudio- 先修剪。 带有
audio属性,cost_impact也是:使用resolution剪切到需要交付的片段,然后对实际负载执行model_scenario-audio-cut预估费用。dry_run - 仅在自定义风格下使用风格参考。 预设的 会忽略
style;设置为自定义风格值才能使用参考图。角色styleImage是独立的可选字段。该模式不需要提示词:image、style和参考图承载了所有创作方向。musicStyle - 歌词会变成烧录字幕。 如果在剪辑阶段添加字幕(),请将
scenario-video-assembly留空,否则两套字幕会冲突。lyrics
选择这条路径可以一次性处理整个音轨;需要按镜头指导的踩点剪辑请使用 。使用 启动任务,然后调用 等待,因为任务时长与歌曲长度成正比。
scenario-seedance-music-videowait=falsejobs_waitCommon mistakes
常见错误
- Shipping a lipsync run on the strength of its completed status: the failure mode is a still mouth under the new track, so compare frames against the source first.
- Calling without
model_run: a payload that worked on Kling will not fit Veo.model_schema_get - Treating search hits as stable: catalogs evolve, so re-run and prefer non-deprecated hits (a
searchtag names the successor). Families retire whole generations on notice, and a retired member's per-member controls (a keyframe strength, an fps enum) do not carry over: re-read the successor's schema rather than porting the old payload, and when a saved id returns 404deprecated:<replacement_id>,Model not foundthe family name instead of retrying the id.search - Excluding music by name in an audio-enabled prompt: the soundtrack is moderated on its own, and a named genre or instrument trips it even inside an exclusion. Describe diegetic sound positively ("room tone, footsteps, one voice"), or turn the audio field off.
- 仅凭任务完成状态就交付口型同步结果:常见失败模式是新音轨下嘴部一动不动,因此一定要先和源文件比较帧画面。
- 不调用 就直接执行
model_schema_get:在 Kling 上能用的负载不一定适配 Veo。model_run - 认为搜索结果是稳定不变的:工具目录会持续更新,因此要重新运行 ,优先选择未弃用的结果(
search标签会指明继任者)。模型系列会在通知后淘汰整代产品,已淘汰模型的独立控制参数(关键帧强度、fps 枚举)不会继承到新模型:重新阅读继任者的 schema,而非直接移植旧负载,当保存的 ID 返回404deprecated:<replacement_id>时,搜索系列名称而非重试该 ID。Model not found - 在支持音频的提示词中通过名称排除音乐:音轨会单独进行内容审核,指定流派或乐器即使写在排除项里也可能触发审核。正面描述画内声音(「房间氛围音、脚步声、一个人声」),或者直接关闭音频字段。