scenario-audio

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Scenario 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
scenario
skill. If a sibling skill named here is missing from your available skills, ask the user to install it (
npx skills add scenario-labs/skills --skill <name>
); unattended, proceed from tool schemas and flag the gap.
Scenario 通过与图像生成相同的循环流程生成音频。实时目录涵盖三个生成方向(音乐、音效、语音/说话)以及视频转音频配乐模型和音频工具。连接方式和核心生成循环:参见
scenario
skill。如果此处提到的同级skill不在你的可用skill列表中,请让用户安装(
npx skills add scenario-labs/skills --skill <name>
);如果处于无人值守模式,请根据工具schema继续操作并标记功能缺口。

Quick reference

快速参考

StepToolNotes
Find a model
recommend
with the need in the user's own words;
search
only for a member known by name
capability="txt2audio"
covers music, SFX, and TTS; optional, inferred from the prompt when omitted
Inspect inputs
model_schema_get
audio schemas vary widely: durations, lyrics, voices, looping
Generate
model_run
schema-conformant parameters; wait=false for long jobs
Wait
jobs_wait
blocks server-side; on timeout re-call with pending_job_ids
Listen
asset_display
renders an inline audio player
Save
asset_download
returns a download URL:
curl -L -o out.mp3 "<url>"
Find existing audio assets with
search
target="assets", filters={kind: "audio"}. Team and project scope (
team_id
,
project_id
): see the
scenario
skill.
步骤工具说明
查找模型用用户自己的需求描述调用
recommend
;仅当知道模型名称时才使用
search
capability="txt2audio"
涵盖音乐、SFX和TTS;可选,省略时会根据提示词推断
检查输入
model_schema_get
音频schema差异很大:时长、歌词、音色、循环设置
生成
model_run
符合schema要求的参数;长任务请设置wait=false
等待
jobs_wait
服务端阻塞等待;超时时使用pending_job_ids重新调用
试听
asset_display
渲染内联音频播放器
保存
asset_download
返回下载链接:
curl -L -o out.mp3 "<url>"
使用
search
target="assets"、filters={kind: "audio"}查找现有音频资产。团队和项目范围(
team_id
、
project_id
):参见
scenario
skill。

