@nodaro/prompts 1.18.0 → 1.19.0
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/index.cjs +101 -80
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +23 -4
- package/dist/index.d.ts +23 -4
- package/dist/index.js +101 -81
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
- package/src/__tests__/assemble-suno-input.test.ts +14 -1
- package/src/__tests__/fixtures/parameter-hint-golden.json +1 -1
- package/src/__tests__/hint-join.test.ts +57 -0
- package/src/__tests__/sound-aggregator.test.ts +1 -1
- package/src/assemble-suno-input.ts +3 -2
- package/src/camera-motions.ts +44 -42
- package/src/factory-presets/music.ts +35 -35
- package/src/hint-join.ts +26 -0
- package/src/index.ts +1 -0
- package/src/parameter-prompt-hint.ts +2 -1
- package/src/prompt-wizard-categories.ts +9 -3
- package/src/sound-aggregator.ts +1 -1
package/dist/index.cjs
CHANGED
|
@@ -4246,6 +4246,21 @@ function buildTemporalTerms(data) {
|
|
|
4246
4246
|
return collectTemporalFragments(data, getTemporalTerm);
|
|
4247
4247
|
}
|
|
4248
4248
|
|
|
4249
|
+
// src/hint-join.ts
|
|
4250
|
+
var ENDS_SENTENCE = /[.!?]$/;
|
|
4251
|
+
function joinHintFragments(fragments) {
|
|
4252
|
+
let out = "";
|
|
4253
|
+
for (const fragment of fragments) {
|
|
4254
|
+
if (!fragment) continue;
|
|
4255
|
+
if (!out) {
|
|
4256
|
+
out = fragment;
|
|
4257
|
+
continue;
|
|
4258
|
+
}
|
|
4259
|
+
out += ENDS_SENTENCE.test(out) ? ` ${fragment}` : `, ${fragment}`;
|
|
4260
|
+
}
|
|
4261
|
+
return out;
|
|
4262
|
+
}
|
|
4263
|
+
|
|
4249
4264
|
// src/camera-motions.ts
|
|
4250
4265
|
var CAMERA_MOTIONS = [
|
|
4251
4266
|
// Basic
|
|
@@ -4286,28 +4301,28 @@ var CAMERA_MOTIONS = [
|
|
|
4286
4301
|
label: "Pan Left",
|
|
4287
4302
|
category: "pan",
|
|
4288
4303
|
description: "Rotate camera horizontally to the left",
|
|
4289
|
-
promptHint: "
|
|
4304
|
+
promptHint: "The camera stays in exactly the same position and slowly pivots on the spot, rotating its aim to the left like a head turning, sweeping across the scene.\nThe camera does not travel anywhere: its position, its height and its distance to everything in the scene all stay constant, and only its aiming direction changes.\nBecause the camera is rotating rather than moving, there is no parallax at all: near and distant elements slide across the frame together at the same rate, from left to right, with no shift between them.\nThe subject drifts out toward the right edge of the frame as the camera turns away, and new parts of the scene enter from the left.\nNo zoom, no push-in, no sideways travel, no orbiting."
|
|
4290
4305
|
},
|
|
4291
4306
|
{
|
|
4292
4307
|
id: "pan-right",
|
|
4293
4308
|
label: "Pan Right",
|
|
4294
4309
|
category: "pan",
|
|
4295
4310
|
description: "Rotate camera horizontally to the right",
|
|
4296
|
-
promptHint: "
|
|
4311
|
+
promptHint: "The camera stays in exactly the same position and slowly pivots on the spot, rotating its aim to the right like a head turning, sweeping across the scene.\nThe camera does not travel anywhere: its position, its height and its distance to everything in the scene all stay constant, and only its aiming direction changes.\nBecause the camera is rotating rather than moving, there is no parallax at all: near and distant elements slide across the frame together at the same rate, from right to left, with no shift between them.\nThe subject drifts out toward the left edge of the frame as the camera turns away, and new parts of the scene enter from the right.\nNo zoom, no push-in, no sideways travel, no orbiting."
|
|
4297
4312
|
},
|
|
4298
4313
|
{
|
|
4299
4314
|
id: "whip-pan-left",
|
|
4300
4315
|
label: "Whip Pan Left",
|
|
4301
4316
|
category: "pan",
|
|
4302
4317
|
description: "Fast whip pan left with motion blur",
|
|
4303
|
-
promptHint: "fast
|
|
4318
|
+
promptHint: "The camera stays in exactly the same position and whips violently fast on the spot, snapping its aim to the left in one abrupt blurred sweep across the scene.\nThe camera does not travel anywhere: its position, its height and its distance to everything in the scene all stay constant, and only its aiming direction changes.\nThe rotation is so fast that the whole frame smears into heavy horizontal motion blur and the scene becomes briefly unreadable mid-sweep.\nBecause the camera is rotating rather than moving, there is no parallax at all: near and distant elements streak across the frame together at the same rate, from left to right.\nThe subject is flung out past the right edge of the frame almost immediately.\nNo zoom, no push-in, no sideways travel, no orbiting."
|
|
4304
4319
|
},
|
|
4305
4320
|
{
|
|
4306
4321
|
id: "whip-pan-right",
|
|
4307
4322
|
label: "Whip Pan Right",
|
|
4308
4323
|
category: "pan",
|
|
4309
4324
|
description: "Fast whip pan right with motion blur",
|
|
4310
|
-
promptHint: "fast
|
|
4325
|
+
promptHint: "The camera stays in exactly the same position and whips violently fast on the spot, snapping its aim to the right in one abrupt blurred sweep across the scene.\nThe camera does not travel anywhere: its position, its height and its distance to everything in the scene all stay constant, and only its aiming direction changes.\nThe rotation is so fast that the whole frame smears into heavy horizontal motion blur and the scene becomes briefly unreadable mid-sweep.\nBecause the camera is rotating rather than moving, there is no parallax at all: near and distant elements streak across the frame together at the same rate, from right to left.\nThe subject is flung out past the left edge of the frame almost immediately.\nNo zoom, no push-in, no sideways travel, no orbiting."
|
|
4311
4326
|
},
|
|
4312
4327
|
// Tilt — rotation on horizontal axis
|
|
4313
4328
|
{
|
|
@@ -4315,14 +4330,14 @@ var CAMERA_MOTIONS = [
|
|
|
4315
4330
|
label: "Tilt Up",
|
|
4316
4331
|
category: "tilt",
|
|
4317
4332
|
description: "Tilt camera upward",
|
|
4318
|
-
promptHint: "camera
|
|
4333
|
+
promptHint: "The camera is locked to a tripod head at a fixed point in space and pivots on that head, tilting its aim upward like a head lifting to look higher.\nThe camera's height stays exactly the same for the entire shot, and the tripod stays planted in the same spot: the lens sweeps upward while the camera body itself never rises, never lowers and never travels.\nBecause the camera is rotating rather than moving, there is no parallax at all: near and distant elements slide down the frame together at the same rate, with no shift between them.\nWhatever occupied the bottom of the opening frame slides down and out past the bottom edge, and whatever lay above the top edge is progressively revealed as the aim rises.\nNo zoom, no push-in."
|
|
4319
4334
|
},
|
|
4320
4335
|
{
|
|
4321
4336
|
id: "tilt-down",
|
|
4322
4337
|
label: "Tilt Down",
|
|
4323
4338
|
category: "tilt",
|
|
4324
4339
|
description: "Tilt camera downward",
|
|
4325
|
-
promptHint: "camera
|
|
4340
|
+
promptHint: "The camera is locked to a tripod head at a fixed point in space and pivots on that head, tilting its aim downward like a head lowering to look lower.\nThe camera's height stays exactly the same for the entire shot, and the tripod stays planted in the same spot: the lens sweeps downward while the camera body itself never rises, never lowers and never travels.\nBecause the camera is rotating rather than moving, there is no parallax at all: near and distant elements slide up the frame together at the same rate, with no shift between them.\nWhatever occupied the top of the opening frame slides up and out past the top edge, and whatever lay below the bottom edge is progressively revealed as the aim lowers.\nNo zoom, no push-in."
|
|
4326
4341
|
},
|
|
4327
4342
|
// Zoom — lens only
|
|
4328
4343
|
{
|
|
@@ -4330,28 +4345,28 @@ var CAMERA_MOTIONS = [
|
|
|
4330
4345
|
label: "Zoom In",
|
|
4331
4346
|
category: "zoom",
|
|
4332
4347
|
description: "Lens zoom toward subject",
|
|
4333
|
-
promptHint: "
|
|
4348
|
+
promptHint: "The camera is locked to a tripod planted in one spot and never moves at all. Only the lens changes: its focal length slowly increases, magnifying the image so the frame closes in on the subject.\nBecause the camera body does not travel, the perspective of the scene never changes: there is NO parallax whatsoever, nothing slides past anything else, and the spatial relationship between near and distant elements stays exactly as it was.\nEverything in the frame simply grows larger together at the same rate and the edges of the picture crop away, as if the whole photograph were being enlarged from its centre.\nThe subject fills progressively more of the frame while the background behind it flattens and compresses.\nNo camera travel, no dolly, no push-in, no walking forward, no orbiting."
|
|
4334
4349
|
},
|
|
4335
4350
|
{
|
|
4336
4351
|
id: "zoom-out",
|
|
4337
4352
|
label: "Zoom Out",
|
|
4338
4353
|
category: "zoom",
|
|
4339
4354
|
description: "Lens zoom away from subject",
|
|
4340
|
-
promptHint: "
|
|
4355
|
+
promptHint: "The camera is locked to a tripod planted in one spot and never moves at all. Only the lens changes: its focal length slowly decreases, widening the view so the frame opens out away from the subject.\nBecause the camera body does not travel, the perspective of the scene never changes: there is NO parallax whatsoever, nothing slides past anything else, and the spatial relationship between near and distant elements stays exactly as it was.\nEverything in the frame simply shrinks together at the same rate and more of the surroundings enters from all four edges, as if the whole photograph were being reduced towards its centre.\nThe subject fills progressively less of the frame while more and more of the wider environment is revealed around it.\nNo camera travel, no dolly, no pull-back, no walking backward, no orbiting."
|
|
4341
4356
|
},
|
|
4342
4357
|
{
|
|
4343
4358
|
id: "crash-zoom-in",
|
|
4344
4359
|
label: "Crash Zoom In",
|
|
4345
4360
|
category: "zoom",
|
|
4346
4361
|
description: "Snappy whip-style zoom in",
|
|
4347
|
-
promptHint: "
|
|
4362
|
+
promptHint: "The camera is locked to a tripod planted in one spot and never moves at all. Only the lens changes: its focal length rockets up in one violent instant, snapping the frame hard onto the subject.\nThe zoom is so abrupt that the image judders and smears with motion blur during the snap, and the magnification slams to a stop rather than easing in.\nBecause the camera body does not travel, the perspective of the scene never changes: there is NO parallax whatsoever, nothing slides past anything else, and the spatial relationship between near and distant elements stays exactly as it was.\nEverything in the frame simply explodes larger together at the same rate and the edges of the picture crop violently away, as if the photograph were being blown up from its centre in a single jolt.\nNo camera travel, no dolly, no push-in, no walking forward, no orbiting."
|
|
4348
4363
|
},
|
|
4349
4364
|
{
|
|
4350
4365
|
id: "crash-zoom-out",
|
|
4351
4366
|
label: "Crash Zoom Out",
|
|
4352
4367
|
category: "zoom",
|
|
4353
4368
|
description: "Snappy whip-style zoom out",
|
|
4354
|
-
promptHint: "
|
|
4369
|
+
promptHint: "The camera is locked to a tripod planted in one spot and never moves at all. Only the lens changes: its focal length drops away in one violent instant, snapping the frame wide open away from the subject.\nThe zoom is so abrupt that the image judders and smears with motion blur during the snap, and the widening slams to a stop rather than easing out.\nBecause the camera body does not travel, the perspective of the scene never changes: there is NO parallax whatsoever, nothing slides past anything else, and the spatial relationship between near and distant elements stays exactly as it was.\nEverything in the frame simply collapses smaller together at the same rate and a great deal more of the surroundings floods in from all four edges at once, as if the photograph were being shrunk towards its centre in a single jolt.\nNo camera travel, no dolly, no pull-back, no walking backward, no orbiting."
|
|
4355
4370
|
},
|
|
4356
4371
|
// Dolly — physical forward/back
|
|
4357
4372
|
{
|
|
@@ -4359,51 +4374,51 @@ var CAMERA_MOTIONS = [
|
|
|
4359
4374
|
label: "Dolly In",
|
|
4360
4375
|
category: "dolly",
|
|
4361
4376
|
description: "Push camera toward subject (parallax)",
|
|
4362
|
-
promptHint: "
|
|
4377
|
+
promptHint: "The camera glides steadily FORWARD through the scene, physically travelling deeper into it and closing the distance to the subject. Nothing new is added to the scene; the viewpoint simply advances.\nThe lens never changes: the focal length is fixed for the entire shot, so nothing is magnified. The image changes only because the camera has moved to a new place.\nThe gap between the camera and the subject SHRINKS continuously: the subject grows steadily larger in the frame as the camera gets closer, and by the end it is much nearer and much bigger than at the start.\nEVERY part of the scene is in motion together, all of it expanding outward from the centre of the frame as the viewpoint advances, and the only difference between them is how fast: the closer something is to the camera the faster it grows and spreads toward the edges, and the further away it is the more gently and slowly it grows. It is one smooth continuous gradient of speed across every depth in the picture. Nothing anywhere in the frame is frozen or static, and nothing slides forward independently of the rest.\nNo zoom, no change of focal length, no sideways travel, no orbiting, no holding a constant distance, no following alongside."
|
|
4363
4378
|
},
|
|
4364
4379
|
{
|
|
4365
4380
|
id: "dolly-out",
|
|
4366
4381
|
label: "Dolly Out",
|
|
4367
4382
|
category: "dolly",
|
|
4368
4383
|
description: "Pull camera away (parallax)",
|
|
4369
|
-
promptHint: "
|
|
4384
|
+
promptHint: "The camera glides steadily BACKWARD through the scene, physically retreating and opening up the distance to the subject. Nothing new is added to the scene; the viewpoint simply withdraws.\nThe lens never changes: the focal length is fixed for the entire shot, so nothing is shrunk optically. The image changes only because the camera has moved to a new place.\nThe gap between the camera and the subject GROWS continuously: the subject becomes steadily smaller in the frame as the camera pulls further away, and by the end it is much further off and much smaller than at the start.\nEVERY part of the scene is in motion together, all of it contracting inward toward the centre of the frame as the viewpoint retreats, and the only difference between them is how fast: the closer something is to the camera the faster it shrinks and slides in from the edges, and the further away it is the more gently and slowly it shrinks. It is one smooth continuous gradient of speed across every depth in the picture. Nothing anywhere in the frame is frozen or static, and nothing slides backward independently of the rest.\nNew foreground elements keep entering from behind the camera at the edges of the frame as it retreats.\nNo zoom, no change of focal length, no sideways travel, no orbiting, no holding a constant distance, no following alongside."
|
|
4370
4385
|
},
|
|
4371
4386
|
{
|
|
4372
4387
|
id: "dolly-zoom",
|
|
4373
4388
|
label: "Dolly Zoom",
|
|
4374
4389
|
category: "dolly",
|
|
4375
4390
|
description: "Vertigo effect: dolly opposes zoom",
|
|
4376
|
-
promptHint: "
|
|
4391
|
+
promptHint: "Two opposite things happen at once, in perfect balance, and the tension between them IS the shot.\nFIRST, the camera body travels steadily FORWARD, physically advancing deeper into the scene and closing the distance to the subject.\nSECOND, at exactly the same time and at exactly the matching rate, the lens widens: the focal length decreases continuously throughout the move.\nBecause the two exactly cancel each other, THE SUBJECT NEVER CHANGES SIZE. It stays locked at the same scale and the same position in the frame from the first moment to the last, as if pinned there, and nothing about it grows or shrinks.\nWhat changes instead is DEPTH. As the camera advances and the lens widens, everything behind the subject appears to travel away from it and settle further and further off, so the distance between the subject and the far background stretches open and keeps stretching. What was close behind the subject ends up looking far behind it. The space reads as progressively deeper and longer, as though it were being drawn out lengthwise, while the subject itself stays exactly as it was.\nThe frame stays perfectly upright and level throughout. The camera never rolls, never tilts, never turns; the horizontal and vertical lines of the scene stay horizontal and vertical the whole time.\nNo cuts, no sideways travel, no orbiting, no rolling, no rotation of the frame, no tilting, and above all no change in the size of the subject."
|
|
4377
4392
|
},
|
|
4378
4393
|
{
|
|
4379
4394
|
id: "push-in",
|
|
4380
4395
|
label: "Push In",
|
|
4381
4396
|
category: "dolly",
|
|
4382
|
-
description: "
|
|
4383
|
-
promptHint: "
|
|
4384
|
-
term: "
|
|
4397
|
+
description: "Fast forceful push toward subject",
|
|
4398
|
+
promptHint: "The camera surges FORWARD hard and fast, driving deep into the scene and closing the distance to the subject in one assertive rush. Nothing new is added to the scene; the viewpoint simply advances.\nThe move is quick and forceful enough to be felt: the picture takes on a slight motion blur as it rushes in, and the advance carries real momentum rather than drifting gently.\nThe lens never changes: the focal length is fixed for the entire shot, so nothing is magnified. The image changes only because the camera has moved to a new place.\nThe gap between the camera and the subject SHRINKS rapidly: the subject swells quickly larger in the frame, and by the end it is far nearer and far bigger than at the start.\nEVERY part of the scene is in motion together, all of it expanding outward from the centre of the frame as the viewpoint advances, and the only difference between them is how fast: the closer something is to the camera the faster it grows and spreads toward the edges, and the further away it is the more gently and slowly it grows. It is one smooth continuous gradient of speed across every depth in the picture. Nothing anywhere in the frame is frozen or static, and nothing slides forward independently of the rest.\nNo zoom, no change of focal length, no sideways travel, no orbiting, no holding a constant distance, no following alongside.",
|
|
4399
|
+
term: "fast push-in"
|
|
4385
4400
|
},
|
|
4386
4401
|
{
|
|
4387
4402
|
id: "pull-out",
|
|
4388
4403
|
label: "Pull Out",
|
|
4389
4404
|
category: "dolly",
|
|
4390
|
-
description: "
|
|
4391
|
-
promptHint: "
|
|
4392
|
-
term: "
|
|
4405
|
+
description: "Fast forceful pull back from subject",
|
|
4406
|
+
promptHint: "The camera pulls BACKWARD hard and fast, tearing away from the subject and opening up the distance in one decisive rush. Nothing new is added to the scene; the viewpoint simply withdraws.\nThe move is quick and forceful enough to be felt: the picture takes on a slight motion blur as it rushes back, and the retreat carries real momentum rather than drifting gently.\nThe lens never changes: the focal length is fixed for the entire shot, so nothing is shrunk optically. The image changes only because the camera has moved to a new place.\nThe gap between the camera and the subject GROWS rapidly: the subject shrinks quickly in the frame, and by the end it is far away and far smaller than at the start.\nEVERY part of the scene is in motion together, all of it contracting inward toward the centre of the frame as the viewpoint retreats, and the only difference between them is how fast: the closer something is to the camera the faster it shrinks and slides in from the edges, and the further away it is the more gently and slowly it shrinks. It is one smooth continuous gradient of speed across every depth in the picture. Nothing anywhere in the frame is frozen or static, and nothing slides backward independently of the rest.\nNew foreground elements keep entering from behind the camera at the edges of the frame as it retreats.\nNo zoom, no change of focal length, no sideways travel, no orbiting, no holding a constant distance, no following alongside.",
|
|
4407
|
+
term: "fast pull-out"
|
|
4393
4408
|
},
|
|
4394
4409
|
{
|
|
4395
4410
|
id: "breathing",
|
|
4396
4411
|
label: "Breathing Camera",
|
|
4397
4412
|
category: "dolly",
|
|
4398
4413
|
description: "Subtle continuous push/pull oscillation",
|
|
4399
|
-
promptHint: "
|
|
4414
|
+
promptHint: "The camera breathes: it drifts gently FORWARD a small way, then eases back BACKWARD to about where it began, then forward again, in a slow continuous cycle that repeats several times across the shot, like the rise and fall of quiet breathing. Nothing new is added to the scene; only the viewpoint sways in and out.\nThis reversal is deliberate and is the whole point of the move. There is no pause and no hard stop at either end: the forward drift slows, turns over smoothly, and becomes the backward drift, then turns over again. The cycle is soft and rhythmic, never sharp.\nThe travel each way is small and the pace is slow and organic, never mechanical: the picture stays sharp with no motion blur, and it feels like a handheld operator quietly breathing behind the camera rather than a rig being driven.\nThe lens never changes: the focal length is fixed for the entire shot, so nothing is magnified. The image changes only because the camera has swayed to a slightly different place.\nThe gap between the camera and the subject accordingly shrinks a little, then opens a little, then shrinks again: the subject swells and settles gently in the frame in time with the cycle.\nEVERY part of the scene moves together with it, all of it expanding outward from the centre on each drift forward and contracting inward on each drift back, and the only difference between them is how fast: what is closest sways most, what is furthest hardly changes. It is one smooth continuous gradient across every depth. Nothing anywhere is frozen or static.\nNo zoom, no change of focal length, no sideways travel, no orbiting, no cuts."
|
|
4400
4415
|
},
|
|
4401
4416
|
{
|
|
4402
4417
|
id: "push-pull",
|
|
4403
4418
|
label: "Push-Pull / Swing",
|
|
4404
4419
|
category: "dolly",
|
|
4405
4420
|
description: "Camera swings toward subject then away",
|
|
4406
|
-
promptHint: "push-pull swing, the camera
|
|
4421
|
+
promptHint: "The camera drives decisively FORWARD a good distance, then reverses and pulls back BACKWARD past where it began, then drives forward again, in a deliberate push-and-pull cycle repeated across the shot. Nothing new is added to the scene; only the viewpoint swings in and out.\nThis reversal is deliberate and is the whole point of the move. Each stroke is firm and purposeful, with real travel behind it and a clear change of direction at each end, as if a rig were being driven in and hauled out again by hand. It is emphatic and mechanical, not gentle or organic, and the swing is far larger and more forceful than a quiet drift.\nThe lens never changes: the focal length is fixed for the entire shot, so nothing is magnified. The image changes only because the camera has travelled to a different place.\nThe gap between the camera and the subject accordingly closes sharply, opens up wide, then closes again: the subject looms noticeably larger, falls well back, and looms again in time with the cycle.\nEVERY part of the scene moves together with it, all of it expanding outward from the centre on each drive forward and rushing inward on each pull back, and the only difference between them is how fast: what is closest sweeps most, what is furthest shifts least. It is one smooth continuous gradient across every depth. Nothing anywhere is frozen or static.\nNo zoom, no change of focal length, no sideways travel, no orbiting, no cuts.",
|
|
4407
4422
|
term: "push-pull swing"
|
|
4408
4423
|
},
|
|
4409
4424
|
{
|
|
@@ -4411,7 +4426,7 @@ var CAMERA_MOTIONS = [
|
|
|
4411
4426
|
label: "Creep-In",
|
|
4412
4427
|
category: "dolly",
|
|
4413
4428
|
description: "Imperceptibly slow push-in over time",
|
|
4414
|
-
promptHint: "
|
|
4429
|
+
promptHint: "The camera creeps FORWARD almost imperceptibly slowly, edging deeper into the scene by the smallest amount and closing the distance to the subject only very slightly. Nothing new is added to the scene; the viewpoint simply inches forward.\nThe move is so gradual it is barely noticeable moment to moment: the picture stays completely sharp with no motion blur at all, the advance never accelerates, and only by comparing the end against the beginning is it clear the camera moved at all. It creates a slow, quiet, unsettling drift rather than any sense of momentum.\nThe lens never changes: the focal length is fixed for the entire shot, so nothing is magnified. The image changes only because the camera has crept to a slightly new place.\nThe gap between the camera and the subject SHRINKS very slightly and very steadily: the subject grows just a little larger in the frame across the whole shot.\nEVERY part of the scene is in motion together, all of it expanding outward from the centre of the frame by tiny degrees as the viewpoint edges forward, and the only difference between them is how fast: what is closest creeps outward most, what is furthest hardly changes at all. It is one smooth continuous gradient across every depth in the picture. Nothing anywhere is frozen or static, and nothing slides forward independently of the rest.\nNo zoom, no change of focal length, no sideways travel, no orbiting, no acceleration, no holding a constant distance.",
|
|
4415
4430
|
term: "slow creeping push-in"
|
|
4416
4431
|
},
|
|
4417
4432
|
{
|
|
@@ -4419,7 +4434,7 @@ var CAMERA_MOTIONS = [
|
|
|
4419
4434
|
label: "Creep-Out",
|
|
4420
4435
|
category: "dolly",
|
|
4421
4436
|
description: "Imperceptibly slow pull-out over time",
|
|
4422
|
-
promptHint: "
|
|
4437
|
+
promptHint: "The camera creeps BACKWARD almost imperceptibly slowly, easing away from the scene by the smallest amount and opening the distance to the subject only very slightly. Nothing new is added to the scene; the viewpoint simply inches back.\nThe move is so gradual it is barely noticeable moment to moment: the picture stays completely sharp with no motion blur at all, the retreat never accelerates, and only by comparing the end against the beginning is it clear the camera moved at all. It creates a slow, quiet, unsettling drift rather than any sense of momentum.\nThe lens never changes: the focal length is fixed for the entire shot, so nothing is shrunk optically. The image changes only because the camera has crept to a slightly new place.\nThe gap between the camera and the subject GROWS very slightly and very steadily: the subject becomes just a little smaller in the frame across the whole shot.\nEVERY part of the scene is in motion together, all of it contracting inward toward the centre of the frame by tiny degrees as the viewpoint edges back, and the only difference between them is how fast: what is closest creeps inward most, what is furthest hardly changes at all. It is one smooth continuous gradient across every depth in the picture. Nothing anywhere is frozen or static, and nothing slides backward independently of the rest.\nNo zoom, no change of focal length, no sideways travel, no orbiting, no acceleration, no holding a constant distance.",
|
|
4423
4438
|
term: "slow creeping pull-out"
|
|
4424
4439
|
},
|
|
4425
4440
|
// Truck — lateral slide
|
|
@@ -4428,14 +4443,14 @@ var CAMERA_MOTIONS = [
|
|
|
4428
4443
|
label: "Truck Left",
|
|
4429
4444
|
category: "truck",
|
|
4430
4445
|
description: "Slide camera body laterally left",
|
|
4431
|
-
promptHint: "
|
|
4446
|
+
promptHint: "The camera glides steadily SIDEWAYS to the left, physically travelling laterally across the scene while continuing to aim straight ahead in exactly the same direction the whole time. It never turns or pivots; its aim stays locked forward and only its position slides left.\nThe lens never changes: the focal length is fixed for the entire shot, so nothing is magnified. The camera is passing across the scene, not approaching or retreating.\nThe framing is NOT locked onto anything: nothing is kept centred or held in place. EVERY single thing visible in the opening frame, including whatever sits at its very centre, slides steadily to the right across the picture and eventually passes out past the right edge as the viewpoint travels on past it.\nThe only difference between them is how fast: whatever is closest to the camera sweeps across and off the right edge quickly, things further back drift right more gently, and the most distant parts ease right slowest of all. It is one smooth continuous gradient of speed across every depth. Nothing anywhere is frozen, and nothing travels along with the camera.\nNew elements keep entering from the left edge as the camera advances sideways past them.\nNo zoom, no change of focal length, no turning, no pivoting, no rotation of the aim, no forward or backward travel, no tracking or following."
|
|
4432
4447
|
},
|
|
4433
4448
|
{
|
|
4434
4449
|
id: "truck-right",
|
|
4435
4450
|
label: "Truck Right",
|
|
4436
4451
|
category: "truck",
|
|
4437
4452
|
description: "Slide camera body laterally right",
|
|
4438
|
-
promptHint: "
|
|
4453
|
+
promptHint: "The camera glides steadily SIDEWAYS to the right, physically travelling laterally across the scene while continuing to aim straight ahead in exactly the same direction the whole time. It never turns or pivots; its aim stays locked forward and only its position slides right.\nThe lens never changes: the focal length is fixed for the entire shot, so nothing is magnified. The camera is passing across the scene, not approaching or retreating.\nThe framing is NOT locked onto anything: nothing is kept centred or held in place. EVERY single thing visible in the opening frame, including whatever sits at its very centre, slides steadily to the left across the picture and eventually passes out past the left edge as the viewpoint travels on past it.\nThe only difference between them is how fast: whatever is closest to the camera sweeps across and off the left edge quickly, things further back drift left more gently, and the most distant parts ease left slowest of all. It is one smooth continuous gradient of speed across every depth. Nothing anywhere is frozen, and nothing travels along with the camera.\nNew elements keep entering from the right edge as the camera advances sideways past them.\nNo zoom, no change of focal length, no turning, no pivoting, no rotation of the aim, no forward or backward travel, no tracking or following."
|
|
4439
4454
|
},
|
|
4440
4455
|
// Pedestal — vertical slide
|
|
4441
4456
|
{
|
|
@@ -4443,14 +4458,14 @@ var CAMERA_MOTIONS = [
|
|
|
4443
4458
|
label: "Pedestal Up",
|
|
4444
4459
|
category: "pedestal",
|
|
4445
4460
|
description: "Raise camera body vertically",
|
|
4446
|
-
promptHint: "
|
|
4461
|
+
promptHint: "The camera is mounted on a column that raises it straight UPWARD, and it rises vertically, climbing steadily higher. The scene itself is entirely unchanged; nothing in it moves, falls, appears or is added. Only the viewpoint ascends.\nThe camera's aim never changes: it keeps pointing straight ahead at exactly the same angle for the entire shot, perfectly level, never tipping up or down as it climbs. Only its height changes.\nThe lens never changes either: the focal length is fixed, so nothing is magnified.\nBecause the camera physically travels upward, there is STRONG parallax: EVERY part of the scene is in motion together, all of it sliding downward through the frame as the viewpoint climbs, and the only difference between them is how fast. What is nearest the camera sinks and passes out of the bottom edge quickly, what is further back drifts down more gently, and the most distant parts ease down slowest of all. It is one smooth continuous gradient of speed across every depth. Nothing anywhere in the frame is frozen or static.\nWhatever lay above the top edge of the opening frame is revealed as the camera reaches its height, entering from the top and settling into view.\nNo zoom, no change of focal length, no tilting, no tipping the aim upward, no forward or sideways travel."
|
|
4447
4462
|
},
|
|
4448
4463
|
{
|
|
4449
4464
|
id: "pedestal-down",
|
|
4450
4465
|
label: "Pedestal Down",
|
|
4451
4466
|
category: "pedestal",
|
|
4452
4467
|
description: "Lower camera body vertically",
|
|
4453
|
-
promptHint: "
|
|
4468
|
+
promptHint: "The camera is mounted on a column that lowers it straight DOWNWARD, and it descends vertically, sinking steadily lower. The scene itself is entirely unchanged; nothing in it moves, falls, appears or is added. Only the viewpoint descends.\nThe camera's aim never changes: it keeps pointing straight ahead at exactly the same angle for the entire shot, perfectly level, never tipping up or down as it sinks. Only its height changes.\nThe lens never changes either: the focal length is fixed, so nothing is magnified.\nBecause the camera physically travels downward, there is STRONG parallax: EVERY part of the scene is in motion together, all of it sliding upward through the frame as the viewpoint sinks, and the only difference between them is how fast. What is nearest the camera climbs and passes out of the top edge quickly, what is further back drifts up more gently, and the most distant parts ease up slowest of all. It is one smooth continuous gradient of speed across every depth. Nothing anywhere in the frame is frozen or static.\nWhatever lay below the bottom edge of the opening frame is revealed as the camera sinks to its level, entering from the bottom and settling into view.\nNo zoom, no change of focal length, no tilting, no tipping the aim downward, no forward or sideways travel."
|
|
4454
4469
|
},
|
|
4455
4470
|
// Roll — rotation on lens axis
|
|
4456
4471
|
{
|
|
@@ -4487,37 +4502,37 @@ var CAMERA_MOTIONS = [
|
|
|
4487
4502
|
id: "orbit-left",
|
|
4488
4503
|
label: "Orbit Left",
|
|
4489
4504
|
category: "orbit",
|
|
4490
|
-
description: "
|
|
4491
|
-
promptHint: "camera orbits around the subject to the left
|
|
4505
|
+
description: "Large partial orbit around subject to the left",
|
|
4506
|
+
promptHint: "camera orbits around the subject in a circular path, the background sliding to the left across the frame"
|
|
4492
4507
|
},
|
|
4493
4508
|
{
|
|
4494
4509
|
id: "orbit-right",
|
|
4495
4510
|
label: "Orbit Right",
|
|
4496
4511
|
category: "orbit",
|
|
4497
|
-
description: "
|
|
4498
|
-
promptHint: "camera orbits around the subject to the right
|
|
4512
|
+
description: "Large partial orbit around subject to the right",
|
|
4513
|
+
promptHint: "camera orbits around the subject in a circular path, the background sliding to the right across the frame"
|
|
4499
4514
|
},
|
|
4500
4515
|
{
|
|
4501
4516
|
id: "arc-left",
|
|
4502
4517
|
label: "Arc Left",
|
|
4503
4518
|
category: "orbit",
|
|
4504
4519
|
description: "Partial arc around subject left",
|
|
4505
|
-
promptHint: "camera
|
|
4520
|
+
promptHint: "slow camera arc around the subject through a partial arc, the background sliding to the left across the frame"
|
|
4506
4521
|
},
|
|
4507
4522
|
{
|
|
4508
4523
|
id: "arc-right",
|
|
4509
4524
|
label: "Arc Right",
|
|
4510
4525
|
category: "orbit",
|
|
4511
4526
|
description: "Partial arc around subject right",
|
|
4512
|
-
promptHint: "camera
|
|
4527
|
+
promptHint: "The camera slowly moves sideways to the right while curving around the subject, continuously turning toward the subject to keep the same centered framing.\nThe camera maintains constant distance from the subject.\nAs the viewpoint changes, strong natural parallax is visible: nearby environmental elements shift right noticeably while distant background elements shift right more slowly.\nThe shot ends from a slightly different three-quarter viewing angle.\nNo zoom, no push-in, no pull-out."
|
|
4513
4528
|
},
|
|
4514
4529
|
{
|
|
4515
4530
|
id: "orbit-360",
|
|
4516
4531
|
label: "Full 360 Orbit",
|
|
4517
4532
|
category: "orbit",
|
|
4518
4533
|
description: "Full circular arc around subject",
|
|
4519
|
-
promptHint: "
|
|
4520
|
-
term: "full
|
|
4534
|
+
promptHint: "The camera moves sideways to the right while curving around the subject, continuously turning toward the subject to keep the same centered framing, and keeps travelling in the same direction without pausing until it has passed the subject's right side, then behind it, then its left side, and comes back to where it began.\nThe camera maintains constant distance and constant height from the subject throughout.\nAs the viewpoint changes, strong natural parallax is visible: nearby environmental elements sweep right past the frame edge while distant background elements shift right more slowly, and every part of the surroundings passes behind the subject in turn, until whatever was behind it at the start is behind it again at the end.\nThe shot ends on the exact same viewpoint and composition it started from, having circled the subject completely.\nNo zoom, no push-in, no pull-out, no reversal of direction.",
|
|
4535
|
+
term: "full orbit, one complete circle around the subject"
|
|
4521
4536
|
},
|
|
4522
4537
|
// Crane / Jib
|
|
4523
4538
|
{
|
|
@@ -4525,14 +4540,14 @@ var CAMERA_MOTIONS = [
|
|
|
4525
4540
|
label: "Crane Up",
|
|
4526
4541
|
category: "crane",
|
|
4527
4542
|
description: "Sweeping crane rise revealing scene",
|
|
4528
|
-
promptHint: "
|
|
4543
|
+
promptHint: "The camera is carried on the end of a long jib arm that swings it UPWARD and OUTWARD through a rising arc, so it climbs steadily higher and at the same time draws back and away from where it started. The scene itself is entirely unchanged; nothing in it moves, falls, appears or is added. Only the viewpoint travels.\nUnlike a straight vertical lift, the aim DOES change: as the camera rises it tips gradually downward, angling more and more steeply so that what began level with it is now looked down upon from above. The rise and the tilt happen together as one continuous sweeping arc.\nThe lens never changes: the focal length is fixed, so nothing is magnified.\nBecause the camera physically travels, there is STRONG parallax: EVERY part of the scene is in motion together, sliding downward and outward through the frame as the viewpoint climbs and pulls back, and the only difference between them is how fast. What is nearest the camera sweeps down and out of the bottom edge quickly, what is further back drifts more gently, and the most distant parts ease slowest of all. It is one smooth continuous gradient of speed across every depth. Nothing anywhere in the frame is frozen or static.\nThe shot ends on a high, wide, elevated vantage looking down over the whole scene, far above and behind where it began.\nNo zoom, no change of focal length, no sideways drift, no orbiting."
|
|
4529
4544
|
},
|
|
4530
4545
|
{
|
|
4531
4546
|
id: "crane-down",
|
|
4532
4547
|
label: "Crane Down",
|
|
4533
4548
|
category: "crane",
|
|
4534
4549
|
description: "Sweeping crane descent",
|
|
4535
|
-
promptHint: "
|
|
4550
|
+
promptHint: "The camera is carried on the end of a long jib arm that swings it DOWNWARD and INWARD through a descending arc, so it drops steadily lower and at the same time closes in toward what lay beneath it. The scene itself is entirely unchanged; nothing in it moves, falls, appears or is added. Only the viewpoint travels.\nUnlike a straight vertical descent, the aim DOES change: as the camera drops it tips gradually upward, levelling out more and more, so that what was looked down upon from above is now met at its own level. The fall and the tilt happen together as one continuous sweeping arc.\nThe lens never changes: the focal length is fixed, so nothing is magnified.\nBecause the camera physically travels, there is STRONG parallax: EVERY part of the scene is in motion together, sliding upward and inward through the frame as the viewpoint drops and closes in, and the only difference between them is how fast. What is nearest the camera sweeps up and out of the top edge quickly, what is further back drifts more gently, and the most distant parts ease slowest of all. It is one smooth continuous gradient of speed across every depth. Nothing anywhere in the frame is frozen or static.\nThe shot ends on a low, close vantage, far below and ahead of where it began.\nNo zoom, no change of focal length, no sideways drift, no orbiting."
|
|
4536
4551
|
},
|
|
4537
4552
|
{
|
|
4538
4553
|
id: "boom-up",
|
|
@@ -4729,9 +4744,8 @@ var CAMERA_MOTIONS = [
|
|
|
4729
4744
|
id: "match-cut-zoom",
|
|
4730
4745
|
label: "Match Cut Zoom",
|
|
4731
4746
|
category: "zoom",
|
|
4732
|
-
description: "
|
|
4733
|
-
promptHint: "
|
|
4734
|
-
term: "rapid beat-timed zoom"
|
|
4747
|
+
description: "Fast zoom that hard-cuts to a matching shape",
|
|
4748
|
+
promptHint: "A match cut built on a zoom, in two shots joined by one hard cut.\nShot one: the camera is locked to a tripod and never travels; only the lens changes, its focal length rapidly increasing so the frame rushes in and closes tightly on a single round shape at the centre of the picture, until that circular shape fills almost the whole frame.\nAt the moment the round shape fills the frame there is one HARD CUT.\nShot two: a completely different place and time, but a round shape of the same size sits in exactly the same position at the centre of the frame, so the two shots lock together on that shape and the eye reads it as one continuous movement. The camera continues the same inward push for a moment before settling.\nThe two shots share only the shape and its position; the location, the light and everything else are entirely different.\nNo camera travel in either shot, no dolly, no orbiting."
|
|
4735
4749
|
},
|
|
4736
4750
|
{
|
|
4737
4751
|
id: "screen-tap",
|
|
@@ -4825,7 +4839,7 @@ function composeCameraMotionHintFromConnections(motionId, startHints, endHints,
|
|
|
4825
4839
|
const endClause = endHints.filter((h) => h && h.length > 0).join(" and ");
|
|
4826
4840
|
if (startClause) parts.push(`beginning with ${startClause}`);
|
|
4827
4841
|
if (endClause) parts.push(`ending with ${endClause}`);
|
|
4828
|
-
return parts
|
|
4842
|
+
return joinHintFragments(parts);
|
|
4829
4843
|
}
|
|
4830
4844
|
function composeCameraMotionTermFromConnections(motionId, startTerms, endTerms) {
|
|
4831
4845
|
const base = getCameraMotionTerm(motionId);
|
|
@@ -10006,7 +10020,7 @@ function withCustomText(data, mainHint) {
|
|
|
10006
10020
|
if (mainHint) fragments.push(mainHint);
|
|
10007
10021
|
const post = typeof data.postText === "string" ? data.postText.trim() : "";
|
|
10008
10022
|
if (post) fragments.push(post);
|
|
10009
|
-
return fragments
|
|
10023
|
+
return joinHintFragments(fragments);
|
|
10010
10024
|
}
|
|
10011
10025
|
function readHintMode(data) {
|
|
10012
10026
|
const raw = data.hintMode;
|
|
@@ -29431,11 +29445,17 @@ var PROVIDER_CAPABILITIES = {
|
|
|
29431
29445
|
"minimax": "General music generation, multiple genres"
|
|
29432
29446
|
},
|
|
29433
29447
|
"suno-generate": {
|
|
29434
|
-
|
|
29435
|
-
|
|
29448
|
+
// Current generation first (V6 = default), then the earlier ones — all
|
|
29449
|
+
// offered in the picker; mirrors SUNO_MODELS order in @nodaro/shared.
|
|
29450
|
+
"V6": "Flagship \u2014 greater musical expression, more natural vocals, richer details",
|
|
29451
|
+
"V6_WILD": "Bolder, more distinctive, less predictable results for exploration",
|
|
29452
|
+
"V6_MINI": "Lightweight and fast \u2014 quality/speed balance",
|
|
29453
|
+
"V5_5": "Custom-model tuning with strong vocal quality",
|
|
29454
|
+
"V5": "Superior musical expression, faster generation",
|
|
29436
29455
|
"V4_5PLUS": "Enhanced V4.5 with better production",
|
|
29437
29456
|
"V4_5ALL": "Full-featured V4.5",
|
|
29438
|
-
"
|
|
29457
|
+
"V4_5": "Improved quality and coherence",
|
|
29458
|
+
"V4": "Standard Suno generation"
|
|
29439
29459
|
},
|
|
29440
29460
|
"text-to-audio": {
|
|
29441
29461
|
"elevenlabs-sfx": "High quality sound effects and ambient audio"
|
|
@@ -32779,7 +32799,7 @@ var SUNO_GENERATE_PRESETS = [
|
|
|
32779
32799
|
description: "Mellow focus beat.",
|
|
32780
32800
|
group: "By Use-Case",
|
|
32781
32801
|
data: {
|
|
32782
|
-
model: "
|
|
32802
|
+
model: "V6",
|
|
32783
32803
|
instrumental: true,
|
|
32784
32804
|
style: "lo-fi hip-hop, chill and mellow, jazzy Rhodes chords, vinyl crackle, soft boom-bap drums, Andante 80 BPM, instrumental"
|
|
32785
32805
|
}
|
|
@@ -32790,7 +32810,7 @@ var SUNO_GENERATE_PRESETS = [
|
|
|
32790
32810
|
description: "Short confident opener.",
|
|
32791
32811
|
group: "By Use-Case",
|
|
32792
32812
|
data: {
|
|
32793
|
-
model: "
|
|
32813
|
+
model: "V6",
|
|
32794
32814
|
instrumental: true,
|
|
32795
32815
|
style: "modern podcast intro, upbeat and confident, catchy synth hook, punchy beat, Allegro, instrumental"
|
|
32796
32816
|
}
|
|
@@ -32801,7 +32821,7 @@ var SUNO_GENERATE_PRESETS = [
|
|
|
32801
32821
|
description: "Epic orchestral build.",
|
|
32802
32822
|
group: "By Use-Case",
|
|
32803
32823
|
data: {
|
|
32804
|
-
model: "
|
|
32824
|
+
model: "V6",
|
|
32805
32825
|
instrumental: true,
|
|
32806
32826
|
style: "epic cinematic trailer, dramatic and intense, full orchestra, taiko drums, brass swells, crescendo into a powerful hit, instrumental"
|
|
32807
32827
|
}
|
|
@@ -32812,7 +32832,7 @@ var SUNO_GENERATE_PRESETS = [
|
|
|
32812
32832
|
description: "Bright, motivational.",
|
|
32813
32833
|
group: "By Use-Case",
|
|
32814
32834
|
data: {
|
|
32815
|
-
model: "
|
|
32835
|
+
model: "V6",
|
|
32816
32836
|
instrumental: true,
|
|
32817
32837
|
style: "upbeat corporate, optimistic and motivational, bright piano, claps, clean electronic beat, Allegro 120 BPM, instrumental"
|
|
32818
32838
|
}
|
|
@@ -32823,7 +32843,7 @@ var SUNO_GENERATE_PRESETS = [
|
|
|
32823
32843
|
description: "Feel-good acoustic bed.",
|
|
32824
32844
|
group: "By Use-Case",
|
|
32825
32845
|
data: {
|
|
32826
|
-
model: "
|
|
32846
|
+
model: "V6",
|
|
32827
32847
|
instrumental: true,
|
|
32828
32848
|
style: "feel-good vlog background, light and breezy, acoustic guitar, claps, warm and unobtrusive, Andante, instrumental"
|
|
32829
32849
|
}
|
|
@@ -32834,7 +32854,7 @@ var SUNO_GENERATE_PRESETS = [
|
|
|
32834
32854
|
description: "Calm meditative pads.",
|
|
32835
32855
|
group: "By Use-Case",
|
|
32836
32856
|
data: {
|
|
32837
|
-
model: "
|
|
32857
|
+
model: "V6",
|
|
32838
32858
|
instrumental: true,
|
|
32839
32859
|
style: "ambient soundscape, calm and meditative, soft evolving synth pads, gentle textures, reverb-heavy, Adagio, instrumental"
|
|
32840
32860
|
}
|
|
@@ -32845,7 +32865,7 @@ var SUNO_GENERATE_PRESETS = [
|
|
|
32845
32865
|
description: "Festival build and drop.",
|
|
32846
32866
|
group: "By Use-Case",
|
|
32847
32867
|
data: {
|
|
32848
|
-
model: "
|
|
32868
|
+
model: "V6",
|
|
32849
32869
|
instrumental: true,
|
|
32850
32870
|
style: "festival EDM, euphoric and energetic, big supersaw leads, sidechain bass, build-up and powerful drop, Allegro 128 BPM, instrumental"
|
|
32851
32871
|
}
|
|
@@ -32856,7 +32876,7 @@ var SUNO_GENERATE_PRESETS = [
|
|
|
32856
32876
|
description: "Playful 8-bit loop.",
|
|
32857
32877
|
group: "By Use-Case",
|
|
32858
32878
|
data: {
|
|
32859
|
-
model: "
|
|
32879
|
+
model: "V6",
|
|
32860
32880
|
instrumental: true,
|
|
32861
32881
|
style: "video game chiptune, playful and adventurous, 8-bit synths, catchy melody, energetic, instrumental"
|
|
32862
32882
|
}
|
|
@@ -32868,7 +32888,7 @@ var SUNO_GENERATE_PRESETS = [
|
|
|
32868
32888
|
description: "Dusty laid-back groove.",
|
|
32869
32889
|
group: "By Genre",
|
|
32870
32890
|
data: {
|
|
32871
|
-
model: "
|
|
32891
|
+
model: "V6",
|
|
32872
32892
|
instrumental: true,
|
|
32873
32893
|
style: "lo-fi hip-hop, jazzy and mellow, dusty Rhodes chords, vinyl warmth, laid-back boom-bap groove, instrumental"
|
|
32874
32894
|
}
|
|
@@ -32879,7 +32899,7 @@ var SUNO_GENERATE_PRESETS = [
|
|
|
32879
32899
|
description: "Club-energy four-on-the-floor.",
|
|
32880
32900
|
group: "By Genre",
|
|
32881
32901
|
data: {
|
|
32882
|
-
model: "
|
|
32902
|
+
model: "V6",
|
|
32883
32903
|
instrumental: true,
|
|
32884
32904
|
style: "house EDM, energetic and euphoric, four-on-the-floor beat, catchy plucky synths, club energy, Allegro 124 BPM, instrumental"
|
|
32885
32905
|
}
|
|
@@ -32890,7 +32910,7 @@ var SUNO_GENERATE_PRESETS = [
|
|
|
32890
32910
|
description: "Driving anthemic guitars.",
|
|
32891
32911
|
group: "By Genre",
|
|
32892
32912
|
data: {
|
|
32893
|
-
model: "
|
|
32913
|
+
model: "V6",
|
|
32894
32914
|
instrumental: true,
|
|
32895
32915
|
style: "rock anthem, energetic and driving, distorted electric guitars, pounding drums, anthemic, instrumental"
|
|
32896
32916
|
}
|
|
@@ -32901,7 +32921,7 @@ var SUNO_GENERATE_PRESETS = [
|
|
|
32901
32921
|
description: "Late-night sophistication.",
|
|
32902
32922
|
group: "By Genre",
|
|
32903
32923
|
data: {
|
|
32904
|
-
model: "
|
|
32924
|
+
model: "V6",
|
|
32905
32925
|
instrumental: true,
|
|
32906
32926
|
style: "smooth jazz, relaxed and sophisticated, warm saxophone, brushed drums, walking bass, late-night, instrumental"
|
|
32907
32927
|
}
|
|
@@ -32912,7 +32932,7 @@ var SUNO_GENERATE_PRESETS = [
|
|
|
32912
32932
|
description: "Spacious and serene.",
|
|
32913
32933
|
group: "By Genre",
|
|
32914
32934
|
data: {
|
|
32915
|
-
model: "
|
|
32935
|
+
model: "V6",
|
|
32916
32936
|
instrumental: true,
|
|
32917
32937
|
style: "ambient, serene and spacious, lush synth pads, field-recording textures, slow and meditative, instrumental"
|
|
32918
32938
|
}
|
|
@@ -32923,7 +32943,7 @@ var SUNO_GENERATE_PRESETS = [
|
|
|
32923
32943
|
description: "Grand cinematic ensemble.",
|
|
32924
32944
|
group: "By Genre",
|
|
32925
32945
|
data: {
|
|
32926
|
-
model: "
|
|
32946
|
+
model: "V6",
|
|
32927
32947
|
instrumental: true,
|
|
32928
32948
|
style: "epic orchestral, grand and cinematic, sweeping strings, brass, woodwinds, timpani, dramatic, instrumental"
|
|
32929
32949
|
}
|
|
@@ -32934,7 +32954,7 @@ var SUNO_GENERATE_PRESETS = [
|
|
|
32934
32954
|
description: "80s neon nostalgia.",
|
|
32935
32955
|
group: "By Genre",
|
|
32936
32956
|
data: {
|
|
32937
|
-
model: "
|
|
32957
|
+
model: "V6",
|
|
32938
32958
|
instrumental: true,
|
|
32939
32959
|
style: "80s synthwave, nostalgic and cool, retro analog synths, pulsing bass, gated drums, neon, Andante 110 BPM, instrumental"
|
|
32940
32960
|
}
|
|
@@ -32945,7 +32965,7 @@ var SUNO_GENERATE_PRESETS = [
|
|
|
32945
32965
|
description: "Groovy and danceable.",
|
|
32946
32966
|
group: "By Genre",
|
|
32947
32967
|
data: {
|
|
32948
|
-
model: "
|
|
32968
|
+
model: "V6",
|
|
32949
32969
|
instrumental: true,
|
|
32950
32970
|
style: "funk and soul, groovy and fun, slap bass, wah guitar, tight horn section, danceable, instrumental"
|
|
32951
32971
|
}
|
|
@@ -32957,7 +32977,7 @@ var SUNO_GENERATE_PRESETS = [
|
|
|
32957
32977
|
description: "Catchy vocal pop \u2014 add lyrics.",
|
|
32958
32978
|
group: "Vocals & Songs",
|
|
32959
32979
|
data: {
|
|
32960
|
-
model: "
|
|
32980
|
+
model: "V6",
|
|
32961
32981
|
instrumental: false,
|
|
32962
32982
|
style: "upbeat pop, catchy and bright, shimmering synths, four-on-the-floor, female vocals, Allegro 120 BPM, verse-chorus-verse with bridge"
|
|
32963
32983
|
}
|
|
@@ -32968,7 +32988,7 @@ var SUNO_GENERATE_PRESETS = [
|
|
|
32968
32988
|
description: "Hard-hitting verses \u2014 add bars.",
|
|
32969
32989
|
group: "Vocals & Songs",
|
|
32970
32990
|
data: {
|
|
32971
|
-
model: "
|
|
32991
|
+
model: "V6",
|
|
32972
32992
|
instrumental: false,
|
|
32973
32993
|
style: "modern hip-hop, confident, hard-hitting 808s, trap hi-hats, male rap vocals, verse-hook-verse"
|
|
32974
32994
|
}
|
|
@@ -32979,7 +32999,7 @@ var SUNO_GENERATE_PRESETS = [
|
|
|
32979
32999
|
description: "Heartfelt vocals \u2014 add lyrics.",
|
|
32980
33000
|
group: "Vocals & Songs",
|
|
32981
33001
|
data: {
|
|
32982
|
-
model: "
|
|
33002
|
+
model: "V6",
|
|
32983
33003
|
instrumental: false,
|
|
32984
33004
|
style: "emotional ballad, tender and heartfelt, piano and strings, soulful vocals, Adagio, verse-chorus with a big bridge"
|
|
32985
33005
|
}
|
|
@@ -32990,7 +33010,7 @@ var SUNO_GENERATE_PRESETS = [
|
|
|
32990
33010
|
description: "Soaring chorus \u2014 add lyrics.",
|
|
32991
33011
|
group: "Vocals & Songs",
|
|
32992
33012
|
data: {
|
|
32993
|
-
model: "
|
|
33013
|
+
model: "V6",
|
|
32994
33014
|
instrumental: false,
|
|
32995
33015
|
style: "anthemic rock, powerful, driving guitars, big drums, male vocals, soaring chorus, verse-pre-chorus-chorus"
|
|
32996
33016
|
}
|
|
@@ -33001,7 +33021,7 @@ var SUNO_GENERATE_PRESETS = [
|
|
|
33001
33021
|
description: "Warm and intimate \u2014 add lyrics.",
|
|
33002
33022
|
group: "Vocals & Songs",
|
|
33003
33023
|
data: {
|
|
33004
|
-
model: "
|
|
33024
|
+
model: "V6",
|
|
33005
33025
|
instrumental: false,
|
|
33006
33026
|
style: "acoustic singer-songwriter, warm and intimate, fingerpicked guitar, soft vocals, Andante, verse-chorus"
|
|
33007
33027
|
}
|
|
@@ -33012,42 +33032,42 @@ var SUNO_GENERATE_PRESETS = [
|
|
|
33012
33032
|
name: "Trailer Riser / Braam",
|
|
33013
33033
|
description: "Pure rising tension hit.",
|
|
33014
33034
|
group: "By Use-Case",
|
|
33015
|
-
data: { model: "
|
|
33035
|
+
data: { model: "V6", instrumental: true, style: "cinematic trailer riser and braam, tense and building, rising whoosh into a deep brass impact, no melody, instrumental" }
|
|
33016
33036
|
},
|
|
33017
33037
|
{
|
|
33018
33038
|
id: "suno-generate/calm-corporate",
|
|
33019
33039
|
name: "Calm Corporate / Tech",
|
|
33020
33040
|
description: "Soft, professional bed.",
|
|
33021
33041
|
group: "By Use-Case",
|
|
33022
|
-
data: { model: "
|
|
33042
|
+
data: { model: "V6", instrumental: true, style: "calm corporate tech, professional and clean, soft synth pads, gentle pulse, Andante, instrumental" }
|
|
33023
33043
|
},
|
|
33024
33044
|
{
|
|
33025
33045
|
id: "suno-generate/holiday",
|
|
33026
33046
|
name: "Holiday / Festive",
|
|
33027
33047
|
description: "Warm seasonal cheer.",
|
|
33028
33048
|
group: "By Use-Case",
|
|
33029
|
-
data: { model: "
|
|
33049
|
+
data: { model: "V6", instrumental: true, style: "festive holiday music, warm and cheerful, sleigh bells, warm orchestration, cozy, instrumental" }
|
|
33030
33050
|
},
|
|
33031
33051
|
{
|
|
33032
33052
|
id: "suno-generate/kids",
|
|
33033
33053
|
name: "Kids / Children's",
|
|
33034
33054
|
description: "Playful and simple.",
|
|
33035
33055
|
group: "By Use-Case",
|
|
33036
|
-
data: { model: "
|
|
33056
|
+
data: { model: "V6", instrumental: true, style: "children's music, playful and happy, simple cheerful melody, xylophone and ukulele, bouncy, instrumental" }
|
|
33037
33057
|
},
|
|
33038
33058
|
{
|
|
33039
33059
|
id: "suno-generate/meditation-spa",
|
|
33040
33060
|
name: "Meditation / Spa",
|
|
33041
33061
|
description: "Healing singing bowls.",
|
|
33042
33062
|
group: "By Use-Case",
|
|
33043
|
-
data: { model: "
|
|
33063
|
+
data: { model: "V6", instrumental: true, style: "meditation and spa, serene and healing, singing bowls, soft drones, Adagio, reverb-heavy, instrumental" }
|
|
33044
33064
|
},
|
|
33045
33065
|
{
|
|
33046
33066
|
id: "suno-generate/workout",
|
|
33047
33067
|
name: "Workout / Gym",
|
|
33048
33068
|
description: "High-energy motivation.",
|
|
33049
33069
|
group: "By Use-Case",
|
|
33050
|
-
data: { model: "
|
|
33070
|
+
data: { model: "V6", instrumental: true, style: "high-energy workout, motivational and driving, pumping electronic beat, big synths, Allegro 140 BPM, instrumental" }
|
|
33051
33071
|
},
|
|
33052
33072
|
// ── More By Genre ────────────────────────────────────────────────────────
|
|
33053
33073
|
{
|
|
@@ -33055,42 +33075,42 @@ var SUNO_GENERATE_PRESETS = [
|
|
|
33055
33075
|
name: "Trap Beat",
|
|
33056
33076
|
description: "Booming 808s, dark.",
|
|
33057
33077
|
group: "By Genre",
|
|
33058
|
-
data: { model: "
|
|
33078
|
+
data: { model: "V6", instrumental: true, style: "trap beat, dark and hard, booming 808s, crisp rapid hi-hats, moody, instrumental" }
|
|
33059
33079
|
},
|
|
33060
33080
|
{
|
|
33061
33081
|
id: "suno-generate/dnb",
|
|
33062
33082
|
name: "Drum & Bass",
|
|
33063
33083
|
description: "Fast breakbeats, deep bass.",
|
|
33064
33084
|
group: "By Genre",
|
|
33065
|
-
data: { model: "
|
|
33085
|
+
data: { model: "V6", instrumental: true, style: "drum and bass, fast and energetic, breakbeats, deep rolling bassline, Presto 174 BPM, instrumental" }
|
|
33066
33086
|
},
|
|
33067
33087
|
{
|
|
33068
33088
|
id: "suno-generate/afrobeats",
|
|
33069
33089
|
name: "Afrobeats",
|
|
33070
33090
|
description: "Warm syncopated groove.",
|
|
33071
33091
|
group: "By Genre",
|
|
33072
|
-
data: { model: "
|
|
33092
|
+
data: { model: "V6", instrumental: true, style: "afrobeats, groovy and warm, syncopated percussion, warm bass, bright melodies, danceable, instrumental" }
|
|
33073
33093
|
},
|
|
33074
33094
|
{
|
|
33075
33095
|
id: "suno-generate/country",
|
|
33076
33096
|
name: "Country / Americana",
|
|
33077
33097
|
description: "Acoustic, heartfelt.",
|
|
33078
33098
|
group: "By Genre",
|
|
33079
|
-
data: { model: "
|
|
33099
|
+
data: { model: "V6", instrumental: true, style: "country americana, warm and heartfelt, acoustic and slide guitar, storytelling feel, instrumental" }
|
|
33080
33100
|
},
|
|
33081
33101
|
{
|
|
33082
33102
|
id: "suno-generate/phonk",
|
|
33083
33103
|
name: "Phonk",
|
|
33084
33104
|
description: "Dark drift-phonk for reels.",
|
|
33085
33105
|
group: "By Genre",
|
|
33086
|
-
data: { model: "
|
|
33106
|
+
data: { model: "V6", instrumental: true, style: "drift phonk, dark and aggressive, distorted 808 cowbell, menacing beat, lo-fi grit, instrumental" }
|
|
33087
33107
|
},
|
|
33088
33108
|
{
|
|
33089
33109
|
id: "suno-generate/reggae",
|
|
33090
33110
|
name: "Reggae / Dub",
|
|
33091
33111
|
description: "Laid-back island groove.",
|
|
33092
33112
|
group: "By Genre",
|
|
33093
|
-
data: { model: "
|
|
33113
|
+
data: { model: "V6", instrumental: true, style: "reggae dub, laid-back and sunny, off-beat skank guitar, deep dub bassline, relaxed island groove, instrumental" }
|
|
33094
33114
|
},
|
|
33095
33115
|
// ── More Vocals & Songs ──────────────────────────────────────────────────
|
|
33096
33116
|
{
|
|
@@ -33098,14 +33118,14 @@ var SUNO_GENERATE_PRESETS = [
|
|
|
33098
33118
|
name: "R&B / Soul (vocal)",
|
|
33099
33119
|
description: "Smooth soulful vocals \u2014 add lyrics.",
|
|
33100
33120
|
group: "Vocals & Songs",
|
|
33101
|
-
data: { model: "
|
|
33121
|
+
data: { model: "V6", instrumental: false, style: "smooth R&B soul, sensual and warm, lush chords, soft drums, soulful vocals, Andante, verse-chorus with ad-libs" }
|
|
33102
33122
|
},
|
|
33103
33123
|
{
|
|
33104
33124
|
id: "suno-generate/song-kpop",
|
|
33105
33125
|
name: "K-Pop (vocal)",
|
|
33106
33126
|
description: "Polished hook \u2014 add lyrics.",
|
|
33107
33127
|
group: "Vocals & Songs",
|
|
33108
|
-
data: { model: "
|
|
33128
|
+
data: { model: "V6", instrumental: false, style: "K-pop, polished and energetic, bright synths, punchy drums, layered vocals, Allegro 120 BPM, verse-pre-chorus-chorus" }
|
|
33109
33129
|
}
|
|
33110
33130
|
];
|
|
33111
33131
|
|
|
@@ -35419,6 +35439,7 @@ exports.isMinorAge = isMinorAge;
|
|
|
35419
35439
|
exports.isSuspiciousDerivedTerm = isSuspiciousDerivedTerm;
|
|
35420
35440
|
exports.isVantageFraming = isVantageFraming;
|
|
35421
35441
|
exports.isWizardSupported = isWizardSupported;
|
|
35442
|
+
exports.joinHintFragments = joinHintFragments;
|
|
35422
35443
|
exports.joinPromptHints = joinPromptHints;
|
|
35423
35444
|
exports.joinPromptParts = joinPromptParts;
|
|
35424
35445
|
exports.keepableDirectionHints = keepableDirectionHints;
|