@nodaro/prompts 1.0.1

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.
Files changed (150) hide show
  1. package/LICENSE +105 -0
  2. package/README.md +27 -0
  3. package/dist/index.cjs +21240 -0
  4. package/dist/index.cjs.map +1 -0
  5. package/dist/index.d.cts +3599 -0
  6. package/dist/index.d.ts +3599 -0
  7. package/dist/index.js +20854 -0
  8. package/dist/index.js.map +1 -0
  9. package/package.json +49 -0
  10. package/src/__tests__/__snapshots__/prompt-builder-segments.test.ts.snap +65 -0
  11. package/src/__tests__/action-fx.test.ts +155 -0
  12. package/src/__tests__/apply-picker-json.test.ts +50 -0
  13. package/src/__tests__/assemble-image-input.test.ts +248 -0
  14. package/src/__tests__/assemble-suno-input.test.ts +283 -0
  15. package/src/__tests__/brand-tokens.test.ts +81 -0
  16. package/src/__tests__/build-image-prompt-element-injection.test.ts +118 -0
  17. package/src/__tests__/build-image-prompt-hybrid-format.test.ts +131 -0
  18. package/src/__tests__/build-image-prompt-mentions.test.ts +809 -0
  19. package/src/__tests__/build-image-prompt-reference-cap.test.ts +57 -0
  20. package/src/__tests__/build-image-prompt-reference-numbering.test.ts +237 -0
  21. package/src/__tests__/build-image-prompt-reference-order.test.ts +313 -0
  22. package/src/__tests__/camera-motions-from-connections.test.ts +71 -0
  23. package/src/__tests__/catalog-gapfill.test.ts +53 -0
  24. package/src/__tests__/character-convergence-image.test.ts +217 -0
  25. package/src/__tests__/character-default-role-image.test.ts +167 -0
  26. package/src/__tests__/character-default-role-video.test.ts +168 -0
  27. package/src/__tests__/character-default-role.test.ts +70 -0
  28. package/src/__tests__/character-fx.test.ts +200 -0
  29. package/src/__tests__/entity-prompts-location.test.ts +97 -0
  30. package/src/__tests__/entity-prompts.test.ts +240 -0
  31. package/src/__tests__/expand-extra-refs-role.test.ts +50 -0
  32. package/src/__tests__/factory-presets.test.ts +1045 -0
  33. package/src/__tests__/factory-snippets.test.ts +68 -0
  34. package/src/__tests__/framing-multi.test.ts +71 -0
  35. package/src/__tests__/framing-vantage.test.ts +39 -0
  36. package/src/__tests__/i18n-entry-completeness.test.ts +269 -0
  37. package/src/__tests__/identity-lock.test.ts +46 -0
  38. package/src/__tests__/instrumentation.test.ts +68 -0
  39. package/src/__tests__/lighting-multi.test.ts +68 -0
  40. package/src/__tests__/location-convergence-image.test.ts +124 -0
  41. package/src/__tests__/mention-lock-flag.test.ts +499 -0
  42. package/src/__tests__/multi-picker-spec.test.ts +71 -0
  43. package/src/__tests__/music-genre.test.ts +103 -0
  44. package/src/__tests__/music-mood.test.ts +87 -0
  45. package/src/__tests__/object-creature-convergence-image.test.ts +105 -0
  46. package/src/__tests__/parameter-prompt-hint.test.ts +270 -0
  47. package/src/__tests__/parameter-registry-sync.test.ts +243 -0
  48. package/src/__tests__/person-age.test.ts +80 -0
  49. package/src/__tests__/person-analyzer-invariants.test.ts +47 -0
  50. package/src/__tests__/person-body-axes.test.ts +67 -0
  51. package/src/__tests__/person-facial-geometry.test.ts +156 -0
  52. package/src/__tests__/person-regional-aesthetic.test.ts +161 -0
  53. package/src/__tests__/person-sections.test.ts +18 -0
  54. package/src/__tests__/picker-analyzer-registry.test.ts +108 -0
  55. package/src/__tests__/picker-catalogs-project.test.ts +85 -0
  56. package/src/__tests__/picker-catalogs.test.ts +53 -0
  57. package/src/__tests__/picker-limits.test.ts +20 -0
  58. package/src/__tests__/prompt-builder-segments.test.ts +183 -0
  59. package/src/__tests__/prompt-builder-structured-fields.test.ts +40 -0
  60. package/src/__tests__/prompt-builder.test.ts +1773 -0
  61. package/src/__tests__/prompt-wizard-categories.test.ts +31 -0
  62. package/src/__tests__/provider-prompt-doctrine.test.ts +49 -0
  63. package/src/__tests__/resolve-prompt-append.test.ts +58 -0
  64. package/src/__tests__/resolve-prompt.test.ts +44 -0
  65. package/src/__tests__/role-picker-shared.test.ts +208 -0
  66. package/src/__tests__/seedance-2-inputs.test.ts +173 -0
  67. package/src/__tests__/seedance-extend.test.ts +44 -0
  68. package/src/__tests__/sound-aggregator.test.ts +350 -0
  69. package/src/__tests__/style-presets.test.ts +34 -0
  70. package/src/__tests__/temporal-multi.test.ts +74 -0
  71. package/src/__tests__/transitions.test.ts +213 -0
  72. package/src/__tests__/video-reference-features.test.ts +41 -0
  73. package/src/__tests__/video-reference-leading-refs.test.ts +90 -0
  74. package/src/__tests__/video-reference-resolver.test.ts +233 -0
  75. package/src/__tests__/video-reference-roles.test.ts +96 -0
  76. package/src/__tests__/voice-character.test.ts +48 -0
  77. package/src/__tests__/voice-delivery.test.ts +41 -0
  78. package/src/__tests__/wardrobe.test.ts +25 -0
  79. package/src/action-fx.ts +255 -0
  80. package/src/aesthetic.ts +435 -0
  81. package/src/assemble-image-input.ts +236 -0
  82. package/src/assemble-suno-input.ts +147 -0
  83. package/src/atmosphere.ts +104 -0
  84. package/src/backdrop.ts +131 -0
  85. package/src/brand-tokens.ts +154 -0
  86. package/src/camera-format.ts +76 -0
  87. package/src/camera-motions.ts +615 -0
  88. package/src/character-fx.ts +274 -0
  89. package/src/color-look.ts +103 -0
  90. package/src/composition-effects.ts +67 -0
  91. package/src/entity-prompts.ts +231 -0
  92. package/src/era.ts +292 -0
  93. package/src/exposure-settings.ts +142 -0
  94. package/src/factory-presets/generate-image.ts +1644 -0
  95. package/src/factory-presets/generate-video.ts +1116 -0
  96. package/src/factory-presets/index.ts +46 -0
  97. package/src/factory-presets/lottie-overlay.ts +166 -0
  98. package/src/factory-presets/motion-graphics.ts +350 -0
  99. package/src/factory-presets/music.ts +734 -0
  100. package/src/factory-presets/sfx.ts +136 -0
  101. package/src/factory-presets/shared-image.ts +207 -0
  102. package/src/factory-presets/switchx.ts +65 -0
  103. package/src/factory-presets/text.ts +292 -0
  104. package/src/factory-presets/types.ts +51 -0
  105. package/src/factory-presets/video-edit.ts +136 -0
  106. package/src/factory-presets/voice.ts +172 -0
  107. package/src/factory-presets.ts +2 -0
  108. package/src/factory-snippets/catalog.ts +105 -0
  109. package/src/factory-snippets/index.ts +16 -0
  110. package/src/factory-snippets/types.ts +33 -0
  111. package/src/framing.ts +634 -0
  112. package/src/held-prop.ts +187 -0
  113. package/src/identity-lock.ts +213 -0
  114. package/src/index.ts +66 -0
  115. package/src/instrumentation.ts +337 -0
  116. package/src/lens.ts +59 -0
  117. package/src/lighting.ts +229 -0
  118. package/src/loop-subject.ts +276 -0
  119. package/src/materials.ts +184 -0
  120. package/src/mood.ts +186 -0
  121. package/src/music-genre.ts +662 -0
  122. package/src/music-mood.ts +137 -0
  123. package/src/object-asset-presets.ts +81 -0
  124. package/src/parameter-prompt-hint.ts +281 -0
  125. package/src/person.ts +1368 -0
  126. package/src/photo-genre.ts +151 -0
  127. package/src/photographer.ts +612 -0
  128. package/src/picker-analyzer-registry.ts +374 -0
  129. package/src/picker-catalogs.ts +858 -0
  130. package/src/pose.ts +246 -0
  131. package/src/post-process-effects.ts +94 -0
  132. package/src/prompt-builder-structured-fields.ts +116 -0
  133. package/src/prompt-builder.ts +2964 -0
  134. package/src/prompt-templates.ts +50 -0
  135. package/src/prompt-wizard-categories.ts +334 -0
  136. package/src/provider-prompt-doctrine.ts +85 -0
  137. package/src/render-quality.ts +89 -0
  138. package/src/resolve-prompt.ts +120 -0
  139. package/src/seedance-2-inputs.ts +100 -0
  140. package/src/setting.ts +130 -0
  141. package/src/sound-aggregator.ts +241 -0
  142. package/src/style-presets.ts +162 -0
  143. package/src/style.ts +99 -0
  144. package/src/styling.ts +585 -0
  145. package/src/temporal.ts +151 -0
  146. package/src/transitions.ts +333 -0
  147. package/src/video-reference-resolver.ts +823 -0
  148. package/src/voice-character.ts +237 -0
  149. package/src/voice-delivery.ts +142 -0
  150. package/src/wardrobe.ts +179 -0
