scenario-audio
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseScenario Audio Generation
Scenario 音频生成
Overview
概述
Scenario generates audio through the same loop as images. The live catalog covers three generation lanes (music, sound effects, voice/speech) plus video-to-audio soundtrack models and audio utilities. Connection 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 通过与图像生成相同的循环流程生成音频。实时目录涵盖三个生成方向(音乐、音效、语音/说话)以及视频转音频配乐模型和音频工具。连接方式和核心生成循环:参见 skill。如果此处提到的同级skill不在你的可用skill列表中,请让用户安装();如果处于无人值守模式,请根据工具schema继续操作并标记功能缺口。
scenarionpx skills add scenario-labs/skills --skill <name>Quick reference
快速参考
| Step | Tool | Notes |
|---|---|---|
| Find a model | | |
| Inspect inputs | | audio schemas vary widely: durations, lyrics, voices, looping |
| Generate | | schema-conformant parameters; wait=false for long jobs |
| Wait | | blocks server-side; on timeout re-call with pending_job_ids |
| Listen | | renders an inline audio player |
| Save | | returns a download URL: |
Find existing audio assets with target="assets", filters={kind: "audio"}. Team and project scope (, ): see the skill.
searchteam_idproject_idscenario| 步骤 | 工具 | 说明 |
|---|---|---|
| 查找模型 | 用用户自己的需求描述调用 | |
| 检查输入 | | 音频schema差异很大:时长、歌词、音色、循环设置 |
| 生成 | | 符合schema要求的参数;长任务请设置wait=false |
| 等待 | | 服务端阻塞等待;超时时使用pending_job_ids重新调用 |
| 试听 | | 渲染内联音频播放器 |
| 保存 | | 返回下载链接: |
使用 target="assets"、filters={kind: "audio"}查找现有音频资产。团队和项目范围(、):参见 skill。
searchteam_idproject_idscenarioWhat the audio surface covers
音频服务涵盖范围
- Music: text-to-music models produce short beds or full-length songs with vocals; the song lane has its own contract, below.
- Sound effects: text-to-SFX models generate short clips from a description; some support seamless looping.
- Voice and speech: text-to-speech with preset voices, multilingual output, and emotion or pacing controls; some clone a voice from a short clip, and speech-to-speech re-voices a recording.
- Video to audio: models that score a silent video or add synchronized effects.
- Utilities: ,
model_scenario-audio-cut,model_scenario-audio-split, andmodel_scenario-audio-extract(fixed ids: each is Scenario's single deterministic tool for its operation, so discovery would only re-derive them); the compositor lays a finished track (score, voiceover, re-voiced take) over a clip as an audio layer, permodel_scenario-compose-video; for speech-to-text transcription,scenario-video-assemblywith the need in the user's own words.recommend - Stem separation: one named stem per run (discover with ), vocals included, with no instrumental option. Voice isolation returns the clean speech and never the removed music and effects as a second stem, so a two-stem split (voice against everything else) is a gap to report, not a member to keep hunting for.
recommend
Per-family contracts: (speech, dubbing, re-voicing, music, SFX), and (songs), (SFX and video scoring).
scenario-elevenlabsscenario-ace-stepscenario-minimax-musicscenario-sonilo- 音乐:文本转音乐模型可生成短背景音乐或带人声的完整歌曲;歌曲方向有自己的规范,见下文。
- 音效:文本转SFX模型根据描述生成短片段;部分支持无缝循环。
- 语音与说话:带有预设音色的文本转语音,支持多语言输出,可控制情绪或语速;部分模型可通过短片段克隆声音,语音转语音可对录音进行重新配音。
- 视频转音频:为无声视频配乐或添加同步音效的模型。
- 工具:、
model_scenario-audio-cut、model_scenario-audio-split和model_scenario-audio-extract(固定ID:每个都是Scenario对应操作的唯一确定性工具,因此发现流程只会重新推导它们);合成器根据model_scenario-compose-video的说明,将完成的音轨(配乐、画外音、重配音片段)作为音频层叠加到视频片段上;对于语音转文本转录,请用用户自己的需求描述调用scenario-video-assembly。recommend - 音干分离:每次运行分离一个命名音干(通过发现),包含人声,无纯乐器音选项。声音隔离仅返回干净的语音,不会将移除的音乐和音效作为第二个音干返回,因此两音干分离(语音与其他所有内容分离)是需要上报的功能缺口,而不是可以继续寻找的功能。
recommend
各系列规范:(语音、配音、重配音、音乐、SFX)、和(歌曲)、(SFX和视频配乐)。
scenario-elevenlabsscenario-ace-stepscenario-minimax-musicscenario-soniloWorked example: a game sound effect
示例:游戏音效
- with
recommendand the user's own words ascapability="txt2audio"("a game sound effect: a heavy wooden chest creaking open"). The ranking returns txt2audio models such asprompt(example only).model_elevenlabs-sound-effects-v2 - with that
model_schema_get. Returns the exact fields: prompt plus controls such as duration or looping.model_id - with the same
model_runand parameters={"prompt": "heavy wooden treasure chest creaking open, single event, dry, no music"}.model_id - job_ids=["job_xxx"] on any
jobs_waitreturned without assets (job_idafter a timed-out wait, the backend'sin_progressorqueuedafterin-progress), re-calling with the returned pending_job_ids on timeout.wait=false - asset_id="asset_xxx" to play it inline.
asset_display - with no
asset_download, then save the returned URL withformat.curl -L
Prompting tips:
- SFX: name the source, material, action, and acoustic space, and say what to exclude ("no music", "no reverb"). One event per clip; generate variations as separate runs.
- Music: give genre, mood, tempo, and instrumentation. Short beds usually take a single prompt, with duration or looping in the schema.
- Speech: keep the text field to the words to speak; voice, language, emotion, and pacing live in separate schema fields or inline tags.
- 调用,设置
recommend,并将用户的原始描述作为capability="txt2audio"(“游戏音效:沉重的木箱吱呀一声打开的声音”)。排名结果会返回txt2audio模型,例如prompt(仅为示例)。model_elevenlabs-sound-effects-v2 - 传入该调用
model_id。返回确切的字段:提示词以及时长、循环等控制参数。model_schema_get - 传入相同的调用
model_id,参数为{"prompt": "沉重的宝箱吱呀一声打开,单次事件,干声,无音乐"}。model_run - 调用,传入job_ids=["job_xxx"](针对返回时未生成资产的
jobs_wait,即等待超时后状态为job_id、或设置in_progress后后端状态为wait=false或queued的任务),超时时使用返回的pending_job_ids重新调用。in-progress - 传入asset_id="asset_xxx"调用以内联播放。
asset_display - 调用(不传入
asset_download参数),然后使用format保存返回的URL。curl -L
提示词技巧:
- SFX:说明声源、材质、动作和声学空间,并说明要排除的内容(“无音乐”、“无混响”)。每个片段对应一个事件;如需生成变体,请单独运行。
- 音乐:说明流派、情绪、节奏和乐器。短背景音乐通常只需单个提示词,可在schema中设置时长或循环。
- 语音:文本字段仅保留要朗读的内容;音色、语言、情绪和语速在单独的schema字段或内联标签中设置。
Speech and dialogue
语音与对话
Discover a voice member with (, the user's words, "two-person dialogue" when it is one), then read its text field's description in : that is where a member usually states its own delivery grammar.
recommendcapability="txt2audio"model_schema_get- Tag syntax is per member, even within one family: square brackets (), angle brackets (
[whispers],<sigh>), parentheses (<short pause>), or wrapping pairs ((sighs)), and some read none. A tag in the wrong grammar can be spoken aloud, so copy the spelling from the text field's description; where it names none, from the member's catalog description or<whisper>text</whisper>'s notes, and with no source write no tags. A correctly spelled tag is a request, not a guarantee: two identical runs have disagreed on one, so have the user listen before a take is final and re-run a take whose tag was skipped.recommend - Two voices, one take. A member with a multi-speaker array (up to 2 rows of a speaker label and a voice at authoring time) reads the text as turns, one per turn, each
Name: linematching a row's label exactly; an unprefixed line continues the previous turn, and the single-voice field is ignored in that mode. Preset voice names say nothing about gender, age, or tone, so state which preset plays whom and let the user confirm before the paid run. A scene with more speakers is split into takes of at most two, delivered in order or laid over the picture perName.scenario-video-assembly - Text is capped and priced. The text field carries a (5000 characters on one member at authoring time), an overrun is a 400, and
max_lengthmarks it as the price driver: split a long script at turn boundaries andcost_impactthe first take.dry_run - Pin the language through the schema's language field when there is one, rather than naming it in the text.
通过发现语音模型(设置,传入用户的需求描述,如果是双人对话请注明),然后在中查看其文本字段的描述:模型通常会在其中说明自己的输出语法。
recommendcapability="txt2audio"model_schema_get- 标签语法因模型而异,即使在同一系列中也是如此:方括号()、尖括号(
[whispers]、<sigh>)、括号(<short pause>)或成对包裹((sighs)),有些模型不识别任何标签。语法错误的标签可能会被直接朗读出来,因此请从文本字段的描述中复制标签拼写;如果描述中没有,则从模型的目录描述或<whisper>text</whisper>的说明中查找,如果没有任何来源就不要添加标签。拼写正确的标签只是请求,不能保证生效:两次完全相同的运行可能会有不同结果,因此请让用户在最终确定前试听,如果标签被忽略就重新运行。recommend - 两种音色,一次生成。 支持多说话者数组的模型(创作时最多2行说话者标签和对应音色)会按轮次朗读文本,每轮格式为,每个
姓名: 台词必须与行标签完全匹配;没有前缀的行会延续上一轮的说话者,此模式下会忽略单音色字段。预设音色名称不代表性别、年龄或语气,因此请说明哪个预设对应哪个角色,让用户在付费运行前确认。说话者更多的场景需要拆分为最多两人的片段,按顺序交付或根据姓名叠加到视频上。scenario-video-assembly - 文本有长度限制且按此计费。 文本字段有(创作时某款模型为5000字符),超出会返回400错误,
max_length会将其标记为价格驱动因素:请在轮次边界拆分长脚本,并对第一个片段使用cost_impact。dry_run - 固定语言 如果schema中有语言字段,请通过该字段设置,而不是在文本中说明。
Songs with vocals
带人声的歌曲
A full-length song is not a longer music bed, and song schemas vary more than the rest of the lane, so decides the shape: a style prompt plus a separate lyric sheet, one prose prompt carrying both, or an ordered section array with per-section text and styles.
model_schema_get- Words never go in a style field. Where the schema splits the two, the style field carries genre, mood, tempo, key, vocal style, and instrumentation; the lyric field carries the words, shaped by section tags such as and
[Verse].[Chorus] - Instrumental and auto-lyrics are flags where the schema has them; asking for either in prose is unreliable, and where no flag exists the text fields are the only lever. Flipping the instrumental flag on a rerun gives a different take, not the same song: , where a model has one, only repeats identical settings. For an instrumental of a track you already have, try an audio2audio cover model (discover with
seed), checking the schema since not all carry the flag.recommend - Text fields are length-capped per model and field, and going over is a 400 rather than a truncation.
Where the schema exposes a duration field (flagged ), it caps both length and price; where none exists, the lyric sheet or prompt sets both. Either way, price the song with before committing, then launch with ; both are arguments, not keys.
cost_impactdry_run: truewait: falsemodel_runparametersRepeatability and batching are per member, not per lane: at authoring time the repaint members took (1 to 4) and no , so a repaint that must keep the same singer is run as a batch and picked from, while the section composers had and no . Read both off before promising either.
numOutputsseedseednumOutputsmodel_schema_get完整歌曲不是更长的背景音乐,歌曲schema的差异比其他所有方向都大,因此决定结构:可能是风格提示词加单独的歌词页,可能是包含两者的散文式提示词,也可能是带分段文本和风格的有序段落数组。
model_schema_get- 歌词绝对不能放在风格字段中。 如果schema将两者分开,风格字段包含流派、情绪、节奏、调式、演唱风格和乐器;歌词字段包含文本,用和
[Verse]等段落标签划分结构。[Chorus] - 纯音乐和自动歌词是标志位 仅当schema中有这些标志时可用;在散文中请求是不可靠的,如果没有对应标志位,文本字段是唯一的控制方式。在重新运行时切换纯音乐标志会得到不同的版本,而不是同一首歌:如果模型有参数,仅在所有设置完全相同时才会重复生成相同结果。对于已有曲目的纯音乐版本,请尝试音频转音频翻唱模型(通过
seed发现),请务必查看schema,因为并非所有模型都支持该标志。recommend - 文本字段有长度限制 每个模型和每个字段都有上限,超出会返回400错误,而不是自动截断。
如果schema提供了时长字段(标记为),它会同时限制长度和价格;如果没有,则由歌词页或提示词决定。无论哪种方式,在提交任务前都请用估算歌曲价格,然后用启动;这两个都是的顶层参数,不是中的键。
cost_impactdry_run: truewait: falsemodel_runparameters可重复性和批量生成规则因模型而异,不是按方向统一的:创作时重绘类模型支持(1到4)但没有,因此需要保持同一位歌手的重绘任务要批量运行然后从中挑选;而段落作曲类模型有但没有。在承诺任何一项功能之前,请先通过确认。
numOutputsseedseednumOutputsmodel_schema_getExtending a song
延长歌曲
Making an existing track longer is its own lane, not a longer text-to-music run: with and the extension need in the user's words; use only when the member is already known by name. The member that does it takes the song as and an ordered array (up to 30 at authoring time) where each entry either keeps a slice of the original ( and ) or generates a new one ( with -style tags, , as an array), with deciding how closely new sections follow their neighbors. Kept slices bill like generated audio of the same length, so the whole plan first. The repaint, edit and add-layer members regenerate inside the original's duration and never lengthen it, and ranked an older text-to-music member for "extend a song" at authoring time: an extension is not a need, so do not take that pick.
audio2audiorecommendcapability="audio2audio"searchaudiosectionssourceStartSecondssourceEndSecondstext[Verse]durationSecondspositiveStylescontextAdherencedry_runrecommendtxt2audio延长现有曲目属于独立的方向,不是更长的文本转音乐运行:请设置并传入用户描述的延长需求调用;仅当已经知道模型名称时才使用。实现该功能的模型将歌曲作为输入,并接受有序的数组(创作时最多30个),每个条目要么保留原始片段的一部分(通过和指定),要么生成新片段(包含带风格标签的、、数组),参数决定新片段与相邻片段的贴合程度。保留的片段按相同长度的生成音频计费,因此请先对整个计划使用。重绘、编辑和添加层模型会在原始时长内重新生成,绝不会延长时长;而且在创作时,可能会将一个较旧的文本转音乐模型排在“延长歌曲”需求的前面:延长不是需求,所以不要选择那个结果。
audio2audiocapability="audio2audio"recommendsearchaudiosectionssourceStartSecondssourceEndSeconds[Verse]textdurationSecondspositiveStylescontextAdherencedry_runrecommendtxt2audioCommon mistakes
常见错误
- Hardcoding generative model IDs: availability differs per team and evolves. Re-discover each session, for the need or
recommendfor a name; only the fixed first-party tool ids above stay constant.search - Skipping : one audio model's parameters will not fit another (voices, durations, and lyric fields all differ).
model_schema_get - Polling in a loop: music jobs can run minutes. Use
job_get; on timeout re-call with pending_job_ids.jobs_wait - Pasting raw asset URLs into chat: use to play audio.
asset_display - Passing to
formatfor audio: it converts image formats only, so omit it.asset_download - Putting voice direction inside TTS text ("say this angrily"): direction can end up spoken. Use the schema's emotion or voice fields.
- Writing a dialogue as one voice reading both parts: on a multi-speaker member, fill the speaker rows and prefix every turn with its label, since with the rows empty the member reads everything in its single voice.
- Pasting lyrics into the style field: the model then describes a song instead of singing one.
- Answering "make it longer" with a repaint or a new text-to-music run: the first keeps the duration, the second loses the song; the extend lane above keeps the slices the user chose.
- Putting or
dry_runinsidewait: they areparameters's own arguments, so a straymodel_runstill charges and a straydry_runblocks up to 180s.wait
- 硬编码生成模型ID:可用性因团队而异,并且会不断迭代。每次会话都要重新发现模型,根据需求调用或按名称
recommend;只有上面提到的固定官方工具ID保持不变。search - 跳过:一款音频模型的参数不适用于另一款(音色、时长和歌词字段都可能不同)。
model_schema_get - 循环轮询:音乐任务可能运行数分钟。请使用
job_get;超时时使用pending_job_ids重新调用。jobs_wait - 将原始资产URL粘贴到聊天中:请使用播放音频。
asset_display - 为音频向传递
asset_download参数:该参数仅用于转换图像格式,因此请省略。format - 将语音指示放在TTS文本中(比如“生气地说这句话”):指示内容可能会被直接朗读出来。请使用schema的情绪或语音字段。
- 把对话写成一个音色读两个角色:在多说话者模型上,要填写说话者行,并为每一轮加上标签前缀,因为如果说话者行为空,模型会用单个音色朗读所有内容。
- 把歌词粘贴到风格字段中:模型会描述一首歌而不是演唱它。
- 用重绘或新的文本转音乐运行来响应“让它更长”的请求:前者保持时长不变,后者会丢失原曲;上面的延长方向会保留用户选择的片段。
- 把或
dry_run放在wait里:它们是parameters自己的顶层参数,因此放错位置的model_run仍然会扣费,放错位置的dry_run会阻塞最多180秒。wait