@nodetool-ai/agents 0.8.4-a24.3 → 0.8.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/.nodetool-build-stamp +1 -1
- package/dist/_skills/LICENSE-iart-motion-design-skills +21 -0
- package/dist/_skills/README.md +211 -0
- package/dist/_skills/api-agents/SKILL.md +58 -0
- package/dist/_skills/api-apps/SKILL.md +54 -0
- package/dist/_skills/api-assets/SKILL.md +66 -0
- package/dist/_skills/api-collections/SKILL.md +33 -0
- package/dist/_skills/api-games/SKILL.md +81 -0
- package/dist/_skills/api-media/SKILL.md +131 -0
- package/dist/_skills/api-memory/SKILL.md +72 -0
- package/dist/_skills/api-models/SKILL.md +78 -0
- package/dist/_skills/api-scripts/SKILL.md +79 -0
- package/dist/_skills/api-settings/SKILL.md +49 -0
- package/dist/_skills/api-sketches/SKILL.md +61 -0
- package/dist/_skills/api-storyboards/SKILL.md +94 -0
- package/dist/_skills/api-timelines/SKILL.md +151 -0
- package/dist/_skills/api-web/SKILL.md +57 -0
- package/dist/_skills/api-workflows/SKILL.md +123 -0
- package/dist/_skills/beat-sync-editing/SKILL.md +208 -0
- package/dist/_skills/caption-titles/SKILL.md +94 -0
- package/dist/_skills/color-motion/SKILL.md +185 -0
- package/dist/_skills/commercial-beat-sheet/SKILL.md +338 -0
- package/dist/_skills/elevenlabs-audio-prompting/SKILL.md +163 -0
- package/dist/_skills/explainer-storyboard/SKILL.md +63 -0
- package/dist/_skills/flux-2-klein-prompting/SKILL.md +107 -0
- package/dist/_skills/frame-composition/SKILL.md +291 -0
- package/dist/_skills/game-direction/SKILL.md +99 -0
- package/dist/_skills/gpt-image-2-prompting/SKILL.md +161 -0
- package/dist/_skills/hailuo-prompting/SKILL.md +107 -0
- package/dist/_skills/kling-video-prompting/SKILL.md +188 -0
- package/dist/_skills/launch-commercial/SKILL.md +267 -0
- package/dist/_skills/launch-kit/SKILL.md +120 -0
- package/dist/_skills/logo-reveal/SKILL.md +225 -0
- package/dist/_skills/manimgx/SKILL.md +123 -0
- package/dist/_skills/minimax-h3-prompting/SKILL.md +134 -0
- package/dist/_skills/motion-ad/SKILL.md +281 -0
- package/dist/_skills/motion-background/SKILL.md +145 -0
- package/dist/_skills/motion-curves/SKILL.md +302 -0
- package/dist/_skills/motion-direction/SKILL.md +259 -0
- package/dist/_skills/motion-graphics/SKILL.md +217 -0
- package/dist/_skills/motion-principles/SKILL.md +255 -0
- package/dist/_skills/music-video-treatment/SKILL.md +40 -0
- package/dist/_skills/nano-banana-pro-prompting/SKILL.md +133 -0
- package/dist/_skills/native-game/SKILL.md +310 -0
- package/dist/_skills/native-game-reference/SKILL.md +879 -0
- package/dist/_skills/nodetool-3d-scene/SKILL.md +110 -0
- package/dist/_skills/nodetool-api-reference/SKILL.md +338 -0
- package/dist/_skills/nodetool-app-builder/SKILL.md +291 -0
- package/dist/_skills/nodetool-browser-agent/SKILL.md +119 -0
- package/dist/_skills/nodetool-chat-cli/SKILL.md +184 -0
- package/dist/_skills/nodetool-custom-node-developer/SKILL.md +294 -0
- package/dist/_skills/nodetool-deployment/SKILL.md +195 -0
- package/dist/_skills/nodetool-js-scripting/SKILL.md +223 -0
- package/dist/_skills/nodetool-model-provider-config/SKILL.md +348 -0
- package/dist/_skills/nodetool-rag-indexing/SKILL.md +153 -0
- package/dist/_skills/nodetool-sketch/SKILL.md +138 -0
- package/dist/_skills/nodetool-skill-author/SKILL.md +125 -0
- package/dist/_skills/nodetool-troubleshooter/SKILL.md +370 -0
- package/dist/_skills/nodetool-video-post/SKILL.md +149 -0
- package/dist/_skills/nodetool-workflow-builder/SKILL.md +295 -0
- package/dist/_skills/product-commercial/SKILL.md +132 -0
- package/dist/_skills/qwen-image-prompting/SKILL.md +122 -0
- package/dist/_skills/script-video/SKILL.md +106 -0
- package/dist/_skills/seedance-2-prompting/SKILL.md +194 -0
- package/dist/_skills/seedream-prompting/SKILL.md +117 -0
- package/dist/_skills/short-film/SKILL.md +123 -0
- package/dist/_skills/stable-audio-prompting/SKILL.md +130 -0
- package/dist/_skills/storyboard-core/SKILL.md +716 -0
- package/dist/_skills/timeline-edit-ops/SKILL.md +736 -0
- package/dist/_skills/trailer-template/SKILL.md +291 -0
- package/dist/_skills/ugc-video/SKILL.md +186 -0
- package/dist/_skills/veo-3-prompting/SKILL.md +140 -0
- package/dist/_skills/video-audio-continuity/SKILL.md +90 -0
- package/dist/_skills/video-clone/SKILL.md +96 -0
- package/dist/_skills/video-workflow/SKILL.md +119 -0
- package/dist/_skills/wan-2-6-prompting/SKILL.md +107 -0
- package/dist/app-build/bridge.d.ts.map +1 -1
- package/dist/app-build/bridge.js +44 -17
- package/dist/app-build/bridge.js.map +1 -1
- package/dist/capabilities/apps.d.ts.map +1 -1
- package/dist/capabilities/apps.js +55 -13
- package/dist/capabilities/apps.js.map +1 -1
- package/dist/capabilities/apps.specs.d.ts.map +1 -1
- package/dist/capabilities/apps.specs.js +5 -3
- package/dist/capabilities/apps.specs.js.map +1 -1
- package/dist/capabilities/game-asset-browser.d.ts.map +1 -1
- package/dist/capabilities/game-asset-browser.js +6 -1
- package/dist/capabilities/game-asset-browser.js.map +1 -1
- package/dist/capabilities/game.d.ts +1 -1
- package/dist/capabilities/game.d.ts.map +1 -1
- package/dist/capabilities/game.js +71 -56
- package/dist/capabilities/game.js.map +1 -1
- package/dist/capabilities/game.specs.js +1 -1
- package/dist/capabilities/game.specs.js.map +1 -1
- package/dist/capabilities/game3d.d.ts.map +1 -1
- package/dist/capabilities/game3d.js +14 -19
- package/dist/capabilities/game3d.js.map +1 -1
- package/dist/capabilities/gameAssertions.d.ts +52 -0
- package/dist/capabilities/gameAssertions.d.ts.map +1 -0
- package/dist/capabilities/gameAssertions.js +32 -0
- package/dist/capabilities/gameAssertions.js.map +1 -0
- package/dist/capabilities/models.d.ts.map +1 -1
- package/dist/capabilities/models.js +9 -0
- package/dist/capabilities/models.js.map +1 -1
- package/dist/capabilities/storyboards.d.ts.map +1 -1
- package/dist/capabilities/storyboards.js +36 -11
- package/dist/capabilities/storyboards.js.map +1 -1
- package/dist/capabilities/storyboards.specs.d.ts.map +1 -1
- package/dist/capabilities/storyboards.specs.js +11 -1
- package/dist/capabilities/storyboards.specs.js.map +1 -1
- package/dist/capabilities/workflows.d.ts.map +1 -1
- package/dist/capabilities/workflows.js +1 -0
- package/dist/capabilities/workflows.js.map +1 -1
- package/dist/capabilities/workflows.specs.d.ts.map +1 -1
- package/dist/capabilities/workflows.specs.js +4 -3
- package/dist/capabilities/workflows.specs.js.map +1 -1
- package/dist/evals/surfaces/game.d.ts.map +1 -1
- package/dist/evals/surfaces/game.js +29 -1
- package/dist/evals/surfaces/game.js.map +1 -1
- package/dist/game-authoring.d.ts +120 -0
- package/dist/game-authoring.d.ts.map +1 -1
- package/dist/game-build-integrity.d.ts +12 -0
- package/dist/game-build-integrity.d.ts.map +1 -0
- package/dist/game-build-integrity.js +78 -0
- package/dist/game-build-integrity.js.map +1 -0
- package/dist/game-examples.d.ts +44 -3
- package/dist/game-examples.d.ts.map +1 -1
- package/dist/game-examples.js +60 -10
- package/dist/game-examples.js.map +1 -1
- package/dist/system-skills.d.ts +1 -1
- package/dist/system-skills.js +1 -1
- package/dist/tools/builtin-tools.d.ts.map +1 -1
- package/dist/tools/builtin-tools.js +2 -0
- package/dist/tools/builtin-tools.js.map +1 -1
- package/package.json +19 -19
|
@@ -0,0 +1,194 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: seedance-2-prompting
|
|
3
|
+
description: Prompt ByteDance's Seedance 2 video line — the Subject/Motion/Environment/Look/Camera/Audio formula, how dialogue in double quotes gets voiced and lip-synced, writing the sound mix instead of leaving it open, cutting between shots in one generation, the JSON beat-sheet brief that holds an arc across a whole piece, and giving physics a consequence to chase. Use whenever the model id contains seedance-2 (bytedance/seedance-2.0 and its fast and mini variants, bytedance/seedance-2.5, kie's bytedance/seedance-2, seedance-2-fast, seedance-2-mini, seedance-2-5, in text-to-video, image-to-video and reference-to-video form) on generate_video, animate_image, generate_video_from_references or a TextToVideo node. Not for Seedance 1.x.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Seedance 2 → direct a scene, not a frame
|
|
7
|
+
|
|
8
|
+
Seedance 2 writes the picture and the sound in the same pass, and that one fact
|
|
9
|
+
changes the prompt. You are not describing a frame; you are directing a short
|
|
10
|
+
scene including the camera move and the mix, and the model has to hold all of
|
|
11
|
+
it together. It follows plain natural language, so the prompts that work read
|
|
12
|
+
like a short shot brief: who, doing what, where, shot how, and what it sounds
|
|
13
|
+
like.
|
|
14
|
+
|
|
15
|
+
That also decides how a multi-scene piece is built: the sound belongs to the
|
|
16
|
+
clip that generated it, so several Seedance clips cut together restart their
|
|
17
|
+
mix at every join. `video-audio-continuity` covers when the whole piece has to
|
|
18
|
+
be one generation, and the sound-design vocabulary that gets past the
|
|
19
|
+
copyright filter.
|
|
20
|
+
|
|
21
|
+
Reach it with `find_model` for `text_to_video` or `image_to_video`, then
|
|
22
|
+
`generate_video` / `animate_image`; for the reference-to-video routes, use
|
|
23
|
+
`find_model` for `reference_to_video`, then `generate_video_from_references`.
|
|
24
|
+
Those forward the prompt, the media, a negative prompt (no Seedance 2 route
|
|
25
|
+
has the field, so it is dropped), `duration_seconds`, the aspect ratio and the
|
|
26
|
+
resolution. Audio references (`audio_urls` on fal, `reference_audios`
|
|
27
|
+
elsewhere), the `generate_audio` switch and an automatic duration exist only on
|
|
28
|
+
the route's own node: find it with `search_nodes`, read its fields with
|
|
29
|
+
`get_node_info`, and run it with `run_node`. Each run is a paid generation,
|
|
30
|
+
so confirm the scope with the user before rendering several.
|
|
31
|
+
|
|
32
|
+
Pin the length from 4 to 15 seconds on 2.0, fast and mini, and up to 30 on
|
|
33
|
+
2.5. An automatic length, which lets the model fit the content, is `auto` on
|
|
34
|
+
fal and `-1` on AtlasCloud and Replicate; kie has none.
|
|
35
|
+
|
|
36
|
+
## The formula
|
|
37
|
+
|
|
38
|
+
Two parts do the work:
|
|
39
|
+
|
|
40
|
+
- **Subject** — who or what is on screen, concretely.
|
|
41
|
+
- **Motion** — what it is doing, and how.
|
|
42
|
+
|
|
43
|
+
Everything after is optional, added as the shot needs it:
|
|
44
|
+
|
|
45
|
+
- **Environment** — place, time of day, weather, light.
|
|
46
|
+
- **Look** — the finished style, documentary realism through flat 2D.
|
|
47
|
+
- **Camera** — framing and move, briefed the way you would brief an operator.
|
|
48
|
+
- **Audio** — dialogue, ambience, score, or silence.
|
|
49
|
+
|
|
50
|
+
Loaded up:
|
|
51
|
+
|
|
52
|
+
> A glassblower in a leather apron pulls a glowing orange gather of molten glass
|
|
53
|
+
> from the furnace, turns the rod steadily to keep it from slumping, then lifts
|
|
54
|
+
> a blowpipe to his lips and breathes into it as the bulb swells and the glass
|
|
55
|
+
> deepens from orange toward red. A dim workshop lit almost entirely by the
|
|
56
|
+
> mouth of the furnace, tools and half-finished pieces on the bench behind him,
|
|
57
|
+
> a warm documentary look with the highlights blown out slightly. The camera
|
|
58
|
+
> opens on a slow push-in toward his hands, then arcs around to catch the
|
|
59
|
+
> molten glass against the dark of the room. Audio: the low roar of the
|
|
60
|
+
> furnace, the creak of the turning rod, a faint hiss as the surface cools, no
|
|
61
|
+
> music.
|
|
62
|
+
|
|
63
|
+
Every layer there is a decision the model no longer invents.
|
|
64
|
+
|
|
65
|
+
## Dialogue, sound and on-screen text
|
|
66
|
+
|
|
67
|
+
**Dialogue** goes in double quotes. The model voices it, matches lips to it and
|
|
68
|
+
times it to the cut. Keep lines short — a long monologue drifts out of sync, so
|
|
69
|
+
split a speech across two lines and let the cut carry it. Direct the delivery
|
|
70
|
+
too ("play her line dry and a little proud, his quiet and worn out").
|
|
71
|
+
|
|
72
|
+
**Subtitles** work by describing a voiceover and asking for the text along the
|
|
73
|
+
bottom edge, timed to the voice.
|
|
74
|
+
|
|
75
|
+
**Ambience** is a sound brief. Name the sounds you want in the mix, and write
|
|
76
|
+
"no music" when you mean it. An open prompt comes back scored like a car advert.
|
|
77
|
+
|
|
78
|
+
## Rules
|
|
79
|
+
|
|
80
|
+
- **Spend words on verbs.** Motion is what gets animated. "A stunning dancer"
|
|
81
|
+
gives nothing; "a dancer dropping into a low spin, the skirt flaring, then
|
|
82
|
+
snapping upright" gives a path to follow.
|
|
83
|
+
- **Use camera language.** Dolly, pan, tilt, crane, push-in, rack focus,
|
|
84
|
+
locked-off all read cleanly. "Epic cinematic camera" goes a hundred
|
|
85
|
+
directions.
|
|
86
|
+
- **Under-directed audio is the common failure.** Name the diegetic sounds, the
|
|
87
|
+
room tone, and call for silence on purpose.
|
|
88
|
+
- **Physics needs a consequence.** "Leaves scatter on each impact", "the mug
|
|
89
|
+
slides and tips" give the model something concrete to resolve toward.
|
|
90
|
+
- **Say "cut to" when you want a cut.** Spelled out, it honours a shot list far
|
|
91
|
+
more reliably than it invents one.
|
|
92
|
+
- **Two clipped lines across a cut beat one long line** that loses sync
|
|
93
|
+
halfway.
|
|
94
|
+
|
|
95
|
+
The vague-versus-specific gap is the same as everywhere else, and costs more
|
|
96
|
+
here because a bad clip costs seconds of render. "A beautiful cinematic video
|
|
97
|
+
of a dancer, stunning, 8k, masterpiece" returns a stock dancer under flat even
|
|
98
|
+
light. Set the dress, the spin, the heel strikes, the lone spotlight and the
|
|
99
|
+
guitar, and the model spends its effort rendering your scene instead of
|
|
100
|
+
inventing one.
|
|
101
|
+
|
|
102
|
+
## Patterns
|
|
103
|
+
|
|
104
|
+
- **Hard motion and real physics** — give weight and contact points: a vault
|
|
105
|
+
with a hand planted on a ledge, gravel kicking up on the landing, a jacket
|
|
106
|
+
flapping, the camera tracking alongside at chest height.
|
|
107
|
+
- **A spot that cuts between shots** — "built as three cuts in one take", each
|
|
108
|
+
cut named, a title fading up on the closing frame in a named type class and
|
|
109
|
+
colour.
|
|
110
|
+
- **When the sound is the scene** — a slow push-in, a naturalistic grade, and
|
|
111
|
+
a mix of droplets, a far-off bird and branch creak with "no music at all".
|
|
112
|
+
- **Product hero shot** — one satisfying physical moment. A pour, a splash, a
|
|
113
|
+
tab popping with a fine spray lifting off, macro, hard rim light on the
|
|
114
|
+
droplets, then the line fading up in the lower third.
|
|
115
|
+
- **Spokesperson to camera** — vertical, phone-camera look, a short spoken
|
|
116
|
+
line in quotes, a small physical beat on the last word, then a two-second
|
|
117
|
+
insert cut and back.
|
|
118
|
+
|
|
119
|
+
## The structured beat sheet
|
|
120
|
+
|
|
121
|
+
Prose carries one shot. For a whole piece with a shape — a hook, a turn, a
|
|
122
|
+
drop, a peak — hand Seedance a JSON brief instead: global fields that hold for
|
|
123
|
+
the entire clip, then a timeline of beats, each one naming its function, its
|
|
124
|
+
picture and its sound. The function label (`fn`) is what keeps the model from
|
|
125
|
+
flattening the arc into eight equally-weighted shots.
|
|
126
|
+
|
|
127
|
+
The JSON is the prompt string, not a request body. Its `duration` and
|
|
128
|
+
`negative_prompt` are text the model reads; the clip's real length still comes
|
|
129
|
+
from `duration_seconds` (or the route's `duration`), so set both to match.
|
|
130
|
+
|
|
131
|
+
Six global fields, then the beats:
|
|
132
|
+
|
|
133
|
+
- `duration` — the whole clip, within what the endpoint you called accepts.
|
|
134
|
+
The example below runs 25 s, which only the 2.5 routes accept; on 2.0, fast
|
|
135
|
+
and mini, keep it to 15 s.
|
|
136
|
+
- `camera` — one move across the whole clip, not one per beat. A single
|
|
137
|
+
continuous push-in reads as a shot; a new move every three seconds reads as
|
|
138
|
+
a montage.
|
|
139
|
+
- `light` — the source, its colour temperature, and how it changes over the
|
|
140
|
+
clip. Name it once and every beat inherits it.
|
|
141
|
+
- `style` — genre, lens character, grain, palette, and one or two reference
|
|
142
|
+
points for restraint.
|
|
143
|
+
- `negative_prompt` — the artifacts you actually see: jitter, bent limbs,
|
|
144
|
+
morphing faces, flicker.
|
|
145
|
+
- `audio_note` — the rule the mix obeys across every beat. "One continuous bed,
|
|
146
|
+
never full silence" is what stops the model resetting the sound at each cut.
|
|
147
|
+
|
|
148
|
+
```json
|
|
149
|
+
{
|
|
150
|
+
"duration": "25s",
|
|
151
|
+
"camera": "One continuous slow, steady push-in from extreme wide to close-up across the 25s; shallow depth by the end.",
|
|
152
|
+
"light": "Single unseen source above; cold white-cyan 6500K key casts down, intensifying steadily from a whisper to a flood; deep blue 6000K twilight ambient; hard top key, soft fill.",
|
|
153
|
+
"style": "Mysterious sci-fi first contact, withheld reveal, intimate awe; anamorphic, atmospheric haze, fine film grain, deep teal-twilight palette; Arrival / Close Encounters restraint.",
|
|
154
|
+
"negative_prompt": "Avoid jitter and bent limbs; stable facial features, no morphing, no flickering.",
|
|
155
|
+
"audio_note": "ONE continuous bed, never full silence; dips to sub-bass rumble at the DROP instead of cutting.",
|
|
156
|
+
"timeline": [
|
|
157
|
+
{"t":"0:00-0:03","fn":"Cold Open / Hook","visual":"Extreme wide, near-dark. A small child alone in a vast twilight field, tiny and still; wind begins bending the wheat toward one point, a faint unnatural tint at frame edge - source unseen.","audio":"Low sub-bass drone, faint wind, one distant detuned low-brass signal tone."},
|
|
158
|
+
{"t":"0:03-0:08","fn":"Setup / World","visual":"Medium wide. The child looks up; ordinary dusk field established as a cold light starts to rise on them from somewhere above, still unshown.","audio":"The tone bends; sparse high harmonics enter; sub-rumble slowly grows."},
|
|
159
|
+
{"t":"0:08-0:11","fn":"Inciting Incident","visual":"Medium. The 'but then': cold light intensifies on the child's face - curiosity dawning, not fear. The unseen presence is undeniable now.","audio":"First swell; a soft riser begins; a deep slow pulse enters."},
|
|
160
|
+
{"t":"0:11-0:16","fn":"Escalation / Stakes","visual":"Push-in tightening on the face. Light climbing, hair lifting, eyes widening; the child steps forward, drawn in.","audio":"Layers stack - riser rising, pulses quicken, strings enter; tension builds."},
|
|
161
|
+
{"t":"0:16-0:17","fn":"THE DROP","visual":"The hinge: everything stills for one beat, the face half-lit, breath caught, light pooled and waiting.","audio":"Bed dips to a low sub-bass rumble for one beat - near-silence, never fully out."},
|
|
162
|
+
{"t":"0:17-0:22","fn":"Climax / Emotional Peak","visual":"Close-up. PEAK: the child slowly lifts one open hand toward the light, fingers spreading; the intensifying beam washes over the small palm and reflects in wide, wonder-filled eyes as a faint slender silhouette of light enters the top edge of frame, almost meeting the fingertips.","audio":"A warm resonant swell blooms - wordless choir and vast strings soaring into awe over sustained deep brass, a fragile high motif of wonder."},
|
|
163
|
+
{"t":"0:22-0:24","fn":"Title Card","visual":"The light blooms to white across the frame; title fades in over the bloom (clean type in post).","audio":"Choir and strings resolve to one luminous sustained chord; a low sub-boom lands."},
|
|
164
|
+
{"t":"0:24-0:25","fn":"Button / Stinger","visual":"After the title, one last beat: the light settles, the field dim again; a single held stillness.","audio":"One fragile high bell tone over near-silence; hard out."}
|
|
165
|
+
]
|
|
166
|
+
}
|
|
167
|
+
```
|
|
168
|
+
|
|
169
|
+
What makes it work, and what to keep when you adapt it:
|
|
170
|
+
|
|
171
|
+
- **Every beat has all three of `fn`, `visual` and `audio`.** A beat missing its
|
|
172
|
+
audio line is where the mix drifts back to a generic score.
|
|
173
|
+
- **The drop is a beat, not a gap.** One second of the bed dipping to sub-bass
|
|
174
|
+
reads as a hinge; actual silence reads as a dropout. Say which you want.
|
|
175
|
+
- **The peak beat gets the most words.** It is the only place worth spending
|
|
176
|
+
detail on a hand, a reflection, an edge of frame. The setup beats stay short.
|
|
177
|
+
- **Camera and light are global, and the beats describe their state.** "Light
|
|
178
|
+
climbing, hair lifting" is a state of the global light, not a new light.
|
|
179
|
+
- **Title cards belong in the timeline.** Give the bloom a beat of its own and
|
|
180
|
+
add the type in post rather than asking the model to render it.
|
|
181
|
+
- **The stinger keeps the clip from ending on the peak.** One held beat after
|
|
182
|
+
the title is what makes it read as finished rather than cut off.
|
|
183
|
+
|
|
184
|
+
Adapt the beat functions to the piece. A UGC ad runs hook, problem, product,
|
|
185
|
+
proof, call to action; a product film runs establish, detail, transformation,
|
|
186
|
+
hero, mark. The shape changes; the discipline of naming each beat's job does
|
|
187
|
+
not.
|
|
188
|
+
|
|
189
|
+
Grade the result with `analyze_video` and `detect_video_scenes` rather than
|
|
190
|
+
watching it, and `understand_video` when you need a written read of what
|
|
191
|
+
actually rendered.
|
|
192
|
+
|
|
193
|
+
Adapted from fal's Seedance 2.0 prompting guide:
|
|
194
|
+
https://fal.ai/learn/tools/seedance-2-0-prompting-guide
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: seedream-prompting
|
|
3
|
+
description: Prompt ByteDance's Seedream 4 and 5 image line — the six-layer brief it reads in order, the word budget past which it starts dropping clauses, quoting in-image copy and placing it, pinning what must not change before an edit, addressing references by content instead of by index, and the size to iterate at versus the size to deliver. Use whenever the model id names Seedream 4 or 5 (bytedance/seedream/v5/pro/text-to-image, bytedance/seedream/v5/lite/edit, fal-ai/bytedance/seedream/v4.5/edit, fal-ai/bytedance/seedream/v4/text-to-image, bytedance/seedream-v5.0-pro/edit, bytedance/seedream-v4.5, seedream/5-pro-image-to-image, seedream/4.5-text-to-image, bytedance/seedream-4.5) on generate_image, edit_image or a TextToImage node. Not for Seedream 3.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Seedream → a production brief, not a caption
|
|
7
|
+
|
|
8
|
+
Seedream rewards a brief written the way you would hand one to a retoucher:
|
|
9
|
+
what the deliverable is, who is in it, where everything sits, how it is lit,
|
|
10
|
+
what it says, and what it looks like. Captions get caption results.
|
|
11
|
+
|
|
12
|
+
Reach it with `find_model` for `text_to_image` or `image_to_image`, then
|
|
13
|
+
`generate_image` / `edit_image`. `generate_image` forwards only the prompt, a
|
|
14
|
+
negative prompt, the size and a quality string, and `edit_image` only the
|
|
15
|
+
images, the prompt, a negative prompt, a target size and a strength. The
|
|
16
|
+
provider's own size field exists only on the route's node: find it with
|
|
17
|
+
`search_nodes`, read its fields with `get_node_info`, and run it with
|
|
18
|
+
`run_node`.
|
|
19
|
+
|
|
20
|
+
## Six layers, in this order
|
|
21
|
+
|
|
22
|
+
Earlier clauses carry more weight, so the order is part of the instruction.
|
|
23
|
+
|
|
24
|
+
1. **Format** — the deliverable. "Fashion editorial magazine cover", "packshot
|
|
25
|
+
on plain white", "streaming poster".
|
|
26
|
+
2. **Subject** — identity, wardrobe, materials, styling. Concrete beats
|
|
27
|
+
flattering: "a woman in her 40s, close-cropped grey hair, oversized charcoal
|
|
28
|
+
wool coat" over "a stylish woman".
|
|
29
|
+
3. **Composition** — where things sit and how the frame is cut. "Subject on the
|
|
30
|
+
left vertical third, product centred at the lower edge, generous headroom".
|
|
31
|
+
4. **Lighting** — direction and quality. "Hard key from camera left, deep
|
|
32
|
+
falloff, one bounce card filling the shadow side".
|
|
33
|
+
5. **In-image text** — the exact copy, in quotes, with its position.
|
|
34
|
+
6. **Style** — the aesthetic anchor. "Editorial photorealism, 85mm, shallow
|
|
35
|
+
focus, muted film grade".
|
|
36
|
+
|
|
37
|
+
An omitted layer is a decision handed to the model's defaults, and its defaults
|
|
38
|
+
are centred, evenly lit and generic.
|
|
39
|
+
|
|
40
|
+
## Word budget
|
|
41
|
+
|
|
42
|
+
fal's guide aims for 30–100 words on Seedream 4.x. Runware's guide says
|
|
43
|
+
Seedream 5 accepts a much longer brief and starts scattering attention past
|
|
44
|
+
roughly 600 English words. Specificity
|
|
45
|
+
buys more than length: past the budget the model drops clauses, and which ones
|
|
46
|
+
it drops is not yours to choose.
|
|
47
|
+
|
|
48
|
+
## Text in the image
|
|
49
|
+
|
|
50
|
+
Put the literal copy in quotation marks and say where it goes. Anything you
|
|
51
|
+
describe rather than quote, the model writes for you.
|
|
52
|
+
|
|
53
|
+
> Fashion editorial cover, 3:4. Masthead "ATRIUM" in tall thin capitals across
|
|
54
|
+
> the top edge, one cover line "The Quiet Season" in small italics at the lower
|
|
55
|
+
> left. A model in a raw-edged linen coat against a bare plaster wall, three-
|
|
56
|
+
> quarter turn, looking off-frame right. Soft north light from the left, long
|
|
57
|
+
> shadow across the plaster. Editorial photorealism, medium format, muted
|
|
58
|
+
> palette. No other text.
|
|
59
|
+
|
|
60
|
+
Closing with "no other text" is what stops the model filling the margins with
|
|
61
|
+
invented lettering. Quote copy only when it belongs to the deliverable itself;
|
|
62
|
+
a keyframe for a timeline or a video clip keeps its titles and supers off the
|
|
63
|
+
image and gets them as text clips afterwards (`caption-titles`), where they
|
|
64
|
+
stay editable.
|
|
65
|
+
|
|
66
|
+
## Editing: pin before you change
|
|
67
|
+
|
|
68
|
+
Reference-guided editing takes several images. fal's edit routes take up to
|
|
69
|
+
ten and keep only the last ten when sent more. kie's `seedream/4.5-edit` and
|
|
70
|
+
`seedream/5-lite-image-to-image` take up to 14, and kie's
|
|
71
|
+
`seedream/5-pro-image-to-image` and `bytedance/seedream-v4-edit` up to 10. The
|
|
72
|
+
failure mode is not the edit — it is everything you did not mention drifting. State the pins:
|
|
73
|
+
|
|
74
|
+
> Change only the bottle's label to matte black with "SERIES 04" in white
|
|
75
|
+
> sans-serif capitals. Keep the exact bottle silhouette, the exact camera
|
|
76
|
+
> angle, the exact backdrop and the exact studio lighting from the reference.
|
|
77
|
+
|
|
78
|
+
Address references by what they contain, not by position: "the tan leather
|
|
79
|
+
journal", not "the second image". This differs from the "image 1 / image 2"
|
|
80
|
+
convention the Qwen-Image and GPT Image guides teach; it is Seedream's own. Content descriptions survive re-ordering and
|
|
81
|
+
disambiguate two references that look alike. For product identity, feed
|
|
82
|
+
packshots on white — a lifestyle photo carries a scene the model will try to
|
|
83
|
+
keep.
|
|
84
|
+
|
|
85
|
+
Seedream 5 Pro adds region-precise editing and layer separation, which is what
|
|
86
|
+
makes it the pick when one element must change and the rest of the frame must
|
|
87
|
+
be provably untouched.
|
|
88
|
+
|
|
89
|
+
## Size and tiers
|
|
90
|
+
|
|
91
|
+
The size field differs by provider. On fal's Seedream 5 routes, `image_size`
|
|
92
|
+
defaults to `auto_2K`; the Pro and Flash routes run 1024×1024 to 2048×2048
|
|
93
|
+
total pixels at aspect ratios 1:16 to 16:1. fal's 4 and 4.5 routes set no
|
|
94
|
+
default. AtlasCloud takes `size` (default `2048*2048`), kie `aspect_ratio` or
|
|
95
|
+
`image_size`, and Replicate `size` (default `2K`). Work the composition at the smaller tier
|
|
96
|
+
while you iterate and render the deliverable at 2K. Match the ratio to the
|
|
97
|
+
brief rather than defaulting to square: 3:4 for a cover, 9:16 for a poster, 4:3
|
|
98
|
+
for a still life.
|
|
99
|
+
|
|
100
|
+
## Symptoms
|
|
101
|
+
|
|
102
|
+
| What went wrong | What to change |
|
|
103
|
+
| :--- | :--- |
|
|
104
|
+
| Subject differs from what you described | Move the subject description earlier and make its defining features concrete |
|
|
105
|
+
| An unwanted illustrative style | Name the style you want and negate the one you got explicitly |
|
|
106
|
+
| Elements land in the wrong place | State spatial relationships; cut the number of things in the frame |
|
|
107
|
+
| Copy is paraphrased or invented | Quote it exactly, place it, and close with "no other text" |
|
|
108
|
+
| An untouched region changed in an edit | Add the pins — silhouette, angle, backdrop, lighting |
|
|
109
|
+
| Clauses at the end were ignored | You are over budget; cut to the layers that matter |
|
|
110
|
+
|
|
111
|
+
Grade the result with `critique_image` and `score_image_adherence` rather than
|
|
112
|
+
eyeballing it, and `compare_images` when you are choosing between candidates.
|
|
113
|
+
|
|
114
|
+
Adapted from fal's Seedream v4.5 prompt guide and Runware's Seedream 5.0 Pro
|
|
115
|
+
prompting guide:
|
|
116
|
+
https://fal.ai/learn/devs/seedream-v4-5-prompt-guide
|
|
117
|
+
https://runware.ai/docs/models/bytedance-seedream-5-0-pro/guides/prompting
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: short-film
|
|
3
|
+
description: "Direct a narrative scene or short film in NodeTool with characters, dialogue, and score, and the look and cast of a story trailer. A trailer's beat structure comes from trailer-template. For product ads, use product-commercial."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
**Load `/storyboard-core` first.** It carries the loop, the tool contract and
|
|
7
|
+
the gating this skill assumes. Everything below is what narrative work adds on top.
|
|
8
|
+
For a trailer or teaser, also load `/trailer-template`: it sets the eight beats, the
|
|
9
|
+
drop and the title card, and this skill sets the cast, the look and the blocking.
|
|
10
|
+
|
|
11
|
+
## What makes this job type its own
|
|
12
|
+
|
|
13
|
+
An ad needs a board. A narrative piece needs the **screenplay framing** around it:
|
|
14
|
+
title, logline, style bible, narration and a music prompt. Those live on the board's
|
|
15
|
+
screenplay.
|
|
16
|
+
|
|
17
|
+
Who writes which field:
|
|
18
|
+
|
|
19
|
+
| Field | Headless | Board open in a tab |
|
|
20
|
+
|---|---|---|
|
|
21
|
+
| narration, music prompt | `edit_storyboard` → `set_board {narration, music_prompt}` | either |
|
|
22
|
+
| style bible | `set_board {style}` (the board style is the style bible) | either |
|
|
23
|
+
| title, logline | only through `direct_storyboard`, which writes the Director's own | `ui_storyboard_set_screenplay` |
|
|
24
|
+
|
|
25
|
+
So:
|
|
26
|
+
|
|
27
|
+
- Board open in a browser tab → `ui_storyboard_set_screenplay` with the whole
|
|
28
|
+
screenplay object, framing and shots together, in one call.
|
|
29
|
+
- Headless → `create_storyboard`, then `set_board` with the look in `style`, the
|
|
30
|
+
premise in `brief`, and `narration` and `music_prompt`. Keep the words on each shot's
|
|
31
|
+
`dialogue` and `narration`. A title and logline of your own need the board open;
|
|
32
|
+
say so rather than pretend they were set. To have the Director write the whole
|
|
33
|
+
screenplay headless, scenes and title included, `set_setup {brief, genre}` and then
|
|
34
|
+
`direct_storyboard`.
|
|
35
|
+
|
|
36
|
+
This matters at assembly: `assemble_storyboard_timeline` turns the screenplay's
|
|
37
|
+
narration and music prompt into draft audio clips ready to generate.
|
|
38
|
+
|
|
39
|
+
## The screenplay object
|
|
40
|
+
|
|
41
|
+
```json
|
|
42
|
+
{
|
|
43
|
+
"type": "screenplay",
|
|
44
|
+
"title": "Night Drop",
|
|
45
|
+
"logline": "A courier discovers the package was never meant to arrive.",
|
|
46
|
+
"brief": "40-second neo-noir teaser",
|
|
47
|
+
"styleBible": "wet asphalt, sodium and cyan, anamorphic flare, 2.39:1 crop, heavy grain",
|
|
48
|
+
"aspectRatio": "16:9",
|
|
49
|
+
"narration": "",
|
|
50
|
+
"musicPrompt": "sparse low synth pulse, one rising note at 0:32, no drums",
|
|
51
|
+
"entityIds": ["<asset id>"],
|
|
52
|
+
"shots": [
|
|
53
|
+
{
|
|
54
|
+
"slug": "1a",
|
|
55
|
+
"action": "Wide. Mara stands alone under a sodium lamp on wet asphalt, the city behind her out of focus",
|
|
56
|
+
"camera": { "framing": "wide", "lens": "40mm anamorphic", "angle": "low", "movement": "slow push" },
|
|
57
|
+
"motion": "she turns her head once toward the sound off-frame; rain falls steadily",
|
|
58
|
+
"dialogue": "",
|
|
59
|
+
"durationSeconds": 7
|
|
60
|
+
}
|
|
61
|
+
]
|
|
62
|
+
}
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
`style` is accepted as an alias of `styleBible`. Only `action` is required per shot;
|
|
66
|
+
ids, indexes and statuses are filled in.
|
|
67
|
+
|
|
68
|
+
## Shot pattern
|
|
69
|
+
|
|
70
|
+
Six shots for forty seconds is a workable ratio — long enough to hold, few enough to
|
|
71
|
+
afford. **Open wide, end close.** The wide establishes the world, the close is what the
|
|
72
|
+
audience leaves with.
|
|
73
|
+
|
|
74
|
+
- Give shots room: 5–8 seconds each. Narrative shots that run 2 seconds read as an ad.
|
|
75
|
+
- Write blocking as physical events with counts — `she turns her head once`, `he sets
|
|
76
|
+
the case down and does not let go` — and keep emotion out of `motion`. "Tense" is
|
|
77
|
+
not a motion; a held stillness is.
|
|
78
|
+
- Dialogue goes in the shot's `dialogue` field, not in `action`. That keeps the option
|
|
79
|
+
open to lift the words into a real script with
|
|
80
|
+
`extract_script_from_storyboard` and voice them per `/script-video`.
|
|
81
|
+
- The style bible carries the grade. Do not restate it per shot — it is appended to
|
|
82
|
+
every still prompt already.
|
|
83
|
+
|
|
84
|
+
## Casting
|
|
85
|
+
|
|
86
|
+
Each character is a character entity: generate a reference, show the user, then
|
|
87
|
+
`create_entity`. Add every one to the board with `set_board {entity_ids}`. A character
|
|
88
|
+
seasons only the shots whose text names them, which is what you want in a scene where
|
|
89
|
+
one person is alone.
|
|
90
|
+
|
|
91
|
+
Recurring locations are worth a **location entity** — those apply to every shot on the
|
|
92
|
+
board, which is how a single street stays the same street across six cuts.
|
|
93
|
+
|
|
94
|
+
## Direct mode earns its place here
|
|
95
|
+
|
|
96
|
+
Dialogue that must look synced, and heavy camera movement, both come out stiffer from
|
|
97
|
+
a still. Set those shots to `render_mode: "direct"`; the direct clip prompt carries
|
|
98
|
+
the camera fields, the scene lighting and the board style itself. Keep the establishing and static
|
|
99
|
+
shots on `keyframe` — they are the ones where holding the look matters most.
|
|
100
|
+
|
|
101
|
+
## Brief
|
|
102
|
+
|
|
103
|
+
Adapt these examples to the user's brief. Example deliverables, style choices,
|
|
104
|
+
and approval checkpoints apply only when the user adopts them.
|
|
105
|
+
|
|
106
|
+
```
|
|
107
|
+
Direct a 40-second [genre] short: [LOGLINE]. Six shots, open wide, end close,
|
|
108
|
+
5-8 seconds each.
|
|
109
|
+
|
|
110
|
+
Write the full framing as well as the shots: title, logline, style bible,
|
|
111
|
+
aspect ratio, and a music prompt. If the board is open in a tab, set all of it
|
|
112
|
+
with ui_storyboard_set_screenplay in one call; if not, set the style, narration
|
|
113
|
+
and music prompt with set_board and tell me the title and logline need the tab.
|
|
114
|
+
|
|
115
|
+
Cast every character as an entity from a reference you show me first, plus a
|
|
116
|
+
location entity for the street. Set the shots that carry spoken lines to
|
|
117
|
+
render_mode direct.
|
|
118
|
+
|
|
119
|
+
If I gave no logline: a night courier loses the package. Wet asphalt, sodium and
|
|
120
|
+
cyan, and she whispers "That wasn't a drop."
|
|
121
|
+
|
|
122
|
+
Stop after the board. Stills before clips.
|
|
123
|
+
```
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: stable-audio-prompting
|
|
3
|
+
description: Prompt Stability's Stable Audio line — the genre/instruments/mood/BPM order its training metadata expects, the TrackType and VocalType tags that separate music, stems and sound effects on Stable Audio 3, matching duration to what you described, which checkpoints guidance_scale and step count actually affect, and prompting the inpaint, outpaint and audio-to-audio variants where the surrounding audio outranks the prompt. Use whenever the model id names Stable Audio (fal-ai/stable-audio-25/text-to-audio, fal-ai/stable-audio-3/medium/text-to-audio, fal-ai/stable-audio-3/small/music/text-to-audio, fal-ai/stable-audio-3/small/sfx/text-to-audio, fal-ai/stable-audio-3/medium/audio-to-audio, fal-ai/stable-audio-25/inpaint, stability-ai/stable-audio-2.5) on generate_music, run_node or an audio generation node. Not for the original fal-ai/stable-audio.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Stable Audio → write the metadata, not a mood
|
|
7
|
+
|
|
8
|
+
Stable Audio was trained on library-music metadata, so it responds to prompts
|
|
9
|
+
shaped like library-music metadata: what the genre is, what is playing, how it
|
|
10
|
+
feels, how fast it goes. Poetic descriptions of a feeling get a generic bed.
|
|
11
|
+
|
|
12
|
+
Reach the music endpoints with `find_model` for `text_to_music`, then
|
|
13
|
+
`generate_music`, which forwards only the prompt, lyrics and a duration. Every
|
|
14
|
+
dial in the table below, and the SFX checkpoints and the audio-to-audio,
|
|
15
|
+
inpaint and outpaint variants, need the route's own node: find it with
|
|
16
|
+
`search_nodes`, read its fields with `get_node_info`, and run it with
|
|
17
|
+
`run_node`. Each run is a paid generation, so confirm the scope with the
|
|
18
|
+
user before rendering several.
|
|
19
|
+
|
|
20
|
+
## Music prompts
|
|
21
|
+
|
|
22
|
+
Four elements, in this order:
|
|
23
|
+
|
|
24
|
+
1. **Genre** — the core style, first.
|
|
25
|
+
2. **Instruments** — with character, not just names. "Smooth electric piano",
|
|
26
|
+
"textural percussion", "distorted bass" carry more than "piano, drums,
|
|
27
|
+
bass".
|
|
28
|
+
3. **Mood and production** — the feel, plus the production era or treatment.
|
|
29
|
+
4. **BPM** — and the key when it matters.
|
|
30
|
+
|
|
31
|
+
> An exciting breakbeat instrumental for a fast-paced game, funky electric
|
|
32
|
+
> guitar chords, steady break drums, smooth electric piano and supporting bass.
|
|
33
|
+
> Fresh, modern and adventurous, 105 BPM.
|
|
34
|
+
|
|
35
|
+
Two habits that measurably help: vary the vocabulary instead of repeating the
|
|
36
|
+
same adjective, and reference an era to describe production — "80s gated
|
|
37
|
+
reverb", "90s grunge distortion" — which encodes a whole chain in three words.
|
|
38
|
+
|
|
39
|
+
On Stable Audio 3, prefix the type. `TrackType: Music, VocalType: Instrumental`
|
|
40
|
+
is the tag pair for instrumental beds and is worth setting explicitly; the
|
|
41
|
+
model otherwise decides whether to bring in a vocal.
|
|
42
|
+
|
|
43
|
+
## Stems and single instruments
|
|
44
|
+
|
|
45
|
+
Start with `TrackType: Instrument`, then the instrument, genre, mood and BPM.
|
|
46
|
+
This is the path for something that has to sit in a mix rather than be the mix.
|
|
47
|
+
Playing technique, recording environment and effects all read: "close-mic'd
|
|
48
|
+
upright bass, fingered, small wooden room, light tape saturation".
|
|
49
|
+
|
|
50
|
+
## Sound effects
|
|
51
|
+
|
|
52
|
+
`TrackType: SFX`, then three things:
|
|
53
|
+
|
|
54
|
+
1. **Source** — the object or instrument making the sound.
|
|
55
|
+
2. **Action** — how it is triggered, how long it rings, how it decays.
|
|
56
|
+
3. **Production** — mic placement, room character, processing.
|
|
57
|
+
|
|
58
|
+
> TrackType: SFX. A steel toolbox lid slamming shut on a concrete workshop
|
|
59
|
+
> floor, sharp metallic impact with a short rattling decay, close mic, small
|
|
60
|
+
> room with a hard early reflection.
|
|
61
|
+
|
|
62
|
+
Then set a short duration. Most effects are under two seconds, and a 30-second
|
|
63
|
+
request for a door slam gets you a door slam followed by 28 seconds of room.
|
|
64
|
+
|
|
65
|
+
## Duration and parameters
|
|
66
|
+
|
|
67
|
+
Match the duration to what you described. The Stable Audio 3 medium checkpoint
|
|
68
|
+
goes to 380 seconds, but a prompt describing a loop or a hit produces its best
|
|
69
|
+
result when the length fits the description; for a music bed, 60–90 seconds is
|
|
70
|
+
the range the guide recommends. On a node the field changes name —
|
|
71
|
+
`seconds_total` on fal's 2.5, `duration` on Stable Audio 3 and on Replicate's
|
|
72
|
+
`stability-ai/stable-audio-2.5` — and 2.5 defaults to 190 seconds on both,
|
|
73
|
+
which is three minutes of audio nobody asked for. `generate_music`'s
|
|
74
|
+
`duration_seconds` sets it for you.
|
|
75
|
+
|
|
76
|
+
| Parameter | What it does | Where to sit |
|
|
77
|
+
| :--- | :--- | :--- |
|
|
78
|
+
| `num_inference_steps` | Sampling steps (`steps` on Replicate) | The distilled checkpoints default to 8, and the guide says they gain little above it; raise it on a `base` checkpoint (default 50) |
|
|
79
|
+
| `guidance_scale` | Prompt adherence (fal only) | The guide says it is effective on Stable Audio 3 only on `base` (non-distilled) checkpoints, which default to 7; the distilled ones default to 1 |
|
|
80
|
+
| `negative_prompt` | Qualities to avoid (Stable Audio 3 only) | Name the artifact you hear: "clipping", "muddy low end", "vocal chops" |
|
|
81
|
+
| `enable_prompt_expansion` | LLM prompt rewrite | Off by default; useful for a three-word prompt, harmful once your prompt is already metadata |
|
|
82
|
+
| `seed` | Comparability | Pin it while you change one element at a time |
|
|
83
|
+
|
|
84
|
+
The `base` versus distilled split is the one that catches people: the guide
|
|
85
|
+
says that on a distilled Stable Audio 3 checkpoint the two dials most people
|
|
86
|
+
reach for do little, and the prompt is the whole instrument.
|
|
87
|
+
|
|
88
|
+
## Editing existing audio
|
|
89
|
+
|
|
90
|
+
**Audio-to-audio** seeds generation from a clip, and the dial has two names.
|
|
91
|
+
Stable Audio 3 takes `init_noise_level` (0.9 default): 0.1 keeps the source
|
|
92
|
+
close, 1.0 replaces it with noise and generates outright. Stable Audio 2.5
|
|
93
|
+
takes `strength` (0.8 default), which runs the same way — 0 returns the input.
|
|
94
|
+
Low keeps melody and rhythm; high strips them and keeps only broad character.
|
|
95
|
+
|
|
96
|
+
**Inpaint and outpaint** hold everything outside a masked region and regenerate
|
|
97
|
+
inside it — `mask_start_seconds` / `mask_end_seconds` on Stable Audio 3,
|
|
98
|
+
`mask_start` / `mask_end` on 2.5. Here the surrounding audio matters more than
|
|
99
|
+
the prompt: a short mask is pulled hard toward its context regardless of what
|
|
100
|
+
you wrote, and only a wide mask gives the prompt room. If an inpaint is
|
|
101
|
+
ignoring you, widen the mask before rewriting the prompt.
|
|
102
|
+
|
|
103
|
+
## Symptoms
|
|
104
|
+
|
|
105
|
+
| What went wrong | What to change |
|
|
106
|
+
| :--- | :--- |
|
|
107
|
+
| A generic bed | Rewrite as genre, instruments with character, mood, BPM |
|
|
108
|
+
| An unwanted vocal | Add `TrackType: Music, VocalType: Instrumental` to the prompt |
|
|
109
|
+
| The effect is padded with room tone | Cut the duration to the length of the actual event |
|
|
110
|
+
| Raising guidance changed nothing | You are probably on a distilled checkpoint — switch to `base` or fix the prompt |
|
|
111
|
+
| An inpaint ignores the prompt | Widen the masked region |
|
|
112
|
+
| Two takes are not comparable | Pin the seed and change one element |
|
|
113
|
+
|
|
114
|
+
Check the result with `analyze_audio`, `analyze_audio_spectrum` and
|
|
115
|
+
`detect_audio_events` rather than listening for it — a missing instrument or a
|
|
116
|
+
clipped peak shows up there faster than by ear.
|
|
117
|
+
|
|
118
|
+
## Where it lands
|
|
119
|
+
|
|
120
|
+
A bed from here is the "track of your own" build in `video-audio-continuity`:
|
|
121
|
+
one clip on its own audio track for the whole runtime, with the generated shots
|
|
122
|
+
muted under it. Because the prompt states the BPM, `beat-sync-editing` starts
|
|
123
|
+
with a grid it can predict and then confirms with `detect_audio_events` on the
|
|
124
|
+
file. A `TrackType: SFX` hit of 1–3 s is what `logo-reveal` lands a mark on.
|
|
125
|
+
`motion-graphics` carries the timeline ops that lay the clip down.
|
|
126
|
+
|
|
127
|
+
Adapted from Stability's Stable Audio 2.5 prompt guide and the Stable Audio 3
|
|
128
|
+
prompting guide:
|
|
129
|
+
https://stability.ai/implementations/stable-audio-25-prompt-guide
|
|
130
|
+
https://github.com/Stability-AI/stable-audio-3/blob/main/docs/guides/prompting.md
|