What 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
    ,
    model_scenario-audio-extract
    , and
    model_scenario-compose-video
    (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, per
    scenario-video-assembly
    ; for speech-to-text transcription,
    recommend
    with the need in the user's own words.
  • Stem separation: one named stem per run (discover with
    recommend
    ), 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.
Per-family contracts:
scenario-elevenlabs
(speech, dubbing, re-voicing, music, SFX),
scenario-ace-step
and
scenario-minimax-music
(songs),
scenario-sonilo
(SFX and video scoring).
  • 音乐:文本转音乐模型可生成短背景音乐或带人声的完整歌曲;歌曲方向有自己的规范,见下文。
  • 音效:文本转SFX模型根据描述生成短片段;部分支持无缝循环。
  • 语音与说话:带有预设音色的文本转语音,支持多语言输出,可控制情绪或语速;部分模型可通过短片段克隆声音,语音转语音可对录音进行重新配音。
  • 视频转音频:为无声视频配乐或添加同步音效的模型。
  • 工具:
    model_scenario-audio-cut
    、
    model_scenario-audio-split
    、
    model_scenario-audio-extract
    和
    model_scenario-compose-video
    (固定ID:每个都是Scenario对应操作的唯一确定性工具,因此发现流程只会重新推导它们);合成器根据
    scenario-video-assembly
    的说明,将完成的音轨(配乐、画外音、重配音片段)作为音频层叠加到视频片段上;对于语音转文本转录,请用用户自己的需求描述调用
    recommend
    。
  • 音干分离:每次运行分离一个命名音干(通过
    recommend
    发现),包含人声,无纯乐器音选项。声音隔离仅返回干净的语音,不会将移除的音乐和音效作为第二个音干返回,因此两音干分离(语音与其他所有内容分离)是需要上报的功能缺口,而不是可以继续寻找的功能。
各系列规范:
scenario-elevenlabs
(语音、配音、重配音、音乐、SFX)、
scenario-ace-step
和
scenario-minimax-music
(歌曲)、
scenario-sonilo
(SFX和视频配乐)。

Worked example: a game sound effect

示例:游戏音效

  1. recommend
    with
    capability="txt2audio"
    and the user's own words as
    prompt
    ("a game sound effect: a heavy wooden chest creaking open"). The ranking returns txt2audio models such as
    model_elevenlabs-sound-effects-v2
    (example only).
  2. model_schema_get
    with that
    model_id
    . Returns the exact fields: prompt plus controls such as duration or looping.
  3. model_run
    with the same
    model_id
    and parameters={"prompt": "heavy wooden treasure chest creaking open, single event, dry, no music"}.
  4. jobs_wait
    job_ids=["job_xxx"] on any
    job_id
    returned without assets (
    in_progress
    after a timed-out wait, the backend's
    queued
    or
    in-progress
    after
    wait=false
    ), re-calling with the returned pending_job_ids on timeout.
  5. asset_display
    asset_id="asset_xxx" to play it inline.
  6. asset_download
    with no
    format
    , then save the returned URL with
    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.
  1. 调用
    recommend
    ,设置
    capability="txt2audio"
    ,并将用户的原始描述作为
    prompt
    (“游戏音效:沉重的木箱吱呀一声打开的声音”)。排名结果会返回txt2audio模型,例如
    model_elevenlabs-sound-effects-v2
    (仅为示例)。
  2. 传入该
    model_id
    调用
    model_schema_get
    。返回确切的字段:提示词以及时长、循环等控制参数。
  3. 传入相同的
    model_id
    调用
    model_run
    ,参数为{"prompt": "沉重的宝箱吱呀一声打开,单次事件,干声,无音乐"}。
  4. 调用
    jobs_wait
    ,传入job_ids=["job_xxx"](针对返回时未生成资产的
    job_id
    ,即等待超时后状态为
    in_progress
    、或设置
    wait=false
    后后端状态为
    queued
    或
    in-progress
    的任务),超时时使用返回的pending_job_ids重新调用。
  5. 传入asset_id="asset_xxx"调用
    asset_display
    以内联播放。
  6. 调用
    asset_download
    (不传入
    format
    参数),然后使用
    curl -L
    保存返回的URL。
提示词技巧:
  • SFX:说明声源、材质、动作和声学空间,并说明要排除的内容(“无音乐”、“无混响”)。每个片段对应一个事件;如需生成变体,请单独运行。
  • 音乐:说明流派、情绪、节奏和乐器。短背景音乐通常只需单个提示词,可在schema中设置时长或循环。
  • 语音:文本字段仅保留要朗读的内容;音色、语言、情绪和语速在单独的schema字段或内联标签中设置。

Speech and dialogue

语音与对话

Discover a voice member with
recommend
(
capability="txt2audio"
, the user's words, "two-person dialogue" when it is one), then read its text field's description in
model_schema_get
: that is where a member usually states its own delivery grammar.
  • Tag syntax is per member, even within one family: square brackets (
    [whispers]
    ), angle brackets (
    <sigh>
    ,
    <short pause>
    ), parentheses (
    (sighs)
    ), or wrapping pairs (
    <whisper>text</whisper>
    ), 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
    recommend
    '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.
  • 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
    Name: line
    per turn, each
    Name
    matching 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 per
    scenario-video-assembly
    .
  • Text is capped and priced. The text field carries a
    max_length
    (5000 characters on one member at authoring time), an overrun is a 400, and
    cost_impact
    marks it as the price driver: split a long script at turn boundaries and
    dry_run
    the first take.
  • Pin the language through the schema's language field when there is one, rather than naming it in the text.
通过
recommend
发现语音模型(设置
capability="txt2audio"
,传入用户的需求描述,如果是双人对话请注明),然后在
model_schema_get
中查看其文本字段的描述:模型通常会在其中说明自己的输出语法。
  • 标签语法因模型而异,即使在同一系列中也是如此:方括号(
    [whispers]
    )、尖括号(
    <sigh>
    、
    <short pause>
    )、括号(
    (sighs)
    )或成对包裹(
    <whisper>text</whisper>
    ),有些模型不识别任何标签。语法错误的标签可能会被直接朗读出来,因此请从文本字段的描述中复制标签拼写;如果描述中没有,则从模型的目录描述或
    recommend
    的说明中查找,如果没有任何来源就不要添加标签。拼写正确的标签只是请求,不能保证生效:两次完全相同的运行可能会有不同结果,因此请让用户在最终确定前试听,如果标签被忽略就重新运行。
  • 两种音色,一次生成。 支持多说话者数组的模型(创作时最多2行说话者标签和对应音色)会按轮次朗读文本,每轮格式为
    姓名: 台词
    ,每个
    姓名
    必须与行标签完全匹配;没有前缀的行会延续上一轮的说话者,此模式下会忽略单音色字段。预设音色名称不代表性别、年龄或语气,因此请说明哪个预设对应哪个角色,让用户在付费运行前确认。说话者更多的场景需要拆分为最多两人的片段,按顺序交付或根据
    scenario-video-assembly
    叠加到视频上。
  • 文本有长度限制且按此计费。 文本字段有
    max_length
    (创作时某款模型为5000字符),超出会返回400错误,
    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
model_schema_get
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.
  • 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
    [Verse]
    and
    [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:
    seed
    , 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
    recommend
    ), checking the schema since not all carry the flag.
  • 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
cost_impact
), it caps both length and price; where none exists, the lyric sheet or prompt sets both. Either way, price the song with
dry_run: true
before committing, then launch with
wait: false
; both are
model_run
arguments, not
parameters
keys.
Repeatability and batching are per member, not per lane: at authoring time the repaint members took
numOutputs
(1 to 4) and no
seed
, so a repaint that must keep the same singer is run as a batch and picked from, while the section composers had
seed
and no
numOutputs
. Read both off
model_schema_get
before promising either.
完整歌曲不是更长的背景音乐,歌曲schema的差异比其他所有方向都大,因此
model_schema_get
决定结构:可能是风格提示词加单独的歌词页,可能是包含两者的散文式提示词,也可能是带分段文本和风格的有序段落数组。
  • 歌词绝对不能放在风格字段中。 如果schema将两者分开,风格字段包含流派、情绪、节奏、调式、演唱风格和乐器;歌词字段包含文本,用
    [Verse]
    和
    [Chorus]
    等段落标签划分结构。
  • 纯音乐和自动歌词是标志位 仅当schema中有这些标志时可用;在散文中请求是不可靠的,如果没有对应标志位,文本字段是唯一的控制方式。在重新运行时切换纯音乐标志会得到不同的版本,而不是同一首歌:如果模型有
    seed
    参数,仅在所有设置完全相同时才会重复生成相同结果。对于已有曲目的纯音乐版本,请尝试音频转音频翻唱模型(通过
    recommend
    发现),请务必查看schema,因为并非所有模型都支持该标志。
  • 文本字段有长度限制 每个模型和每个字段都有上限,超出会返回400错误,而不是自动截断。
如果schema提供了时长字段(标记为
cost_impact
),它会同时限制长度和价格;如果没有,则由歌词页或提示词决定。无论哪种方式,在提交任务前都请用
dry_run: true
估算歌曲价格,然后用
wait: false
启动;这两个都是
model_run
的顶层参数,不是
parameters
中的键。
可重复性和批量生成规则因模型而异,不是按方向统一的:创作时重绘类模型支持
numOutputs
(1到4)但没有
seed
,因此需要保持同一位歌手的重绘任务要批量运行然后从中挑选;而段落作曲类模型有
seed
但没有
numOutputs
。在承诺任何一项功能之前,请先通过
model_schema_get
确认。

Extending a song

延长歌曲

Making an existing track longer is its own
audio2audio
lane, not a longer text-to-music run:
recommend
with
capability="audio2audio"
and the extension need in the user's words; use
search
only when the member is already known by name. The member that does it takes the song as
audio
and an ordered
sections
array (up to 30 at authoring time) where each entry either keeps a slice of the original (
sourceStartSeconds
and
sourceEndSeconds
) or generates a new one (
text
with
[Verse]
-style tags,
durationSeconds
,
positiveStyles
as an array), with
contextAdherence
deciding how closely new sections follow their neighbors. Kept slices bill like generated audio of the same length, so
dry_run
the whole plan first. The repaint, edit and add-layer members regenerate inside the original's duration and never lengthen it, and
recommend
ranked an older text-to-music member for "extend a song" at authoring time: an extension is not a
txt2audio
need, so do not take that pick.
延长现有曲目属于独立的
audio2audio
方向,不是更长的文本转音乐运行:请设置
capability="audio2audio"
并传入用户描述的延长需求调用
recommend
;仅当已经知道模型名称时才使用
search
。实现该功能的模型将歌曲作为
audio
输入,并接受有序的
sections
数组(创作时最多30个),每个条目要么保留原始片段的一部分(通过
sourceStartSeconds
和
sourceEndSeconds
指定),要么生成新片段(包含带
[Verse]
风格标签的
text
、
durationSeconds
、
positiveStyles
数组),
contextAdherence
参数决定新片段与相邻片段的贴合程度。保留的片段按相同长度的生成音频计费,因此请先对整个计划使用
dry_run
。重绘、编辑和添加层模型会在原始时长内重新生成,绝不会延长时长;而且在创作时,
recommend
可能会将一个较旧的文本转音乐模型排在“延长歌曲”需求的前面:延长不是
txt2audio
需求,所以不要选择那个结果。

Common mistakes

常见错误

  • Hardcoding generative model IDs: availability differs per team and evolves. Re-discover each session,
    recommend
    for the need or
    search
    for a name; only the fixed first-party tool ids above stay constant.
  • Skipping
    model_schema_get
    : one audio model's parameters will not fit another (voices, durations, and lyric fields all differ).
  • Polling
    job_get
    in a loop: music jobs can run minutes. Use
    jobs_wait
    ; on timeout re-call with pending_job_ids.
  • Pasting raw asset URLs into chat: use
    asset_display
    to play audio.
  • Passing
    format
    to
    asset_download
    for audio: it converts image formats only, so omit it.
  • 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
    dry_run
    or
    wait
    inside
    parameters
    : they are
    model_run
    's own arguments, so a stray
    dry_run
    still charges and a stray
    wait
    blocks up to 180s.
  • 硬编码生成模型ID:可用性因团队而异,并且会不断迭代。每次会话都要重新发现模型,根据需求调用
    recommend
    或按名称
    search
    ;只有上面提到的固定官方工具ID保持不变。
  • 跳过
    model_schema_get
    :一款音频模型的参数不适用于另一款(音色、时长和歌词字段都可能不同)。
  • 循环轮询
    job_get
    :音乐任务可能运行数分钟。请使用
    jobs_wait
    ;超时时使用pending_job_ids重新调用。
  • 将原始资产URL粘贴到聊天中:请使用
    asset_display
    播放音频。
  • 为音频向
    asset_download
    传递
    format
    参数:该参数仅用于转换图像格式,因此请省略。
  • 将语音指示放在TTS文本中(比如“生气地说这句话”):指示内容可能会被直接朗读出来。请使用schema的情绪或语音字段。
  • 把对话写成一个音色读两个角色:在多说话者模型上,要填写说话者行,并为每一轮加上标签前缀,因为如果说话者行为空,模型会用单个音色朗读所有内容。
  • 把歌词粘贴到风格字段中:模型会描述一首歌而不是演唱它。
  • 用重绘或新的文本转音乐运行来响应“让它更长”的请求:前者保持时长不变,后者会丢失原曲;上面的延长方向会保留用户选择的片段。
  • 把
    dry_run
    或
    wait
    放在
    parameters
    里:它们是
    model_run
    自己的顶层参数,因此放错位置的
    dry_run
    仍然会扣费,放错位置的
    wait
    会阻塞最多180秒。