@@ -0,0 +1,734 @@
1
+ import type { FactoryPreset } from "./types.js"
2
+
3
+ export const GENERATE_MUSIC_PRESETS: readonly FactoryPreset[] = [
4
+ // ── By Use-Case ──────────────────────────────────────────────────────────
5
+ {
6
+ id: "generate-music/lofi-study",
7
+ name: "Lo-fi Study Beat",
8
+ description: "Mellow focus beat.",
9
+ group: "By Use-Case",
10
+ data: {
11
+ genre: "lofi",
12
+ mood: "chill, relaxed, nostalgic",
13
+ instrumental: true,
14
+ duration: 30,
15
+ prompt: "lo-fi hip-hop study beat, mellow Rhodes piano, vinyl crackle, soft boom-bap drums, around 75 BPM",
16
+ },
17
+ },
18
+ {
19
+ id: "generate-music/podcast-intro",
20
+ name: "Podcast Intro",
21
+ description: "Short energetic opener.",
22
+ group: "By Use-Case",
23
+ data: {
24
+ genre: "electronic",
25
+ mood: "upbeat, confident",
26
+ instrumental: true,
27
+ duration: 15,
28
+ prompt: "short energetic podcast intro, modern and catchy synth hook, clean punchy beat",
29
+ },
30
+ },
31
+ {
32
+ id: "generate-music/cinematic-trailer",
33
+ name: "Cinematic Trailer",
34
+ description: "Epic orchestral build.",
35
+ group: "By Use-Case",
36
+ data: {
37
+ genre: "cinematic",
38
+ mood: "epic, dramatic, intense",
39
+ instrumental: true,
40
+ duration: 30,
41
+ prompt: "epic cinematic trailer cue, full orchestra, taiko drums, brass swells, rising tension into a powerful hit",
42
+ },
43
+ },
44
+ {
45
+ id: "generate-music/corporate-upbeat",
46
+ name: "Corporate Upbeat",
47
+ description: "Bright, motivational bed.",
48
+ group: "By Use-Case",
49
+ data: {
50
+ genre: "pop",
51
+ mood: "uplifting, optimistic, motivational",
52
+ instrumental: true,
53
+ duration: 30,
54
+ prompt: "upbeat corporate background music, bright piano, claps, positive and clean, around 120 BPM",
55
+ },
56
+ },
57
+ {
58
+ id: "generate-music/vlog-background",
59
+ name: "Vlog Background",
60
+ description: "Feel-good, unobtrusive.",
61
+ group: "By Use-Case",
62
+ data: {
63
+ genre: "pop",
64
+ mood: "happy, light, breezy",
65
+ instrumental: true,
66
+ duration: 30,
67
+ prompt: "light feel-good vlog background, acoustic guitar, claps, warm and unobtrusive",
68
+ },
69
+ },
70
+ {
71
+ id: "generate-music/ambient-loop",
72
+ name: "Ambient Loop",
73
+ description: "Calm evolving soundscape.",
74
+ group: "By Use-Case",
75
+ data: {
76
+ genre: "ambient-genre",
77
+ mood: "calm, peaceful, serene",
78
+ instrumental: true,
79
+ duration: 30,
80
+ prompt: "ambient soundscape, soft evolving synth pads, gentle textures, meditative and seamless",
81
+ },
82
+ },
83
+ {
84
+ id: "generate-music/edm-drop",
85
+ name: "EDM Drop",
86
+ description: "Festival build and drop.",
87
+ group: "By Use-Case",
88
+ data: {
89
+ genre: "electronic",
90
+ mood: "euphoric, energetic",
91
+ instrumental: true,
92
+ duration: 30,
93
+ prompt: "festival EDM, big synth leads, sidechain bass, build-up and a powerful drop, around 128 BPM",
94
+ },
95
+ },
96
+ {
97
+ id: "generate-music/game-loop",
98
+ name: "Game Loop",
99
+ description: "Catchy adventurous loop.",
100
+ group: "By Use-Case",
101
+ data: {
102
+ genre: "video-game",
103
+ mood: "playful, adventurous",
104
+ instrumental: true,
105
+ duration: 30,
106
+ prompt: "looping video game background music, chiptune-inspired, catchy melody, energetic",
107
+ },
108
+ },
109
+
110
+ // ── By Mood / Score (instrumental scoring beds) ──────────────────────────
111
+ {
112
+ id: "generate-music/score-uplifting",
113
+ name: "Uplifting",
114
+ description: "Hopeful, building score.",
115
+ group: "By Mood / Score",
116
+ data: {
117
+ genre: "cinematic",
118
+ mood: "uplifting, hopeful, inspiring",
119
+ instrumental: true,
120
+ duration: 30,
121
+ prompt: "uplifting inspirational orchestral score, building piano and strings, hopeful crescendo",
122
+ },
123
+ },
124
+ {
125
+ id: "generate-music/score-emotional",
126
+ name: "Emotional",
127
+ description: "Tender, moving piano.",
128
+ group: "By Mood / Score",
129
+ data: {
130
+ genre: "cinematic",
131
+ mood: "emotional, melancholic, tender",
132
+ instrumental: true,
133
+ duration: 30,
134
+ prompt: "emotional piano score, soft strings, intimate and moving, slow tempo",
135
+ },
136
+ },
137
+ {
138
+ id: "generate-music/score-tense",
139
+ name: "Tense / Suspense",
140
+ description: "Pulsing underscore.",
141
+ group: "By Mood / Score",
142
+ data: {
143
+ genre: "cinematic",
144
+ mood: "tense, suspenseful, dark",
145
+ instrumental: true,
146
+ duration: 30,
147
+ prompt: "suspenseful underscore, pulsing low strings, ticking tension, ominous and building",
148
+ },
149
+ },
150
+ {
151
+ id: "generate-music/score-epic",
152
+ name: "Epic / Heroic",
153
+ description: "Triumphant, powerful.",
154
+ group: "By Mood / Score",
155
+ data: {
156
+ genre: "cinematic",
157
+ mood: "epic, heroic, powerful",
158
+ instrumental: true,
159
+ duration: 30,
160
+ prompt: "epic heroic orchestral score, soaring brass, pounding drums, triumphant",
161
+ },
162
+ },
163
+ {
164
+ id: "generate-music/score-happy",
165
+ name: "Happy / Playful",
166
+ description: "Cheerful and light.",
167
+ group: "By Mood / Score",
168
+ data: {
169
+ genre: "pop",
170
+ mood: "happy, playful, quirky",
171
+ instrumental: true,
172
+ duration: 30,
173
+ prompt: "happy playful tune, ukulele, whistling, claps, cheerful and bouncy",
174
+ },
175
+ },
176
+ {
177
+ id: "generate-music/score-dark",
178
+ name: "Dark / Brooding",
179
+ description: "Ominous atmosphere.",
180
+ group: "By Mood / Score",
181
+ data: {
182
+ genre: "electronic",
183
+ mood: "dark, brooding, ominous",
184
+ instrumental: true,
185
+ duration: 30,
186
+ prompt: "dark brooding atmosphere, deep drones, distant percussion, cinematic dread",
187
+ },
188
+ },
189
+ {
190
+ id: "generate-music/score-romantic",
191
+ name: "Romantic",
192
+ description: "Warm, heartfelt.",
193
+ group: "By Mood / Score",
194
+ data: {
195
+ genre: "classical",
196
+ mood: "romantic, warm, tender",
197
+ instrumental: true,
198
+ duration: 30,
199
+ prompt: "romantic score, warm strings and piano, gentle and heartfelt",
200
+ },
201
+ },
202
+
203
+ // ── By Genre (starting points) ───────────────────────────────────────────
204
+ {
205
+ id: "generate-music/ambient-cinematic",
206
+ name: "Ambient Cinematic",
207
+ description: "Atmospheric instrumental bed.",
208
+ group: "By Genre",
209
+ data: {
210
+ genre: "cinematic",
211
+ mood: "atmospheric",
212
+ instrumental: true,
213
+ duration: 30,
214
+ prompt: "atmospheric cinematic ambient bed, evolving pads, subtle swells",
215
+ },
216
+ },
217
+ {
218
+ id: "generate-music/genre-lofi",
219
+ name: "Lo-fi Hip-Hop",
220
+ description: "Laid-back jazzy beat.",
221
+ group: "By Genre",
222
+ data: {
223
+ genre: "lofi",
224
+ mood: "chill, mellow",
225
+ instrumental: true,
226
+ duration: 30,
227
+ prompt: "lo-fi hip-hop, jazzy chords, vinyl warmth, laid-back groove",
228
+ },
229
+ },
230
+ {
231
+ id: "generate-music/genre-edm",
232
+ name: "EDM / House",
233
+ description: "Club-energy four-on-the-floor.",
234
+ group: "By Genre",
235
+ data: {
236
+ genre: "electronic",
237
+ mood: "energetic, euphoric",
238
+ instrumental: true,
239
+ duration: 30,
240
+ prompt: "house / EDM, four-on-the-floor beat, catchy plucky synths, club energy",
241
+ },
242
+ },
243
+ {
244
+ id: "generate-music/genre-rock",
245
+ name: "Rock",
246
+ description: "Driving electric guitars.",
247
+ group: "By Genre",
248
+ data: {
249
+ genre: "rock",
250
+ mood: "energetic, driving",
251
+ instrumental: true,
252
+ duration: 30,
253
+ prompt: "energetic rock instrumental, distorted electric guitars, driving drums, powerful",
254
+ },
255
+ },
256
+ {
257
+ id: "generate-music/genre-jazz",
258
+ name: "Smooth Jazz",
259
+ description: "Late-night sax and brushes.",
260
+ group: "By Genre",
261
+ data: {
262
+ genre: "jazz",
263
+ mood: "smooth, relaxed, sophisticated",
264
+ instrumental: true,
265
+ duration: 30,
266
+ prompt: "smooth jazz, warm saxophone, brushed drums, walking bass, late-night mood",
267
+ },
268
+ },
269
+ {
270
+ id: "generate-music/genre-orchestral",
271
+ name: "Orchestral",
272
+ description: "Grand cinematic ensemble.",
273
+ group: "By Genre",
274
+ data: {
275
+ genre: "classical",
276
+ mood: "grand, cinematic",
277
+ instrumental: true,
278
+ duration: 30,
279
+ prompt: "full orchestral piece, sweeping strings, brass and woodwinds, dramatic and rich",
280
+ },
281
+ },
282
+ {
283
+ id: "generate-music/genre-synthwave",
284
+ name: "Synthwave / Retro",
285
+ description: "80s neon nostalgia.",
286
+ group: "By Genre",
287
+ data: {
288
+ genre: "electronic",
289
+ mood: "nostalgic, retro, cool",
290
+ instrumental: true,
291
+ duration: 30,
292
+ prompt: "80s synthwave, retro analog synths, pulsing bass, neon nostalgia, around 110 BPM",
293
+ },
294
+ },
295
+ {
296
+ id: "generate-music/genre-funk",
297
+ name: "Funk / Soul",
298
+ description: "Groovy, danceable.",
299
+ group: "By Genre",
300
+ data: {
301
+ genre: "funk",
302
+ mood: "groovy, fun",
303
+ instrumental: true,
304
+ duration: 30,
305
+ prompt: "funky groove, slap bass, wah guitar, tight horns, danceable",
306
+ },
307
+ },
308
+ // ── More By Use-Case ─────────────────────────────────────────────────────
309
+ {
310
+ id: "generate-music/trailer-riser",
311
+ name: "Trailer Riser / Braam",
312
+ description: "Pure rising tension hit.",
313
+ group: "By Use-Case",
314
+ data: { genre: "cinematic", mood: "tense, building", instrumental: true, duration: 15, prompt: "cinematic trailer riser and braam hit, rising tension whoosh into a deep impact, no melody" },
315
+ },
316
+ {
317
+ id: "generate-music/calm-corporate",
318
+ name: "Calm Corporate / Tech",
319
+ description: "Soft, professional bed.",
320
+ group: "By Use-Case",
321
+ data: { genre: "electronic", mood: "calm, professional", instrumental: true, duration: 30, prompt: "calm corporate tech bed, soft synth pads, gentle pulse, steady and unobtrusive" },
322
+ },
323
+ {
324
+ id: "generate-music/holiday",
325
+ name: "Holiday / Festive",
326
+ description: "Warm seasonal cheer.",
327
+ group: "By Use-Case",
328
+ data: { genre: "holiday", mood: "festive, warm, cheerful", instrumental: true, duration: 30, prompt: "festive holiday music, sleigh bells, warm orchestration, cheerful and cozy" },
329
+ },
330
+ {
331
+ id: "generate-music/kids",
332
+ name: "Kids / Children's",
333
+ description: "Playful and simple.",
334
+ group: "By Use-Case",
335
+ data: { genre: "children", mood: "playful, happy", instrumental: true, duration: 30, prompt: "playful children's music, simple cheerful melody, xylophone and ukulele, bouncy and friendly" },
336
+ },
337
+ {
338
+ id: "generate-music/meditation-spa",
339
+ name: "Meditation / Spa",
340
+ description: "Healing singing bowls.",
341
+ group: "By Use-Case",
342
+ data: { genre: "ambient-genre", mood: "serene, healing", instrumental: true, duration: 30, prompt: "meditation and spa music, singing bowls, soft drones, gentle and calming, very slow" },
343
+ },
344
+ {
345
+ id: "generate-music/workout",
346
+ name: "Workout / Gym",
347
+ description: "High-energy motivation.",
348
+ group: "By Use-Case",
349
+ data: { genre: "electronic", mood: "energetic, motivational", instrumental: true, duration: 30, prompt: "high-energy workout music, driving beat, motivational synths, around 140 BPM" },
350
+ },
351
+ // ── More By Genre ────────────────────────────────────────────────────────
352
+ {
353
+ id: "generate-music/trap",
354
+ name: "Trap Beat",
355
+ description: "Booming 808s, dark.",
356
+ group: "By Genre",
357
+ data: { genre: "hip-hop", mood: "dark, hard", instrumental: true, duration: 30, prompt: "trap beat, booming 808s, crisp rapid hi-hats, dark and moody" },
358
+ },
359
+ {
360
+ id: "generate-music/dnb",
361
+ name: "Drum & Bass",
362
+ description: "Fast breakbeats, deep bass.",
363
+ group: "By Genre",
364
+ data: { genre: "electronic", mood: "fast, energetic", instrumental: true, duration: 30, prompt: "drum and bass, fast breakbeats, deep rolling bassline, energetic, around 174 BPM" },
365
+ },
366
+ {
367
+ id: "generate-music/afrobeats",
368
+ name: "Afrobeats",
369
+ description: "Warm syncopated groove.",
370
+ group: "By Genre",
371
+ data: { genre: "afrobeats", mood: "groovy, warm", instrumental: true, duration: 30, prompt: "afrobeats, syncopated percussion, warm bass groove, bright melodies, danceable" },
372
+ },
373
+ {
374
+ id: "generate-music/country",
375
+ name: "Country / Americana",
376
+ description: "Acoustic, heartfelt.",
377
+ group: "By Genre",
378
+ data: { genre: "country", mood: "warm, heartfelt", instrumental: true, duration: 30, prompt: "country americana, acoustic and slide guitar, warm storytelling feel" },
379
+ },
380
+ {
381
+ id: "generate-music/phonk",
382
+ name: "Phonk",
383
+ description: "Dark drift-phonk for reels.",
384
+ group: "By Genre",
385
+ data: { genre: "hip-hop", mood: "dark, aggressive", instrumental: true, duration: 30, prompt: "drift phonk, distorted 808 cowbell, dark menacing beat, lo-fi grit" },
386
+ },
387
+ {
388
+ id: "generate-music/reggae",
389
+ name: "Reggae / Dub",
390
+ description: "Laid-back island groove.",
391
+ group: "By Genre",
392
+ data: { genre: "reggae", mood: "laid-back, sunny", instrumental: true, duration: 30, prompt: "reggae dub, off-beat skank guitar, deep dub bassline, relaxed island groove" },
393
+ },
394
+ ]
395
+
396
+ export const SUNO_GENERATE_PRESETS: readonly FactoryPreset[] = [
397
+ // ── By Use-Case ──────────────────────────────────────────────────────────
398
+ {
399
+ id: "suno-generate/lofi-study",
400
+ name: "Lo-fi Study",
401
+ description: "Mellow focus beat.",
402
+ group: "By Use-Case",
403
+ data: {
404
+ model: "V5_5",
405
+ instrumental: true,
406
+ style: "lo-fi hip-hop, chill and mellow, jazzy Rhodes chords, vinyl crackle, soft boom-bap drums, Andante 80 BPM, instrumental",
407
+ },
408
+ },
409
+ {
410
+ id: "suno-generate/podcast-intro",
411
+ name: "Podcast Intro",
412
+ description: "Short confident opener.",
413
+ group: "By Use-Case",
414
+ data: {
415
+ model: "V5_5",
416
+ instrumental: true,
417
+ style: "modern podcast intro, upbeat and confident, catchy synth hook, punchy beat, Allegro, instrumental",
418
+ },
419
+ },
420
+ {
421
+ id: "suno-generate/cinematic-trailer",
422
+ name: "Cinematic Trailer",
423
+ description: "Epic orchestral build.",
424
+ group: "By Use-Case",
425
+ data: {
426
+ model: "V5_5",
427
+ instrumental: true,
428
+ style: "epic cinematic trailer, dramatic and intense, full orchestra, taiko drums, brass swells, crescendo into a powerful hit, instrumental",
429
+ },
430
+ },
431
+ {
432
+ id: "suno-generate/corporate-upbeat",
433
+ name: "Corporate Upbeat",
434
+ description: "Bright, motivational.",
435
+ group: "By Use-Case",
436
+ data: {
437
+ model: "V5_5",
438
+ instrumental: true,
439
+ style: "upbeat corporate, optimistic and motivational, bright piano, claps, clean electronic beat, Allegro 120 BPM, instrumental",
440
+ },
441
+ },
442
+ {
443
+ id: "suno-generate/vlog-background",
444
+ name: "Vlog Background",
445
+ description: "Feel-good acoustic bed.",
446
+ group: "By Use-Case",
447
+ data: {
448
+ model: "V5_5",
449
+ instrumental: true,
450
+ style: "feel-good vlog background, light and breezy, acoustic guitar, claps, warm and unobtrusive, Andante, instrumental",
451
+ },
452
+ },
453
+ {
454
+ id: "suno-generate/ambient-loop",
455
+ name: "Ambient Loop",
456
+ description: "Calm meditative pads.",
457
+ group: "By Use-Case",
458
+ data: {
459
+ model: "V5_5",
460
+ instrumental: true,
461
+ style: "ambient soundscape, calm and meditative, soft evolving synth pads, gentle textures, reverb-heavy, Adagio, instrumental",
462
+ },
463
+ },
464
+ {
465
+ id: "suno-generate/edm-drop",
466
+ name: "EDM Drop",
467
+ description: "Festival build and drop.",
468
+ group: "By Use-Case",
469
+ data: {
470
+ model: "V5_5",
471
+ instrumental: true,
472
+ style: "festival EDM, euphoric and energetic, big supersaw leads, sidechain bass, build-up and powerful drop, Allegro 128 BPM, instrumental",
473
+ },
474
+ },
475
+ {
476
+ id: "suno-generate/game-chiptune",
477
+ name: "Game Chiptune",
478
+ description: "Playful 8-bit loop.",
479
+ group: "By Use-Case",
480
+ data: {
481
+ model: "V5_5",
482
+ instrumental: true,
483
+ style: "video game chiptune, playful and adventurous, 8-bit synths, catchy melody, energetic, instrumental",
484
+ },
485
+ },
486
+
487
+ // ── By Genre ─────────────────────────────────────────────────────────────
488
+ {
489
+ id: "suno-generate/genre-lofi",
490
+ name: "Lo-fi Hip-Hop",
491
+ description: "Dusty laid-back groove.",
492
+ group: "By Genre",
493
+ data: {
494
+ model: "V5_5",
495
+ instrumental: true,
496
+ style: "lo-fi hip-hop, jazzy and mellow, dusty Rhodes chords, vinyl warmth, laid-back boom-bap groove, instrumental",
497
+ },
498
+ },
499
+ {
500
+ id: "suno-generate/genre-house",
501
+ name: "EDM / House",
502
+ description: "Club-energy four-on-the-floor.",
503
+ group: "By Genre",
504
+ data: {
505
+ model: "V5_5",
506
+ instrumental: true,
507
+ style: "house EDM, energetic and euphoric, four-on-the-floor beat, catchy plucky synths, club energy, Allegro 124 BPM, instrumental",
508
+ },
509
+ },
510
+ {
511
+ id: "suno-generate/genre-rock",
512
+ name: "Rock",
513
+ description: "Driving anthemic guitars.",
514
+ group: "By Genre",
515
+ data: {
516
+ model: "V5_5",
517
+ instrumental: true,
518
+ style: "rock anthem, energetic and driving, distorted electric guitars, pounding drums, anthemic, instrumental",
519
+ },
520
+ },
521
+ {
522
+ id: "suno-generate/genre-jazz",
523
+ name: "Smooth Jazz",
524
+ description: "Late-night sophistication.",
525
+ group: "By Genre",
526
+ data: {
527
+ model: "V5_5",
528
+ instrumental: true,
529
+ style: "smooth jazz, relaxed and sophisticated, warm saxophone, brushed drums, walking bass, late-night, instrumental",
530
+ },
531
+ },
532
+ {
533
+ id: "suno-generate/genre-ambient",
534
+ name: "Ambient",
535
+ description: "Spacious and serene.",
536
+ group: "By Genre",
537
+ data: {
538
+ model: "V5_5",
539
+ instrumental: true,
540
+ style: "ambient, serene and spacious, lush synth pads, field-recording textures, slow and meditative, instrumental",
541
+ },
542
+ },
543
+ {
544
+ id: "suno-generate/genre-orchestral",
545
+ name: "Orchestral",
546
+ description: "Grand cinematic ensemble.",
547
+ group: "By Genre",
548
+ data: {
549
+ model: "V5_5",
550
+ instrumental: true,
551
+ style: "epic orchestral, grand and cinematic, sweeping strings, brass, woodwinds, timpani, dramatic, instrumental",
552
+ },
553
+ },
554
+ {
555
+ id: "suno-generate/genre-synthwave",
556
+ name: "Synthwave / Retro",
557
+ description: "80s neon nostalgia.",
558
+ group: "By Genre",
559
+ data: {
560
+ model: "V5_5",
561
+ instrumental: true,
562
+ style: "80s synthwave, nostalgic and cool, retro analog synths, pulsing bass, gated drums, neon, Andante 110 BPM, instrumental",
563
+ },
564
+ },
565
+ {
566
+ id: "suno-generate/genre-funk",
567
+ name: "Funk / Soul",
568
+ description: "Groovy and danceable.",
569
+ group: "By Genre",
570
+ data: {
571
+ model: "V5_5",
572
+ instrumental: true,
573
+ style: "funk and soul, groovy and fun, slap bass, wah guitar, tight horn section, danceable, instrumental",
574
+ },
575
+ },
576
+
577
+ // ── Vocals & Songs (add your lyrics) ─────────────────────────────────────
578
+ {
579
+ id: "suno-generate/song-pop",
580
+ name: "Pop Song",
581
+ description: "Catchy vocal pop — add lyrics.",
582
+ group: "Vocals & Songs",
583
+ data: {
584
+ model: "V5_5",
585
+ instrumental: false,
586
+ style: "upbeat pop, catchy and bright, shimmering synths, four-on-the-floor, female vocals, Allegro 120 BPM, verse-chorus-verse with bridge",
587
+ },
588
+ },
589
+ {
590
+ id: "suno-generate/song-rap",
591
+ name: "Rap / Hip-Hop",
592
+ description: "Hard-hitting verses — add bars.",
593
+ group: "Vocals & Songs",
594
+ data: {
595
+ model: "V5_5",
596
+ instrumental: false,
597
+ style: "modern hip-hop, confident, hard-hitting 808s, trap hi-hats, male rap vocals, verse-hook-verse",
598
+ },
599
+ },
600
+ {
601
+ id: "suno-generate/song-ballad",
602
+ name: "Emotional Ballad",
603
+ description: "Heartfelt vocals — add lyrics.",
604
+ group: "Vocals & Songs",
605
+ data: {
606
+ model: "V5_5",
607
+ instrumental: false,
608
+ style: "emotional ballad, tender and heartfelt, piano and strings, soulful vocals, Adagio, verse-chorus with a big bridge",
609
+ },
610
+ },
611
+ {
612
+ id: "suno-generate/song-rock",
613
+ name: "Rock Anthem (vocal)",
614
+ description: "Soaring chorus — add lyrics.",
615
+ group: "Vocals & Songs",
616
+ data: {
617
+ model: "V5_5",
618
+ instrumental: false,
619
+ style: "anthemic rock, powerful, driving guitars, big drums, male vocals, soaring chorus, verse-pre-chorus-chorus",
620
+ },
621
+ },
622
+ {
623
+ id: "suno-generate/song-acoustic",
624
+ name: "Acoustic Singer-Songwriter",
625
+ description: "Warm and intimate — add lyrics.",
626
+ group: "Vocals & Songs",
627
+ data: {
628
+ model: "V5_5",
629
+ instrumental: false,
630
+ style: "acoustic singer-songwriter, warm and intimate, fingerpicked guitar, soft vocals, Andante, verse-chorus",
631
+ },
632
+ },
633
+ // ── More By Use-Case ─────────────────────────────────────────────────────
634
+ {
635
+ id: "suno-generate/trailer-riser",
636
+ name: "Trailer Riser / Braam",
637
+ description: "Pure rising tension hit.",
638
+ group: "By Use-Case",
639
+ data: { model: "V5_5", instrumental: true, style: "cinematic trailer riser and braam, tense and building, rising whoosh into a deep brass impact, no melody, instrumental" },
640
+ },
641
+ {
642
+ id: "suno-generate/calm-corporate",
643
+ name: "Calm Corporate / Tech",
644
+ description: "Soft, professional bed.",
645
+ group: "By Use-Case",
646
+ data: { model: "V5_5", instrumental: true, style: "calm corporate tech, professional and clean, soft synth pads, gentle pulse, Andante, instrumental" },
647
+ },
648
+ {
649
+ id: "suno-generate/holiday",
650
+ name: "Holiday / Festive",
651
+ description: "Warm seasonal cheer.",
652
+ group: "By Use-Case",
653
+ data: { model: "V5_5", instrumental: true, style: "festive holiday music, warm and cheerful, sleigh bells, warm orchestration, cozy, instrumental" },
654
+ },
655
+ {
656
+ id: "suno-generate/kids",
657
+ name: "Kids / Children's",
658
+ description: "Playful and simple.",
659
+ group: "By Use-Case",
660
+ data: { model: "V5_5", instrumental: true, style: "children's music, playful and happy, simple cheerful melody, xylophone and ukulele, bouncy, instrumental" },
661
+ },
662
+ {
663
+ id: "suno-generate/meditation-spa",
664
+ name: "Meditation / Spa",
665
+ description: "Healing singing bowls.",
666
+ group: "By Use-Case",
667
+ data: { model: "V5_5", instrumental: true, style: "meditation and spa, serene and healing, singing bowls, soft drones, Adagio, reverb-heavy, instrumental" },
668
+ },
669
+ {
670
+ id: "suno-generate/workout",
671
+ name: "Workout / Gym",
672
+ description: "High-energy motivation.",
673
+ group: "By Use-Case",
674
+ data: { model: "V5_5", instrumental: true, style: "high-energy workout, motivational and driving, pumping electronic beat, big synths, Allegro 140 BPM, instrumental" },
675
+ },
676
+ // ── More By Genre ────────────────────────────────────────────────────────
677
+ {
678
+ id: "suno-generate/trap",
679
+ name: "Trap Beat",
680
+ description: "Booming 808s, dark.",
681
+ group: "By Genre",
682
+ data: { model: "V5_5", instrumental: true, style: "trap beat, dark and hard, booming 808s, crisp rapid hi-hats, moody, instrumental" },
683
+ },
684
+ {
685
+ id: "suno-generate/dnb",
686
+ name: "Drum & Bass",
687
+ description: "Fast breakbeats, deep bass.",
688
+ group: "By Genre",
689
+ data: { model: "V5_5", instrumental: true, style: "drum and bass, fast and energetic, breakbeats, deep rolling bassline, Presto 174 BPM, instrumental" },
690
+ },
691
+ {
692
+ id: "suno-generate/afrobeats",
693
+ name: "Afrobeats",
694
+ description: "Warm syncopated groove.",
695
+ group: "By Genre",
696
+ data: { model: "V5_5", instrumental: true, style: "afrobeats, groovy and warm, syncopated percussion, warm bass, bright melodies, danceable, instrumental" },
697
+ },
698
+ {
699
+ id: "suno-generate/country",
700
+ name: "Country / Americana",
701
+ description: "Acoustic, heartfelt.",
702
+ group: "By Genre",
703
+ data: { model: "V5_5", instrumental: true, style: "country americana, warm and heartfelt, acoustic and slide guitar, storytelling feel, instrumental" },
704
+ },
705
+ {
706
+ id: "suno-generate/phonk",
707
+ name: "Phonk",
708
+ description: "Dark drift-phonk for reels.",
709
+ group: "By Genre",
710
+ data: { model: "V5_5", instrumental: true, style: "drift phonk, dark and aggressive, distorted 808 cowbell, menacing beat, lo-fi grit, instrumental" },
711
+ },
712
+ {
713
+ id: "suno-generate/reggae",
714
+ name: "Reggae / Dub",
715
+ description: "Laid-back island groove.",
716
+ group: "By Genre",
717
+ data: { model: "V5_5", instrumental: true, style: "reggae dub, laid-back and sunny, off-beat skank guitar, deep dub bassline, relaxed island groove, instrumental" },
718
+ },
719
+ // ── More Vocals & Songs ──────────────────────────────────────────────────
720
+ {
721
+ id: "suno-generate/song-rnb",
722
+ name: "R&B / Soul (vocal)",
723
+ description: "Smooth soulful vocals — add lyrics.",
724
+ group: "Vocals & Songs",
725
+ data: { model: "V5_5", instrumental: false, style: "smooth R&B soul, sensual and warm, lush chords, soft drums, soulful vocals, Andante, verse-chorus with ad-libs" },
726
+ },
727
+ {
728
+ id: "suno-generate/song-kpop",
729
+ name: "K-Pop (vocal)",
730
+ description: "Polished hook — add lyrics.",
731
+ group: "Vocals & Songs",
732
+ data: { model: "V5_5", instrumental: false, style: "K-pop, polished and energetic, bright synths, punchy drums, layered vocals, Allegro 120 BPM, verse-pre-chorus-chorus" },
733
+ },
734
+ ]