@nodaro/prompts 1.21.0 → 1.25.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 +191 -45
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +362 -207
- package/dist/index.d.ts +362 -207
- package/dist/index.js +183 -46
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
- package/src/__tests__/assemble-video-input.test.ts +20 -12
- package/src/__tests__/camera-motion-approved.test.ts +46 -0
- package/src/__tests__/camera-motions-from-connections.test.ts +3 -2
- package/src/__tests__/catalog-packs.test.ts +13 -0
- package/src/__tests__/character-fx-timing-catalogs.test.ts +3 -2
- package/src/__tests__/factory-presets.test.ts +28 -3
- package/src/__tests__/fixtures/camera-motion-approved.json +330 -0
- package/src/__tests__/fixtures/parameter-hint-golden.json +32 -16
- package/src/__tests__/hint-join.test.ts +3 -2
- package/src/__tests__/node-prompt-fields.test.ts +2 -2
- package/src/__tests__/parameter-hint-mode.test.ts +17 -5
- package/src/__tests__/prompt-style-section.test.ts +2 -2
- package/src/__tests__/transitions-instant.test.ts +242 -0
- package/src/__tests__/transitions-scope.test.ts +160 -0
- package/src/__tests__/transitions.test.ts +9 -9
- package/src/ad-creative-analysis.ts +99 -0
- package/src/camera-motions.ts +21 -21
- package/src/catalog-packs.ts +13 -2
- package/src/direction-registry.ts +2 -2
- package/src/factory-presets/generate-video.ts +22 -0
- package/src/index.ts +3 -0
- package/src/node-prompt-fields.ts +4 -0
- package/src/picker-catalogs.ts +13 -0
- package/src/ref-binding.ts +19 -0
- package/src/transitions.ts +204 -27
- package/src/video-reference-resolver.ts +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -1121,6 +1121,297 @@ interface StructuredPromptFields {
|
|
|
1121
1121
|
*/
|
|
1122
1122
|
declare function renderStructuredFields(fields: StructuredPromptFields): string;
|
|
1123
1123
|
|
|
1124
|
+
/**
|
|
1125
|
+
* Canonical catalog of cinematic transitions for AI-video generation.
|
|
1126
|
+
*
|
|
1127
|
+
* Shared between frontend (picker UI, prompt hint injection) and backend
|
|
1128
|
+
* (orchestrator payload builder). The `promptHint` is a natural-language
|
|
1129
|
+
* cue that gets composed into the user prompt when a transition node is
|
|
1130
|
+
* connected to a video consumer.
|
|
1131
|
+
*
|
|
1132
|
+
* Multi-pick supported: value field accepts `string | string[]` (cap 2).
|
|
1133
|
+
* Graph-aware: `startState` / `endState` input handles accept upstream
|
|
1134
|
+
* parameter nodes whose hints are folded into the composed clause as
|
|
1135
|
+
* "starting from <X>, ending at <Y>".
|
|
1136
|
+
*/
|
|
1137
|
+
|
|
1138
|
+
type TransitionCategory = "standard" | "time" | "element" | "morph" | "portal" | "physics" | "light" | "glitch";
|
|
1139
|
+
interface Transition {
|
|
1140
|
+
readonly id: string;
|
|
1141
|
+
readonly label: string;
|
|
1142
|
+
readonly category: TransitionCategory;
|
|
1143
|
+
readonly description: string;
|
|
1144
|
+
readonly promptHint: string;
|
|
1145
|
+
/**
|
|
1146
|
+
* Optional authored compact term (see `term.ts`). Authored where the
|
|
1147
|
+
* lowercased label is not what an editor would write in a prompt — a UI
|
|
1148
|
+
* compound ("None / Hard Cut" → "hard cut"), an annotation the derivation
|
|
1149
|
+
* drops ("Fast-Forward (Day → Night)" → "day-to-night time-lapse"), a bare
|
|
1150
|
+
* word that collides with another meaning ("Melt Down", "Channel Flip",
|
|
1151
|
+
* "Roll"), or a coinage that is not the trade term ("Seamless Match" →
|
|
1152
|
+
* "invisible cut"). Everywhere else the label IS the term.
|
|
1153
|
+
*/
|
|
1154
|
+
readonly term?: string;
|
|
1155
|
+
/**
|
|
1156
|
+
* `true` on rows whose mechanism IS A CUT — the change happens between two
|
|
1157
|
+
* frames, so it has no duration to time. A duration clause ("lasting
|
|
1158
|
+
* approximately 1 second") on such a row tells the video model to spend a
|
|
1159
|
+
* second on the change, and it obliges with a dissolve: a match cut rendered
|
|
1160
|
+
* as a 1.75 s cross-dissolve in QA. The composer therefore skips the duration
|
|
1161
|
+
* lever when every picked transition is instant, and consumers (the picker
|
|
1162
|
+
* UI, Studio) read `isInstantTransition` to hide that lever.
|
|
1163
|
+
*
|
|
1164
|
+
* The same holds for INTENSITY: every intensity clause describes how the
|
|
1165
|
+
* change PERFORMS over time ("natural unhurried timing", "wild flourishes and
|
|
1166
|
+
* dramatic distortion"), and a cut has no performance to shape — "unhurried"
|
|
1167
|
+
* on a match cut is another invitation to blend. So the composer drops the
|
|
1168
|
+
* intensity clause too when every pick is instant. Position still applies —
|
|
1169
|
+
* WHERE the cut lands is a real choice — except `full`: a single-frame cut
|
|
1170
|
+
* cannot "span the entire clip", so that clause is dropped on an all-instant
|
|
1171
|
+
* pick (start / middle / end still place the cut).
|
|
1172
|
+
*
|
|
1173
|
+
* The bare term is not enough on its own either: "match cut" still came back
|
|
1174
|
+
* as a ~1 s superimposition in prod QA (seedance-2-5). The composer therefore
|
|
1175
|
+
* puts `INSTANT_CUT_CLAUSE` inside an all-instant pick's parentheses, once — the explicit
|
|
1176
|
+
* anti-blend instruction that made the model render a true single-frame cut.
|
|
1177
|
+
*/
|
|
1178
|
+
readonly instant?: boolean;
|
|
1179
|
+
}
|
|
1180
|
+
/**
|
|
1181
|
+
* The three timing scales, each derived from the catalog that defines it (see
|
|
1182
|
+
* `TRANSITION_POSITIONS` and friends below).
|
|
1183
|
+
*
|
|
1184
|
+
* The direction matters. These used to be hand-written unions with the clause
|
|
1185
|
+
* tables written out separately beside them, so the two could disagree: add a
|
|
1186
|
+
* step to the union, forget the clause, and the composer indexed a missing key
|
|
1187
|
+
* — pushing `undefined` into the parts list, which `join(", ")` renders as a
|
|
1188
|
+
* dangling separator on a prompt that then ships to a provider with the user's
|
|
1189
|
+
* chosen parameter silently dropped. Deriving the union FROM the catalog makes
|
|
1190
|
+
* that unrepresentable: one array is the source of the type, the option list
|
|
1191
|
+
* the API serves, and the clause table, so a new step reaches all three or
|
|
1192
|
+
* none. The exact id sets are pinned by `transition-timing-catalogs.test.ts`.
|
|
1193
|
+
*/
|
|
1194
|
+
type TransitionPosition = (typeof TRANSITION_POSITIONS)[number]["id"];
|
|
1195
|
+
type TransitionDuration = (typeof TRANSITION_DURATIONS)[number]["id"];
|
|
1196
|
+
type TransitionIntensity = (typeof TRANSITION_INTENSITIES)[number]["id"];
|
|
1197
|
+
interface TransitionTiming {
|
|
1198
|
+
position?: TransitionPosition;
|
|
1199
|
+
duration?: TransitionDuration;
|
|
1200
|
+
intensity?: TransitionIntensity;
|
|
1201
|
+
}
|
|
1202
|
+
declare const TRANSITIONS: ReadonlyArray<Transition>;
|
|
1203
|
+
declare const TRANSITION_CATEGORY_ORDER: ReadonlyArray<TransitionCategory>;
|
|
1204
|
+
declare const TRANSITION_CATEGORY_LABELS: Readonly<Record<TransitionCategory, string>>;
|
|
1205
|
+
declare function getTransition(id: string | undefined | null): Transition | undefined;
|
|
1206
|
+
declare function getTransitionLabel(id: string | undefined | null, fallback?: string): string;
|
|
1207
|
+
declare function getTransitionPromptHint(id: string | undefined | null): string;
|
|
1208
|
+
/**
|
|
1209
|
+
* Compact professional TERM for an id — the short phrase an editor would write
|
|
1210
|
+
* in a prompt ("hard cut", "invisible cut", "day-to-night time-lapse"), as
|
|
1211
|
+
* opposed to the paragraph-length `promptHint`.
|
|
1212
|
+
*
|
|
1213
|
+
* Same lookup and same empty-string-on-miss behavior as
|
|
1214
|
+
* `getTransitionPromptHint`, so the two can never disagree about which entry
|
|
1215
|
+
* they describe. The no-op "Auto" entry resolves to `""` in both.
|
|
1216
|
+
*/
|
|
1217
|
+
declare function getTransitionTerm(id: string | undefined | null): string;
|
|
1218
|
+
declare const TRANSITION_IDS: ReadonlyArray<string>;
|
|
1219
|
+
/**
|
|
1220
|
+
* Whether a transition is a CUT — instantaneous by nature, so it takes no
|
|
1221
|
+
* duration (see `Transition.instant`). Reads through `getTransition`, so it
|
|
1222
|
+
* answers for the same entry every other getter describes; an unknown id, the
|
|
1223
|
+
* no-op "auto" and an empty value are all `false`.
|
|
1224
|
+
*
|
|
1225
|
+
* A multi-pick (`string[]`) is instant only when EVERY picked id is: a cut
|
|
1226
|
+
* paired with a dissolve still has a dissolve to time.
|
|
1227
|
+
*/
|
|
1228
|
+
declare function isInstantTransition(id: string | ReadonlyArray<string> | undefined | null): boolean;
|
|
1229
|
+
/**
|
|
1230
|
+
* The anti-blend instruction an all-instant transition pick carries — the ONE
|
|
1231
|
+
* place this sentence lives (see `Transition.instant`). Each row keeps its own
|
|
1232
|
+
* meaning in its own hint (a match cut still matches shapes, snap to black
|
|
1233
|
+
* still holds black for a beat); this clause only forbids the blend a video
|
|
1234
|
+
* model otherwise puts between the two images. Measured on prod with
|
|
1235
|
+
* seedance-2-5: with it, a match cut renders as a true single-frame hard cut,
|
|
1236
|
+
* with and without an end frame; without it, as a ~1 s dissolve.
|
|
1237
|
+
*/
|
|
1238
|
+
declare const INSTANT_CUT_CLAUSE = "an abrupt single-frame hard cut, no dissolve, crossfade or superimposition; the two images never blend";
|
|
1239
|
+
/**
|
|
1240
|
+
* The transition BASE fragments for a pick — one `<term> (<hint body>)` per id
|
|
1241
|
+
* that resolves to a term, in pick order. When EVERY contributing id is
|
|
1242
|
+
* instant, the FIRST fragment's parentheses also carry `; INSTANT_CUT_CLAUSE`
|
|
1243
|
+
* (once per pick — two cuts picked together are still one cut). FIRST, not
|
|
1244
|
+
* last: the direction fold sheds fragments from the TAIL under a provider cap,
|
|
1245
|
+
* so the clause rides the fragment that survives longest. A mixed pick carries
|
|
1246
|
+
* no clause: its non-cut is meant to blend.
|
|
1247
|
+
*
|
|
1248
|
+
* The same text in both hint modes. A transition only ever reaches a VIDEO
|
|
1249
|
+
* prompt (the registry row is `surface: "video"`; the canvas node is in
|
|
1250
|
+
* `VIDEO_ONLY_PARAMETER_NODE_TYPES`), and there the bare compact term was not
|
|
1251
|
+
* enough to steer the model, so the mode no longer changes a transition.
|
|
1252
|
+
*
|
|
1253
|
+
* Each fragment is ONE string, parentheses included: the cap-aware assemblers
|
|
1254
|
+
* shed whole fragments from the tail, so a fragment is kept or dropped whole
|
|
1255
|
+
* and can never lose its hint or its clause on its own.
|
|
1256
|
+
*
|
|
1257
|
+
* Shared by `composeTransitionHintFromConnections` (the canvas transition node,
|
|
1258
|
+
* Studio's transition clauses) and the direction registry's `transition` row
|
|
1259
|
+
* (the server fold of `direction.transition`), so both paths word a transition
|
|
1260
|
+
* identically.
|
|
1261
|
+
*/
|
|
1262
|
+
declare function renderTransitionBases(ids: ReadonlyArray<string>, _mode?: PickerHintMode): string[];
|
|
1263
|
+
/**
|
|
1264
|
+
* The transition node's three timing parameters, as catalogs.
|
|
1265
|
+
*
|
|
1266
|
+
* These are graded scales, not free numbers — the same shape as
|
|
1267
|
+
* `exposure-settings`' aperture or `temporal`'s speed — so a consumer that can
|
|
1268
|
+
* only send ids (Studio, the SDK, MCP) can offer them without composing prompt
|
|
1269
|
+
* text of its own. `auto` is the no-op head of each scale: an empty
|
|
1270
|
+
* `promptHint`, so an unset parameter contributes nothing and the model is left
|
|
1271
|
+
* to decide, exactly as before these were enumerable.
|
|
1272
|
+
*
|
|
1273
|
+
* `POSITION_CLAUSES` / `DURATION_CLAUSES` / `INTENSITY_CLAUSES` below are
|
|
1274
|
+
* DERIVED from these arrays, so the clause the composer injects and the hint
|
|
1275
|
+
* the catalog advertises are the same string by construction and cannot drift.
|
|
1276
|
+
*/
|
|
1277
|
+
interface TransitionTimingOption {
|
|
1278
|
+
readonly id: string;
|
|
1279
|
+
readonly label: string;
|
|
1280
|
+
readonly description: string;
|
|
1281
|
+
readonly promptHint: string;
|
|
1282
|
+
readonly term?: string;
|
|
1283
|
+
}
|
|
1284
|
+
declare const TRANSITION_POSITIONS: readonly [{
|
|
1285
|
+
readonly id: "auto";
|
|
1286
|
+
readonly label: "Auto";
|
|
1287
|
+
readonly description: "Let the model place it";
|
|
1288
|
+
readonly promptHint: "";
|
|
1289
|
+
readonly term: "";
|
|
1290
|
+
}, {
|
|
1291
|
+
readonly id: "start";
|
|
1292
|
+
readonly label: "Start";
|
|
1293
|
+
readonly description: "At the opening of the clip";
|
|
1294
|
+
readonly promptHint: "the transition occurs at the opening of the clip";
|
|
1295
|
+
readonly term: "at the opening of the clip";
|
|
1296
|
+
}, {
|
|
1297
|
+
readonly id: "middle";
|
|
1298
|
+
readonly label: "Middle";
|
|
1299
|
+
readonly description: "In the middle of the clip";
|
|
1300
|
+
readonly promptHint: "the transition occurs in the middle of the clip";
|
|
1301
|
+
readonly term: "mid-clip";
|
|
1302
|
+
}, {
|
|
1303
|
+
readonly id: "end";
|
|
1304
|
+
readonly label: "End";
|
|
1305
|
+
readonly description: "At the end of the clip";
|
|
1306
|
+
readonly promptHint: "the transition occurs at the end of the clip";
|
|
1307
|
+
readonly term: "at the end of the clip";
|
|
1308
|
+
}, {
|
|
1309
|
+
readonly id: "full";
|
|
1310
|
+
readonly label: "Full";
|
|
1311
|
+
readonly description: "Spans the entire clip";
|
|
1312
|
+
readonly promptHint: "the transition spans the entire clip";
|
|
1313
|
+
readonly term: "across the whole clip";
|
|
1314
|
+
}];
|
|
1315
|
+
declare const TRANSITION_DURATIONS: readonly [{
|
|
1316
|
+
readonly id: "auto";
|
|
1317
|
+
readonly label: "Auto";
|
|
1318
|
+
readonly description: "Let the model time it";
|
|
1319
|
+
readonly promptHint: "";
|
|
1320
|
+
readonly term: "";
|
|
1321
|
+
}, {
|
|
1322
|
+
readonly id: "instant";
|
|
1323
|
+
readonly label: "Instant";
|
|
1324
|
+
readonly description: "No perceptible duration";
|
|
1325
|
+
readonly promptHint: "occurring instantaneously";
|
|
1326
|
+
readonly term: "instantaneous";
|
|
1327
|
+
}, {
|
|
1328
|
+
readonly id: "short";
|
|
1329
|
+
readonly label: "Short (~1s)";
|
|
1330
|
+
readonly description: "Approximately 1 second";
|
|
1331
|
+
readonly promptHint: "lasting approximately 1 second";
|
|
1332
|
+
readonly term: "about 1 second";
|
|
1333
|
+
}, {
|
|
1334
|
+
readonly id: "medium";
|
|
1335
|
+
readonly label: "Medium (~2s)";
|
|
1336
|
+
readonly description: "Approximately 2 seconds";
|
|
1337
|
+
readonly promptHint: "lasting approximately 2 seconds";
|
|
1338
|
+
readonly term: "about 2 seconds";
|
|
1339
|
+
}, {
|
|
1340
|
+
readonly id: "long";
|
|
1341
|
+
readonly label: "Long (~3s)";
|
|
1342
|
+
readonly description: "Approximately 3 seconds";
|
|
1343
|
+
readonly promptHint: "lasting approximately 3 seconds";
|
|
1344
|
+
readonly term: "about 3 seconds";
|
|
1345
|
+
}];
|
|
1346
|
+
declare const TRANSITION_INTENSITIES: readonly [{
|
|
1347
|
+
readonly id: "auto";
|
|
1348
|
+
readonly label: "Auto";
|
|
1349
|
+
readonly description: "Let the model judge it";
|
|
1350
|
+
readonly promptHint: "";
|
|
1351
|
+
readonly term: "";
|
|
1352
|
+
}, {
|
|
1353
|
+
readonly id: "subtle";
|
|
1354
|
+
readonly label: "Subtle";
|
|
1355
|
+
readonly description: "Restrained, minimal flourish";
|
|
1356
|
+
readonly promptHint: "with subtle restrained energy and minimal flourish";
|
|
1357
|
+
readonly term: "subtly";
|
|
1358
|
+
}, {
|
|
1359
|
+
readonly id: "natural";
|
|
1360
|
+
readonly label: "Natural";
|
|
1361
|
+
readonly description: "Unhurried, unforced timing";
|
|
1362
|
+
readonly promptHint: "with natural timing";
|
|
1363
|
+
readonly term: "at a natural pace";
|
|
1364
|
+
}, {
|
|
1365
|
+
readonly id: "dynamic";
|
|
1366
|
+
readonly label: "Dynamic";
|
|
1367
|
+
readonly description: "Assertive, energetic";
|
|
1368
|
+
readonly promptHint: "with dynamic energy and assertive flourish";
|
|
1369
|
+
readonly term: "energetically";
|
|
1370
|
+
}, {
|
|
1371
|
+
readonly id: "crazy";
|
|
1372
|
+
readonly label: "Crazy";
|
|
1373
|
+
readonly description: "Extreme, wild, distorted";
|
|
1374
|
+
readonly promptHint: "with extreme exaggerated energy, wild flourishes, and dramatic distortion";
|
|
1375
|
+
readonly term: "wildly exaggerated";
|
|
1376
|
+
}];
|
|
1377
|
+
/**
|
|
1378
|
+
* Where the composed hint lands. `"clip"` (the default) is a whole video's
|
|
1379
|
+
* prompt, so a position is placed within "the clip". `"shot"` is one shot's
|
|
1380
|
+
* time window inside a multi-shot prompt (`0-2s — …`, `2-4s — …`): there "the
|
|
1381
|
+
* middle of the clip" points the model at the wrong span, so the position
|
|
1382
|
+
* clause says "of this shot" instead.
|
|
1383
|
+
*/
|
|
1384
|
+
type TransitionHintScope = "clip" | "shot";
|
|
1385
|
+
interface TransitionHintOptions {
|
|
1386
|
+
readonly scope?: TransitionHintScope;
|
|
1387
|
+
}
|
|
1388
|
+
/**
|
|
1389
|
+
* Compose a structural prompt-hint sentence from a transition id (or array
|
|
1390
|
+
* of 1-2 ids for multi-pick) plus optional start-state/end-state hints
|
|
1391
|
+
* (collected by walking the source node's startState / endState input
|
|
1392
|
+
* handle edges upstream) and optional timing fields.
|
|
1393
|
+
*
|
|
1394
|
+
* Behavior:
|
|
1395
|
+
* - 0 hints (no transition, empty array, or all-empty hints) → ""
|
|
1396
|
+
* - each pick rendered `<term> (<hint body>)` (`renderTransitionBases`),
|
|
1397
|
+
* n picks joined with ", and "
|
|
1398
|
+
* - Timing/start/end clauses apply ONCE at the outer layer, not per-id
|
|
1399
|
+
* - When every picked id is instant (a cut — see `isInstantTransition`) the
|
|
1400
|
+
* first base's parentheses carry `INSTANT_CUT_CLAUSE` once, and the
|
|
1401
|
+
* duration and intensity clauses are dropped; position still applies,
|
|
1402
|
+
* except `full` — a single-frame cut spans nothing, so it adds no clause
|
|
1403
|
+
* - null input is treated like undefined (falsy short-circuit → returns "")
|
|
1404
|
+
*
|
|
1405
|
+
* @param mode Accepted for the picker-hint signature; a transition composes
|
|
1406
|
+
* the same text in both modes — each pick as `<term> (<hint body>)`, see
|
|
1407
|
+
* `renderTransitionBases`.
|
|
1408
|
+
* @param options `scope: "shot"` when the hint is folded into one shot's time
|
|
1409
|
+
* window of a multi-shot prompt — the position clause then says "of this
|
|
1410
|
+
* shot" instead of "of the clip" (and `full`, on a non-cut, "spans this
|
|
1411
|
+
* entire shot"). Omitted, the wording is the clip's.
|
|
1412
|
+
*/
|
|
1413
|
+
declare function composeTransitionHintFromConnections(transitionId: string | ReadonlyArray<string> | undefined, startHints: ReadonlyArray<string>, endHints: ReadonlyArray<string>, timing?: TransitionTiming, mode?: PickerHintMode, options?: TransitionHintOptions): string;
|
|
1414
|
+
|
|
1124
1415
|
/**
|
|
1125
1416
|
* THE DIRECTION REGISTRY — the single, ordered table of every cinematic
|
|
1126
1417
|
* dimension the flat `direction` channel carries, plus the one renderer that
|
|
@@ -1468,7 +1759,7 @@ declare const DIRECTION_FIELDS: readonly [{
|
|
|
1468
1759
|
readonly surface: "video";
|
|
1469
1760
|
readonly family: "motion";
|
|
1470
1761
|
readonly maxPicks: 2;
|
|
1471
|
-
readonly render:
|
|
1762
|
+
readonly render: typeof renderTransitionBases;
|
|
1472
1763
|
}, {
|
|
1473
1764
|
readonly key: "loopSubject";
|
|
1474
1765
|
readonly surface: "video";
|
|
@@ -2115,6 +2406,19 @@ declare const REF_BINDING: {
|
|
|
2115
2406
|
readonly ordinal: (n: number) => string;
|
|
2116
2407
|
readonly frame: (n: number, role: "opening" | "closing") => string;
|
|
2117
2408
|
};
|
|
2409
|
+
/**
|
|
2410
|
+
* The instruction that makes Seedance EDIT a wired clip rather than use it as a
|
|
2411
|
+
* style reference — the Video to Video node's Seedance lane prepends it to the
|
|
2412
|
+
* user's own sentence. Written with the EDITOR token (`{video:1}`) so it goes
|
|
2413
|
+
* through the same reference resolver as any prompt: the source clip is the
|
|
2414
|
+
* run's first reference video, so it resolves to `@video_1` on the wire. The
|
|
2415
|
+
* instruction lands on its own line after it.
|
|
2416
|
+
*/
|
|
2417
|
+
declare const SEEDANCE_VIDEO_EDIT_PREFIX = "edit {video:1} as follows:\n";
|
|
2418
|
+
/** The user's sentence, framed as an edit of the source clip. Idempotent: a
|
|
2419
|
+
* prompt that already opens with the instruction (a preset's pre text, a
|
|
2420
|
+
* hand-written one, either token spelling) is left alone. */
|
|
2421
|
+
declare function buildSeedanceVideoEditPrompt(prompt: string | undefined): string;
|
|
2118
2422
|
|
|
2119
2423
|
/**
|
|
2120
2424
|
* `{ref:<id>}` / `{ref:<id>:<label>}` — id-addressed reference tokens.
|
|
@@ -3398,6 +3702,16 @@ interface PickerOption {
|
|
|
3398
3702
|
* `label` and inject `term`; they never derive it themselves.
|
|
3399
3703
|
*/
|
|
3400
3704
|
readonly term: string;
|
|
3705
|
+
/**
|
|
3706
|
+
* Transitions only: present (`true`) on a row whose mechanism is a CUT, so
|
|
3707
|
+
* it takes no duration and no intensity — see `Transition.instant` /
|
|
3708
|
+
* `isInstantTransition`. A consumer that only reads this wire catalog
|
|
3709
|
+
* (Studio builds the transition Duration lever from
|
|
3710
|
+
* `getPickerCatalog("transition")`) hides those levers for such a row. Carried from the base catalog; a row a catalog pack ADDS has
|
|
3711
|
+
* it only when the pack's own option says so, and absent means "has a
|
|
3712
|
+
* duration" — the safe reading, since the composer then behaves as before.
|
|
3713
|
+
*/
|
|
3714
|
+
readonly instant?: true;
|
|
3401
3715
|
/** Only present if the source catalog entry already carries a data icon/emoji/thumbnail field. */
|
|
3402
3716
|
readonly icon?: string;
|
|
3403
3717
|
}
|
|
@@ -6960,211 +7274,6 @@ declare function buildTemporalTerms(data: Record<string, unknown> & {
|
|
|
6960
7274
|
temporalShutter?: unknown;
|
|
6961
7275
|
}): string[];
|
|
6962
7276
|
|
|
6963
|
-
/**
|
|
6964
|
-
* Canonical catalog of cinematic transitions for AI-video generation.
|
|
6965
|
-
*
|
|
6966
|
-
* Shared between frontend (picker UI, prompt hint injection) and backend
|
|
6967
|
-
* (orchestrator payload builder). The `promptHint` is a natural-language
|
|
6968
|
-
* cue that gets composed into the user prompt when a transition node is
|
|
6969
|
-
* connected to a video consumer.
|
|
6970
|
-
*
|
|
6971
|
-
* Multi-pick supported: value field accepts `string | string[]` (cap 2).
|
|
6972
|
-
* Graph-aware: `startState` / `endState` input handles accept upstream
|
|
6973
|
-
* parameter nodes whose hints are folded into the composed clause as
|
|
6974
|
-
* "starting from <X>, ending at <Y>".
|
|
6975
|
-
*/
|
|
6976
|
-
|
|
6977
|
-
type TransitionCategory = "standard" | "time" | "element" | "morph" | "portal" | "physics" | "light" | "glitch";
|
|
6978
|
-
interface Transition {
|
|
6979
|
-
readonly id: string;
|
|
6980
|
-
readonly label: string;
|
|
6981
|
-
readonly category: TransitionCategory;
|
|
6982
|
-
readonly description: string;
|
|
6983
|
-
readonly promptHint: string;
|
|
6984
|
-
/**
|
|
6985
|
-
* Optional authored compact term (see `term.ts`). Authored where the
|
|
6986
|
-
* lowercased label is not what an editor would write in a prompt — a UI
|
|
6987
|
-
* compound ("None / Hard Cut" → "hard cut"), an annotation the derivation
|
|
6988
|
-
* drops ("Fast-Forward (Day → Night)" → "day-to-night time-lapse"), a bare
|
|
6989
|
-
* word that collides with another meaning ("Melt Down", "Channel Flip",
|
|
6990
|
-
* "Roll"), or a coinage that is not the trade term ("Seamless Match" →
|
|
6991
|
-
* "invisible cut"). Everywhere else the label IS the term.
|
|
6992
|
-
*/
|
|
6993
|
-
readonly term?: string;
|
|
6994
|
-
}
|
|
6995
|
-
/**
|
|
6996
|
-
* The three timing scales, each derived from the catalog that defines it (see
|
|
6997
|
-
* `TRANSITION_POSITIONS` and friends below).
|
|
6998
|
-
*
|
|
6999
|
-
* The direction matters. These used to be hand-written unions with the clause
|
|
7000
|
-
* tables written out separately beside them, so the two could disagree: add a
|
|
7001
|
-
* step to the union, forget the clause, and the composer indexed a missing key
|
|
7002
|
-
* — pushing `undefined` into the parts list, which `join(", ")` renders as a
|
|
7003
|
-
* dangling separator on a prompt that then ships to a provider with the user's
|
|
7004
|
-
* chosen parameter silently dropped. Deriving the union FROM the catalog makes
|
|
7005
|
-
* that unrepresentable: one array is the source of the type, the option list
|
|
7006
|
-
* the API serves, and the clause table, so a new step reaches all three or
|
|
7007
|
-
* none. The exact id sets are pinned by `transition-timing-catalogs.test.ts`.
|
|
7008
|
-
*/
|
|
7009
|
-
type TransitionPosition = (typeof TRANSITION_POSITIONS)[number]["id"];
|
|
7010
|
-
type TransitionDuration = (typeof TRANSITION_DURATIONS)[number]["id"];
|
|
7011
|
-
type TransitionIntensity = (typeof TRANSITION_INTENSITIES)[number]["id"];
|
|
7012
|
-
interface TransitionTiming {
|
|
7013
|
-
position?: TransitionPosition;
|
|
7014
|
-
duration?: TransitionDuration;
|
|
7015
|
-
intensity?: TransitionIntensity;
|
|
7016
|
-
}
|
|
7017
|
-
declare const TRANSITIONS: ReadonlyArray<Transition>;
|
|
7018
|
-
declare const TRANSITION_CATEGORY_ORDER: ReadonlyArray<TransitionCategory>;
|
|
7019
|
-
declare const TRANSITION_CATEGORY_LABELS: Readonly<Record<TransitionCategory, string>>;
|
|
7020
|
-
declare function getTransition(id: string | undefined | null): Transition | undefined;
|
|
7021
|
-
declare function getTransitionLabel(id: string | undefined | null, fallback?: string): string;
|
|
7022
|
-
declare function getTransitionPromptHint(id: string | undefined | null): string;
|
|
7023
|
-
/**
|
|
7024
|
-
* Compact professional TERM for an id — the short phrase an editor would write
|
|
7025
|
-
* in a prompt ("hard cut", "invisible cut", "day-to-night time-lapse"), as
|
|
7026
|
-
* opposed to the paragraph-length `promptHint`.
|
|
7027
|
-
*
|
|
7028
|
-
* Same lookup and same empty-string-on-miss behavior as
|
|
7029
|
-
* `getTransitionPromptHint`, so the two can never disagree about which entry
|
|
7030
|
-
* they describe. The no-op "Auto" entry resolves to `""` in both.
|
|
7031
|
-
*/
|
|
7032
|
-
declare function getTransitionTerm(id: string | undefined | null): string;
|
|
7033
|
-
declare const TRANSITION_IDS: ReadonlyArray<string>;
|
|
7034
|
-
/**
|
|
7035
|
-
* The transition node's three timing parameters, as catalogs.
|
|
7036
|
-
*
|
|
7037
|
-
* These are graded scales, not free numbers — the same shape as
|
|
7038
|
-
* `exposure-settings`' aperture or `temporal`'s speed — so a consumer that can
|
|
7039
|
-
* only send ids (Studio, the SDK, MCP) can offer them without composing prompt
|
|
7040
|
-
* text of its own. `auto` is the no-op head of each scale: an empty
|
|
7041
|
-
* `promptHint`, so an unset parameter contributes nothing and the model is left
|
|
7042
|
-
* to decide, exactly as before these were enumerable.
|
|
7043
|
-
*
|
|
7044
|
-
* `POSITION_CLAUSES` / `DURATION_CLAUSES` / `INTENSITY_CLAUSES` below are
|
|
7045
|
-
* DERIVED from these arrays, so the clause the composer injects and the hint
|
|
7046
|
-
* the catalog advertises are the same string by construction and cannot drift.
|
|
7047
|
-
*/
|
|
7048
|
-
interface TransitionTimingOption {
|
|
7049
|
-
readonly id: string;
|
|
7050
|
-
readonly label: string;
|
|
7051
|
-
readonly description: string;
|
|
7052
|
-
readonly promptHint: string;
|
|
7053
|
-
readonly term?: string;
|
|
7054
|
-
}
|
|
7055
|
-
declare const TRANSITION_POSITIONS: readonly [{
|
|
7056
|
-
readonly id: "auto";
|
|
7057
|
-
readonly label: "Auto";
|
|
7058
|
-
readonly description: "Let the model place it";
|
|
7059
|
-
readonly promptHint: "";
|
|
7060
|
-
readonly term: "";
|
|
7061
|
-
}, {
|
|
7062
|
-
readonly id: "start";
|
|
7063
|
-
readonly label: "Start";
|
|
7064
|
-
readonly description: "At the opening of the clip";
|
|
7065
|
-
readonly promptHint: "the transition occurs at the opening of the clip";
|
|
7066
|
-
readonly term: "at the opening of the clip";
|
|
7067
|
-
}, {
|
|
7068
|
-
readonly id: "middle";
|
|
7069
|
-
readonly label: "Middle";
|
|
7070
|
-
readonly description: "In the middle of the clip";
|
|
7071
|
-
readonly promptHint: "the transition occurs in the middle of the clip";
|
|
7072
|
-
readonly term: "mid-clip";
|
|
7073
|
-
}, {
|
|
7074
|
-
readonly id: "end";
|
|
7075
|
-
readonly label: "End";
|
|
7076
|
-
readonly description: "At the end of the clip";
|
|
7077
|
-
readonly promptHint: "the transition occurs at the end of the clip";
|
|
7078
|
-
readonly term: "at the end of the clip";
|
|
7079
|
-
}, {
|
|
7080
|
-
readonly id: "full";
|
|
7081
|
-
readonly label: "Full";
|
|
7082
|
-
readonly description: "Spans the entire clip";
|
|
7083
|
-
readonly promptHint: "the transition spans the entire clip";
|
|
7084
|
-
readonly term: "across the whole clip";
|
|
7085
|
-
}];
|
|
7086
|
-
declare const TRANSITION_DURATIONS: readonly [{
|
|
7087
|
-
readonly id: "auto";
|
|
7088
|
-
readonly label: "Auto";
|
|
7089
|
-
readonly description: "Let the model time it";
|
|
7090
|
-
readonly promptHint: "";
|
|
7091
|
-
readonly term: "";
|
|
7092
|
-
}, {
|
|
7093
|
-
readonly id: "instant";
|
|
7094
|
-
readonly label: "Instant";
|
|
7095
|
-
readonly description: "No perceptible duration";
|
|
7096
|
-
readonly promptHint: "occurring instantaneously";
|
|
7097
|
-
readonly term: "instantaneous";
|
|
7098
|
-
}, {
|
|
7099
|
-
readonly id: "short";
|
|
7100
|
-
readonly label: "Short (~1s)";
|
|
7101
|
-
readonly description: "Approximately 1 second";
|
|
7102
|
-
readonly promptHint: "lasting approximately 1 second";
|
|
7103
|
-
readonly term: "about 1 second";
|
|
7104
|
-
}, {
|
|
7105
|
-
readonly id: "medium";
|
|
7106
|
-
readonly label: "Medium (~2s)";
|
|
7107
|
-
readonly description: "Approximately 2 seconds";
|
|
7108
|
-
readonly promptHint: "lasting approximately 2 seconds";
|
|
7109
|
-
readonly term: "about 2 seconds";
|
|
7110
|
-
}, {
|
|
7111
|
-
readonly id: "long";
|
|
7112
|
-
readonly label: "Long (~3s)";
|
|
7113
|
-
readonly description: "Approximately 3 seconds";
|
|
7114
|
-
readonly promptHint: "lasting approximately 3 seconds";
|
|
7115
|
-
readonly term: "about 3 seconds";
|
|
7116
|
-
}];
|
|
7117
|
-
declare const TRANSITION_INTENSITIES: readonly [{
|
|
7118
|
-
readonly id: "auto";
|
|
7119
|
-
readonly label: "Auto";
|
|
7120
|
-
readonly description: "Let the model judge it";
|
|
7121
|
-
readonly promptHint: "";
|
|
7122
|
-
readonly term: "";
|
|
7123
|
-
}, {
|
|
7124
|
-
readonly id: "subtle";
|
|
7125
|
-
readonly label: "Subtle";
|
|
7126
|
-
readonly description: "Restrained, minimal flourish";
|
|
7127
|
-
readonly promptHint: "with subtle restrained energy and minimal flourish";
|
|
7128
|
-
readonly term: "subtly";
|
|
7129
|
-
}, {
|
|
7130
|
-
readonly id: "natural";
|
|
7131
|
-
readonly label: "Natural";
|
|
7132
|
-
readonly description: "Unhurried, unforced timing";
|
|
7133
|
-
readonly promptHint: "with natural unhurried timing";
|
|
7134
|
-
readonly term: "at a natural pace";
|
|
7135
|
-
}, {
|
|
7136
|
-
readonly id: "dynamic";
|
|
7137
|
-
readonly label: "Dynamic";
|
|
7138
|
-
readonly description: "Assertive, energetic";
|
|
7139
|
-
readonly promptHint: "with dynamic energy and assertive flourish";
|
|
7140
|
-
readonly term: "energetically";
|
|
7141
|
-
}, {
|
|
7142
|
-
readonly id: "crazy";
|
|
7143
|
-
readonly label: "Crazy";
|
|
7144
|
-
readonly description: "Extreme, wild, distorted";
|
|
7145
|
-
readonly promptHint: "with extreme exaggerated energy, wild flourishes, and dramatic distortion";
|
|
7146
|
-
readonly term: "wildly exaggerated";
|
|
7147
|
-
}];
|
|
7148
|
-
/**
|
|
7149
|
-
* Compose a structural prompt-hint sentence from a transition id (or array
|
|
7150
|
-
* of 1-2 ids for multi-pick) plus optional start-state/end-state hints
|
|
7151
|
-
* (collected by walking the source node's startState / endState input
|
|
7152
|
-
* handle edges upstream) and optional timing fields.
|
|
7153
|
-
*
|
|
7154
|
-
* Behavior:
|
|
7155
|
-
* - 0 hints (no transition, empty array, or all-empty hints) → ""
|
|
7156
|
-
* - n base hints joined with ", and "
|
|
7157
|
-
* - Timing/start/end clauses apply ONCE at the outer layer, not per-id
|
|
7158
|
-
* - null input is treated like undefined (falsy short-circuit → returns "")
|
|
7159
|
-
*
|
|
7160
|
-
* @param mode `"compact"` builds the base from each transition's short
|
|
7161
|
-
* professional `term` ("hard cut") instead of its full mechanism paragraph.
|
|
7162
|
-
* Everything else — the ", and " multi-pick join, the position/duration/
|
|
7163
|
-
* intensity clauses, and the "starting from"/"ending at" clauses — is
|
|
7164
|
-
* emitted identically in both modes.
|
|
7165
|
-
*/
|
|
7166
|
-
declare function composeTransitionHintFromConnections(transitionId: string | ReadonlyArray<string> | undefined, startHints: ReadonlyArray<string>, endHints: ReadonlyArray<string>, timing?: TransitionTiming, mode?: PickerHintMode): string;
|
|
7167
|
-
|
|
7168
7277
|
/**
|
|
7169
7278
|
* Voice-character catalog: age + gender + language + accent + timbre. Feeds
|
|
7170
7279
|
* Voice Design's voiceDescription field via the Sound aggregator.
|
|
@@ -8184,4 +8293,50 @@ interface CharacterMotionBindings {
|
|
|
8184
8293
|
* unknown; this never certifies a sequence or predicts clip duration. */
|
|
8185
8294
|
declare function getCharacterMotionDiagnostics(value: string | readonly string[] | null | undefined, timing?: CharacterMotionTiming, bindings?: CharacterMotionBindings): readonly CharacterMotionDiagnostic[];
|
|
8186
8295
|
|
|
8187
|
-
export { ACTION_FX, ACTION_FX_CATEGORY_LABELS, ACTION_FX_CATEGORY_ORDER, ACTION_FX_IDS, ADULT_AGE_IDS, ADULT_ONLY_FLAG, ADULT_SWEPT_CATALOG_IDS, AESTHETICS, AESTHETIC_CATEGORY_LABELS, AESTHETIC_CATEGORY_ORDER, AESTHETIC_IDS, ALL_PICKER_WIRING, ANALYZABLE_PICKER_TYPES, ANGLE_LABELS, ASPECT_RATIO_LABELS, ATMOSPHERES, ATMOSPHERE_IDS, AUDIO_WIZARD_CATEGORIES, type ActionFx, type ActionFxCategory, type AdultOnlyEntry, type Aesthetic, type AestheticCategory, type AssembleImageInput, type AssembleSunoInput, type AssembleSunoResult, type Atmosphere, BACKDROPS, BACKDROP_CATEGORY_LABELS, BACKDROP_CATEGORY_ORDER, BACKDROP_IDS, BRAND_PRESETS, BRAND_PRESET_IDS, BRAND_PRESET_META, type Backdrop, type BackdropCategory, type BrandCasing, type BrandFonts, type BrandLogo, type BrandPalette, type BrandPresetId, type BrandPresetMeta, type BrandTokens, type BrandTypeSpec, type BuildImagePromptConfig, type BuildImagePromptOverflowResult, type BuildImagePromptResult, type BuildImagePromptSegmentsResult, CAMERA_FORMATS, CAMERA_FORMAT_IDS, CAMERA_MOTIONS, CAMERA_MOTION_CATEGORY_LABELS, CAMERA_MOTION_CATEGORY_ORDER, CAMERA_MOTION_IDS, CHARACTER_FX, CHARACTER_FX_CATEGORY_LABELS, CHARACTER_FX_CATEGORY_ORDER, CHARACTER_FX_DURATIONS, CHARACTER_FX_IDS, CHARACTER_FX_INTENSITIES, CHARACTER_FX_POSITIONS, CHARACTER_MOTIONS, CHARACTER_MOTION_CATEGORY_LABELS, CHARACTER_MOTION_CATEGORY_ORDER, CHARACTER_MOTION_IDS, CHARACTER_MOTION_MAX_PICKS, CHARACTER_MOTION_PACES, CHARACTER_MOTION_POSITIONS, CINEMATIC_LOOK_TAIL, COLOR_LOOKS, COLOR_LOOK_CATEGORY_LABELS, COLOR_LOOK_CATEGORY_ORDER, COLOR_LOOK_IDS, COMPOSITION_EFFECTS, COMPOSITION_EFFECT_IDS, type CameraFormat, type CameraMotion, type CameraMotionCategory, type CatalogPack, type CatalogPackMode, type CategorizedInstrument, type CharacterFx, type CharacterFxCategory, type CharacterFxDuration, type CharacterFxIntensity, type CharacterFxPosition, type CharacterFxTiming, type CharacterFxTimingOption, type CharacterMeta, type CharacterMotion, type CharacterMotionBindings, type CharacterMotionCategory, type CharacterMotionDiagnostic, type CharacterMotionFloor, type CharacterMotionPace, type CharacterMotionPosition, type CharacterMotionPromptInput, type CharacterMotionTiming, type CharacterMotionTimingOption, type CharacterPromptInput, type ColorLook, type ColorLookCategory, type CompositionEffect, type ComputeNodePromptArgs, type CreaturePromptInput, DEFAULT_IDENTITY_LOCK, DEFAULT_TEMPLATES, DIRECTION_ARRAY_CEILING, DIRECTION_FIELDS, DIRECTION_ID_MAX_CHARS, DIRECTION_KEYS, type DirectionFamily, type DirectionFieldRow, type DirectionFieldSpec, type DirectionFields, type DirectionHintClause, type DirectionHintMode, type DirectionKey, type DirectionStyleGroup, type DirectionSurface, ERAS, ERA_CATEGORY_LABELS, ERA_CATEGORY_ORDER, ERA_IDS, EXPOSURE_CATEGORY_LABELS, EXPOSURE_CATEGORY_ORDER, EXPOSURE_FIELD_BY_CATEGORY, EXPOSURE_IDS, EXPOSURE_SETTINGS, type Era, type EraCategory, type ExposureCategory, type ExposureSettings, type ExposureValue, FACTORY_PRESETS, FACTORY_SNIPPETS, FILM_STILL_PREFIX, FILM_STYLE_KEYS, FLOORED_PICKER_KEYS, FRAMINGS, FRAMING_CATEGORY_LABELS, FRAMING_CATEGORY_ORDER, FRAMING_FIELD_BY_CATEGORY, FRAMING_IDS, type FacePromptInput, type FactoryPreset, type FactoryPresetGroup, type FactorySnippet, type ForeignCatalogId, type FrameDeliveryPlan, type FrameDeliveryPlanArgs, type Framing, type FramingCategory, type FramingValue, GAPS_SCHEMA, type GeminiOmniI2vInputsArgs, type GeminiOmniI2vInputsResult, HELD_PROPS, HELD_PROP_CATEGORY_LABELS, HELD_PROP_CATEGORY_ORDER, HELD_PROP_IDS, type HeldProp, type HeldPropCategory, IMAGE_HINT_MODE_DEFAULT, IMAGE_REFERENCE_PROMPT_DOCTRINE, IMAGE_WIZARD_CATEGORIES, INSTRUMENTATION_DEFAULT_DATA, INSTRUMENTS, INSTRUMENT_CATEGORY_LABELS, INSTRUMENT_CATEGORY_ORDER, type IdentityLockMode, type ImageDirectionKey, type ImageReferenceDoctrine, type InstrumentCategory, type InstrumentationEntry, LENSES, LENS_IDS, LIGHTINGS, LIGHTING_CATEGORY_LABELS, LIGHTING_CATEGORY_ORDER, LIGHTING_FIELD_BY_CATEGORY, LIGHTING_IDS, LLM_CHAT_WIZARD_CATEGORIES, LOOP_SUBJECTS, LOOP_SUBJECT_CATEGORY_LABELS, LOOP_SUBJECT_CATEGORY_ORDER, type Lens, type Lighting, type LightingCategory, type LightingValue, type LlmChatFieldArgs, type LocationMotionPromptInput, type LocationPromptInput, type LocationRefinePromptInput, type LoopSubject, type LoopSubjectCategory, MATERIALS, MATERIAL_CATEGORY_LABELS, MATERIAL_CATEGORY_ORDER, MATERIAL_IDS, MAX_SELECTED_BY_DIMENSION, MAX_SELECTED_BY_FRAMING_CATEGORY, MAX_SELECTED_BY_STYLING_DIMENSION, MAX_SUBJECT_KEYS, MINOR_IMPLYING_TYPE_IDS, MOODS, MOOD_CATEGORY_LABELS, MOOD_CATEGORY_ORDER, MOOD_IDS, MOVEMENT_LABELS, MULTI_PICKER_WIRING, MUSIC_EMOTIONS, MUSIC_ENERGIES, MUSIC_ERAS, MUSIC_GENRES, MUSIC_GENRE_CATEGORY_LABELS, MUSIC_GENRE_CATEGORY_ORDER, MUSIC_GENRE_DEFAULT_DATA, MUSIC_MOOD_DEFAULT_DATA, MUSIC_VIBES, MUSIC_WIZARD_CATEGORIES, type Material, type MaterialCategory, type ModelChange, type Mood, type MoodCategory, type MoodValue, type MultiDimPickerWiring, type MultiPickerAnalyzerSpec, type MusicEra, type MusicGenre, type MusicGenreCategory, type MusicMoodData, type MusicMoodEntry, type MusicSubgenre, NODE_PROMPT_CANDIDATE_FIELDS, NODE_PROMPT_FIELDS, OBJECT_ANGLE_PRESETS, OBJECT_ANGLE_PROMPTS, OBJECT_ASSET_PRESETS, OBJECT_ASSET_PROMPTS, OBJECT_MATERIAL_PRESETS, OBJECT_MATERIAL_PROMPTS, OBJECT_VARIATION_PRESETS, OBJECT_VARIATION_PROMPTS, type ObjectMotionPromptInput, type ObjectPresetAssetType, type ObjectPromptInput, PEOPLE, PERSON_DIMENSION_LABELS, PERSON_DIMENSION_ORDER, PERSON_DIMENSION_SECTIONS, PERSON_FIELD_BY_DIMENSION, PERSON_IDS, PHOTOGRAPHERS, PHOTOGRAPHER_CATEGORY_LABELS, PHOTOGRAPHER_CATEGORY_ORDER, PHOTOGRAPHER_IDS, PHOTO_GENRES, PHOTO_GENRE_CATEGORY_LABELS, PHOTO_GENRE_CATEGORY_ORDER, PHOTO_GENRE_IDS, PICKER_ANALYZER_FAMILIES, PICKER_ANALYZER_REGISTRY, PICKER_CATALOGS, PICKER_TYPES, POSES, POSE_CATEGORY_LABELS, POSE_CATEGORY_ORDER, POSE_IDS, POST_PROCESS_EFFECTS, POST_PROCESS_EFFECT_IDS, PRODUCTION_STYLES, PROMPT_AFFIX_CORE_FIELD_OVERRIDES, PROMPT_AFFIX_NODE_TYPES, PROMPT_HINT_SEPARATOR, PROVIDER_CAPABILITIES, PROVIDER_PROMPT_DOCTRINES, type Person, type PersonDimension, type PersonDimensionSection, type PersonPack, type PersonValue, type PhotoGenre, type PhotoGenreCategory, type Photographer, type PhotographerCategory, type PickerAnalyzer, type PickerAnalyzerDescriptor, type PickerAnalyzerSpec, type PickerApplyMode, type PickerCatalog, type PickerCatalogDetail, type PickerCatalogInput, type PickerCatalogSummary, type PickerDimension, type PickerDimensionInput, type PickerDimensionSpec, type PickerGaps, type PickerHintMode, type PickerOption, type PickerOptionInput, type PickerType, type PickerWiring, type PickerWiringEntry, type Pose, type PoseCategory, type PoseValue, type PostProcessEffect, type ProjectPickerCatalogOptions, type ProjectedPickerCatalog, type ProjectedPickerDimension, type ProjectedPickerOption, type PromptClauseSlot, type PromptFieldSpec, type PromptIconKind, type PromptSegment, type PromptSegmentOrigin, type ProviderPromptDoctrine, REFERENCE_IMAGE_ROLES, REFERENCE_RULES, REFERENCE_RULES_MULTI_PERSON, REF_BINDING, RENDER_QUALITIES, RENDER_QUALITY_IDS, RETIRED_ADULT_ONLY_HINT_STRINGS, type RecommendedModel, type RefIdTokenContext, type ReferenceCounts, type ReferenceLineFormat, type RegisteredPersonEntry, type RenderQuality, type ResolveCharacterMentionsResult, type ResolveLocationMentionsResult, type ResolvePromptArgs, type ResolveVideoReferenceCoreArgs, SCENE3D_FIGURE_REFERENCE_RULE, SCENE3D_FREE_PLATE_SLOTS, SCENE3D_LAYOUT_REFERENCE_SCOPING_FIXTURE, SCENE3D_LAYOUT_REFERENCE_SCOPING_LINE, SCENE3D_LAYOUT_SCOPING_FOR, SCENE3D_LAYOUT_SCOPING_IGNORE, SCENE3D_LAYOUT_SCOPING_LOOK_SOURCE, SCENE3D_LAYOUT_SCOPING_MARKER, SCENE3D_UNREFERENCED_FIGURES_WARNING_CODE, SCENE_FRAME_RULE, SCENE_PROMPT_MAX_LENGTH, SETTINGS, SETTING_CATEGORY_LABELS, SETTING_IDS, SHOT_LABELS, SINGING_STYLES, SINGLE_PICKER_WIRING, SNIPPET_MEDIA_VALUES, STYLES, STYLE_IDS, STYLE_PRESETS, STYLE_SECTION_GAP, STYLE_SECTION_HEADER, STYLINGS, STYLING_DIMENSION_LABELS, STYLING_DIMENSION_ORDER, STYLING_FIELD_BY_DIMENSION, STYLING_IDS, SUBJECT_ARRAY_CEILING, SUBJECT_CUSTOM_AGE_KEY, SUBJECT_FIELDS, SUBJECT_FOLD_KEYS, SUBJECT_ID_MAX_CHARS, SUBJECT_IMAGE_HINT_MODE_DEFAULT, SUBJECT_KEYS, SUBJECT_KEY_MAX_CHARS, SUBJECT_VIDEO_HINT_MODE_DEFAULT, type Scene3DFigureReferenceCheck, type Scene3DLayoutReferenceCarrier, type Scene3DLayoutReferenceSeat, type Scene3DLayoutScopingSpec, type Scene3DUnreferencedFiguresWarning, type Seedance2InputsArgs, type Seedance2InputsResult, type Seedance2Mode, type Setting, type SettingCategory, type SidecarCoverageReport, type SingleDimPickerWiring, type SlottedPromptClause, type SnippetMedia, type SnippetTarget, type SoundComposition, type SoundCompositionFields, type SoundConsumerType, type StructuredPromptFields, type Style, type StylePreset, type Styling, type StylingDimension, type StylingValue, type SubjectFieldRow, type SubjectFieldSpec, type SubjectFields, type SubjectGroupFieldSpec, type SubjectHintMode, type SubjectIdsFieldSpec, type SubjectSurface, type SuspiciousTermOptions, TEMPORALS, TEMPORAL_CATEGORY_LABELS, TEMPORAL_CATEGORY_ORDER, TEMPORAL_FIELD_BY_CATEGORY, TEMPORAL_IDS, TERM_MAX_CHARS, TEXT_WIZARD_CATEGORIES, TRANSITIONS, TRANSITION_CATEGORY_LABELS, TRANSITION_CATEGORY_ORDER, TRANSITION_DURATIONS, TRANSITION_IDS, TRANSITION_INTENSITIES, TRANSITION_POSITIONS, type Temporal, type TemporalCategory, type TemporalValue, type TermCarrier, type Transition, type TransitionCategory, type TransitionDuration, type TransitionIntensity, type TransitionPosition, type TransitionTiming, type TransitionTimingOption, VIDEO_HINT_MODE_DEFAULT, VIDEO_WIZARD_CATEGORIES, VOCAL_PRESENCE, VOCAL_PRESENCE_INSTRUMENTAL_ID, VOICE_ACCENTS, VOICE_AGES, VOICE_ARCHETYPES, VOICE_CHARACTER_DEFAULT_DATA, VOICE_DELIVERY_DEFAULT_DATA, VOICE_EMOTIONS, VOICE_GENDERS, VOICE_LANGUAGES, VOICE_PACES, VOICE_TIMBRES, type VeoI2vInputsArgs, type VeoI2vInputsResult, type VideoDirectionKey, type VideoExtraRef, type VideoPromptCapOptions, type VoiceCharacterEntry, type VoiceDeliveryEntry, WARDROBE, WARDROBE_CATEGORY_LABELS, WARDROBE_DIMENSION_ORDER, WARDROBE_FIELD_BY_DIMENSION, type WardrobeDimension, type WardrobeEntry, type WardrobeValue, type WizardCategory, type WizardNodeContext, type WizardOption, type WizardQuestion, type WizardSelection, __resetCatalogIdGuardForTests, appendField, appendMusicMeta, appendReferenceLines, appendScene3DStillScopingLines, applyMinorAgeFloorToPickerValues, applyPickerJson, applyPromptAffixes, applyReferenceOrderToVideo, applyTemplate, asBodyClauses, assembleImageInput, assembleSunoInput, buildActionFxHints, buildActionFxTerms, buildAestheticHints, buildAestheticTerms, buildAgeHint, buildAtmosphereHints, buildAtmosphereTerms, buildCharacterPrompt, buildCreaturePrompt, buildExposureHints, buildExposureTerms, buildFaceTemplateInputs, buildFramingHints, buildFramingTerms, buildHeldPropHints, buildHeldPropTerms, buildIdentityDirectives, buildIdentityLockLine, buildImagePrompt, buildImagePromptSegments, buildImagePromptWithOverflow, buildInstrumentationHints, buildInstrumentationTerms, buildLightingHints, buildLightingTerms, buildLocationMotionPrompt, buildLocationPrompt, buildLocationRefinePrompt, buildMaterialHints, buildMaterialTerms, buildMoodHints, buildMoodTerms, buildMotionPrompt, buildMultiPickerAnalyzerSpec, buildMusicGenreHints, buildMusicGenreTerms, buildMusicMoodHints, buildMusicMoodTerms, buildNeedleAlternationSource, buildObjectMotionPrompt, buildObjectPrompt, buildPersonHints, buildPersonTerms, buildPhotographerHints, buildPhotographerTerms, buildPickerAnalyzerSpec, buildPickerLegend, buildPickerZodSchema, buildPoseHints, buildPoseTerms, buildPostProcessHints, buildPostProcessTerms, buildReferenceBlocks, buildScene3DLayoutScopingLine, buildScene3DUnreferencedFiguresWarning, buildScenePrompt, buildStylingHints, buildStylingTerms, buildSurroundFillPrompt, buildTemporalHints, buildTemporalTerms, buildVoiceCharacterHints, buildVoiceCharacterTerms, buildVoiceDeliveryHints, buildVoiceDeliveryTerms, buildWardrobeHints, catalogGuardActive, catalogPacksVersion, characterLockToRefLock, collectIdentityLockClause, composeCameraMotionHintFromConnections, composeCameraMotionTermFromConnections, composeCharacterFxHintFromConnections, composeCharacterMotionHintFromConnections, composeNegative, composePickerCatalogs, composeSectionedPrompt, composeSoundHintFromConnections, composeTransitionHintFromConnections, composeVideoPromptText, composedHas, composedOption, composedOptionIndex, computeLlmChatFields, computeNodePrompt, computePackSidecarCoverage, containsMinorAgeHint, curateEntries, curatedAnimalPromptHint, curatedAnimalTerm, curatedFurnitureText, curatedVehicleText, curatedWeaponText, deriveTerm, directionFieldsForSurface, endsInsideStyleSection, expandImagePositionRefs, expandImageRefTokens, filmStillPrefix, findForeignCatalogIds, findForeignCatalogIdsInBody, foreignCatalogIdMessage, getActionFx, getActionFxLabel, getActionFxPromptHint, getActionFxTerm, getAdultOnlyEntries, getAdultOnlyHintStrings, getAdultOnlyIds, getAesthetic, getAestheticLabel, getAestheticPromptHint, getAestheticTerm, getAtmosphere, getAtmosphereLabel, getAtmospherePromptHint, getAtmosphereTerm, getBackdrop, getBackdropLabel, getBackdropPromptHint, getBackdropTerm, getCameraFormat, getCameraFormatLabel, getCameraFormatPromptHint, getCameraFormatTerm, getCameraMotion, getCameraMotionLabel, getCameraMotionPromptHint, getCameraMotionTerm, getCategoriesForNodeType, getCharacterFx, getCharacterFxLabel, getCharacterFxPromptHint, getCharacterFxTerm, getCharacterMotion, getCharacterMotionBindings, getCharacterMotionDiagnostics, getCharacterMotionLabel, getCharacterMotionPromptHint, getCharacterMotionTerm, getColorLook, getColorLookLabel, getColorLookPromptHint, getColorLookTerm, getCompositionEffect, getCompositionEffectLabel, getCompositionEffectPromptHint, getCompositionEffectTerm, getEffectiveSunoCustomMode, getEra, getEraLabel, getEraPromptHint, getEraTerm, getExposure, getExposureLabel, getExposurePromptHint, getExposureTerm, getFactoryPresets, getFactorySnippets, getFraming, getFramingCategoryLimit, getFramingLabel, getFramingPromptHint, getFramingTerm, getHeldProp, getHeldPropLabel, getHeldPropPromptHint, getHeldPropTerm, getIdentityLockClause, getInstrument, getInstrumentTerm, getLens, getLensLabel, getLensPromptHint, getLensTerm, getLighting, getLightingLabel, getLightingPromptHint, getLightingTerm, getLoopSubject, getLoopSubjectLabel, getLoopSubjectPromptHint, getLoopSubjectTerm, getMaterial, getMaterialLabel, getMaterialPromptHint, getMaterialTerm, getMinorAgeHintStrings, getMood, getMoodLabel, getMoodPromptHint, getMoodTerm, getMusicEmotion, getMusicEmotionTerm, getMusicEnergy, getMusicEnergyTerm, getMusicEra, getMusicEraTerm, getMusicGenre, getMusicGenreLabel, getMusicGenreTerm, getMusicSubgenre, getMusicSubgenreTerm, getMusicVibe, getMusicVibeTerm, getParameterPromptHint, getPerson, getPersonDimensionLimit, getPersonLabel, getPersonPromptHint, getPersonTerm, getPhotoGenre, getPhotoGenreLabel, getPhotoGenrePromptHint, getPhotoGenreTerm, getPhotographer, getPhotographerLabel, getPhotographerPromptHint, getPhotographerTerm, getPickerAnalyzer, getPickerCatalog, getPickerWiring, getPose, getPoseLabel, getPosePromptHint, getPoseTerm, getPostProcessEffect, getPostProcessEffectLabel, getPostProcessEffectPromptHint, getPostProcessEffectTerm, getProductionStyle, getProductionStyleTerm, getPromptDoctrine, getPromptFields, getPromptTips, getRegisteredCatalogPacks, getRegisteredPeople, getRegisteredPersonDimensionLabels, getRegisteredPersonDimensionOrder, getRegisteredPersonFieldByDimension, getRegisteredPickerCatalogs, getRegisteredSubjectKeys, getRenderQuality, getRenderQualityLabel, getRenderQualityPromptHint, getRenderQualityTerm, getSetting, getSettingLabel, getSettingPromptHint, getSettingTerm, getSingingStyle, getSingingStyleTerm, getSnippetMedia, getStyle, getStyleLabel, getStylePreset, getStylePromptHint, getStyleTerm, getStyling, getStylingDimensionLimit, getStylingLabel, getStylingPromptHint, getStylingTerm, getTemporal, getTemporalLabel, getTemporalPromptHint, getTemporalTerm, getTransition, getTransitionLabel, getTransitionPromptHint, getTransitionTerm, getVocalPresence, getVocalPresenceTerm, getVoiceAccent, getVoiceAccentTerm, getVoiceAge, getVoiceAgeTerm, getVoiceArchetype, getVoiceArchetypeTerm, getVoiceEmotion, getVoiceEmotionTerm, getVoiceGender, getVoiceGenderTerm, getVoiceLanguage, getVoiceLanguageTerm, getVoicePace, getVoicePaceTerm, getVoiceTimbre, getVoiceTimbreTerm, getWardrobeEntriesByDimension, getWardrobeEntry, getWardrobePromptHint, groupFactoryPresets, hasCatalogPacksFor, hasScene3DLayoutScopingLine, hasUpstreamCharacter, identityRefsSentence, insertBeforeStyleSection, isAnalyzablePicker, isDeniedStyleId, isInstrumentalVocal, isMinorAge, isSuspiciousDerivedTerm, isVantageFraming, isWizardSupported, joinHintFragments, joinPromptHints, joinPromptParts, keepableDirectionHints, listPickerCatalogs, migratePersonValue, modeForFamily, nodeHasInlinePrompt, nodeHasPromptField, nodeSupportsPromptAffixes, normalizeSubjectFields, overlayEntry, partitionStyleClauses, personPacksVersion, pickerFanoutTargets, planFrameDelivery, projectAllCatalogs, projectPickerCatalog, promptAffixCoreField, promptBindsFirstFrame, promptFieldCarriesAffixes, promptPartSeparator, readDirectionFields, readStructuredFields, readSubjectFields, referenceDescriptionLine, referenceRulesBlock, registerCatalogPack, registerPersonPack, renderDescribedReferenceLines, renderDirectionHintClauses, renderDirectionHints, renderReferenceCaptionLines, renderScene3DLayoutScopingLine, renderStructuredFields, renderStyleSection, renderSubjectHints, resetCatalogPacks, resetPersonPacks, resolveBrandInput, resolveCharacterMentions, resolveGeminiOmniI2vInputs, resolveLocationMentions, resolvePrompt, resolveRefIdTokens, resolveReferenceTokens, resolveSeedance2Inputs, resolveTemplate, resolveTerm, resolveVeoI2vInputs, resolveVideoReferenceCore, scene3DLayoutVideoCaptions, sectionedClauseCosts, setComposedCatalogResolver, splitStyleSection, styleSectionFromClauses, styleSlotFor, subjectFieldsForSurface, subscribeCatalogPacks, summarizePickerCatalogs, toIdentityLockMode, truncateForField, truncateText, withForcedIdentityLock };
|
|
8296
|
+
/**
|
|
8297
|
+
* Per-ad creative analysis — the "expert competitor ad analyst" pass the
|
|
8298
|
+
* social scraper nodes (Meta Ads first; TikTok / Instagram / LinkedIn next)
|
|
8299
|
+
* can run on every ad they return. Node-agnostic on purpose: the input is
|
|
8300
|
+
* "one creative + its copy + a little context", never a Meta-shaped ad.
|
|
8301
|
+
*
|
|
8302
|
+
* The model answers in a fixed JSON shape (the schema lives with the backend
|
|
8303
|
+
* call site); this file owns the WORDS — what each field means and how to
|
|
8304
|
+
* judge it — so the prompt can be tuned without touching the wire contract.
|
|
8305
|
+
*/
|
|
8306
|
+
/** The fields the analysis returns, in the order a reader wants them. */
|
|
8307
|
+
declare const AD_CREATIVE_ANALYSIS_FIELDS: readonly ["assetType", "format", "visualHooks", "audiences", "graphicIdentity", "copywritingHooks", "usps", "cta", "summary"];
|
|
8308
|
+
type AdCreativeAnalysisField = (typeof AD_CREATIVE_ANALYSIS_FIELDS)[number];
|
|
8309
|
+
declare const AD_CREATIVE_ANALYSIS_SYSTEM_PROMPT = "You are an expert competitor ad analyst. You look at a competitor's ad \u2014 its creative (image or video poster frame) and its copy \u2014 and extract the relevant ad information into a structured summary a marketing team can act on.\n\nJudge from what is actually in the creative and copy; never invent claims that are not visible or written. Be concrete and specific (name the objects, colors, people, layouts, words), not generic (\"eye-catching visuals\"). Write in the language of the ad copy when it is not English, otherwise in English.\n\nFill every field:\n- assetType: \"static\" (a still image), \"motion\" (a video \u2014 you see its poster frame), \"carousel\" (several creatives in one ad), or \"unknown\".\n- format: the placement the creative is built for \u2014 e.g. \"in-feed\", \"story / reel (9:16)\", \"square feed\", \"banner / web\", judged from its shape and framing.\n- visualHooks: the key visuals and visual angles used to stop the scroll (product close-up, before/after, face + eye contact, big number, screenshot, meme style, UGC selfie, text-on-image\u2026). 2\u20136 short items.\n- audiences: who the ad represents or addresses (age band, gender, life situation, profession, interest, geography, pain point). 1\u20135 short items.\n- graphicIdentity: the graphic components \u2014 color palette, typography style, logo placement, layout system, illustration vs photo, brand consistency cues. One or two sentences.\n- copywritingHooks: the copywriting angles used in the visual text and in the body (curiosity, urgency, social proof, question, offer, fear of missing out, authority, humor\u2026). 1\u20136 short items, each naming the angle and quoting or paraphrasing the line that carries it.\n- usps: the unique selling points the ad claims (price, speed, exclusivity, guarantee, results, features). 1\u20135 short items.\n- cta: the call to action \u2014 the button label and/or the closing line that tells the viewer what to do.\n- summary: two to four sentences: what the ad sells, to whom, with what hook, and why it likely works (or does not).";
|
|
8310
|
+
/**
|
|
8311
|
+
* The organic-content twin of the ad prompt — for scraped social POSTS
|
|
8312
|
+
* (Instagram / TikTok / LinkedIn), not paid ads. SAME output fields (so one
|
|
8313
|
+
* schema and one UI serve both), read for organic content: hooks, audience,
|
|
8314
|
+
* the value/benefit the post conveys (`usps`), and its ask (`cta` — "link in
|
|
8315
|
+
* bio", "follow", a comment prompt, or none).
|
|
8316
|
+
*/
|
|
8317
|
+
declare const POST_CONTENT_ANALYSIS_SYSTEM_PROMPT = "You are an expert social-media content analyst. You look at a single organic post \u2014 its creative (image or video cover frame) and its caption \u2014 and extract what a marketing team can learn from it into a structured summary.\n\nJudge from what is actually in the creative and caption; never invent claims that are not visible or written. Be concrete and specific (name the objects, colors, people, layouts, words), not generic (\"engaging content\"). Write in the language of the caption when it is not English, otherwise in English.\n\nFill every field:\n- assetType: \"static\" (a still image), \"motion\" (a video / reel \u2014 you see its cover frame), \"carousel\" (a multi-image post), or \"unknown\".\n- format: the format the post is built for \u2014 e.g. \"reel (9:16)\", \"square feed photo\", \"carousel\", \"portrait (4:5)\", judged from its shape and framing.\n- visualHooks: the key visuals and visual angles used to stop the scroll (product close-up, before/after, face + eye contact, big text overlay, meme style, UGC selfie, trend/format\u2026). 2\u20136 short items.\n- audiences: who the post represents or speaks to (age band, gender, life situation, profession, interest, geography, community). 1\u20135 short items.\n- graphicIdentity: the graphic components \u2014 color palette, typography style, logo / handle placement, layout, illustration vs photo, brand consistency cues. One or two sentences.\n- copywritingHooks: the caption / content angles (curiosity, storytelling, question, trend, humor, social proof, education, behind-the-scenes\u2026). 1\u20136 short items, each naming the angle and quoting or paraphrasing the line that carries it.\n- usps: the value or benefit the post conveys to the viewer (entertainment, education, inspiration, a product benefit, a deal). 1\u20135 short items.\n- cta: the ask \u2014 the caption's call to action (\"link in bio\", \"shop now\", \"follow\", \"comment below\"), or \"none\" if the post makes none.\n- summary: two to four sentences: what the post is about, who it speaks to, with what hook, and why it likely performs (or does not).";
|
|
8318
|
+
interface AdCreativeAnalysisInput {
|
|
8319
|
+
/** Who is advertising (the Page / account name). */
|
|
8320
|
+
readonly advertiser?: string;
|
|
8321
|
+
readonly headline?: string;
|
|
8322
|
+
readonly body?: string;
|
|
8323
|
+
readonly ctaLabel?: string;
|
|
8324
|
+
/** Where the ad points (the landing domain is enough). */
|
|
8325
|
+
readonly landing?: string;
|
|
8326
|
+
/** Placements the ad ran on (Facebook, Instagram, TikTok…). */
|
|
8327
|
+
readonly platforms?: readonly string[];
|
|
8328
|
+
/** Creative shape already classified by the caller ("vertical", "square", "horizontal"). */
|
|
8329
|
+
readonly creativeFormat?: string;
|
|
8330
|
+
/** "1 video, 2 images" — what the ad carries beyond the one frame the model sees. */
|
|
8331
|
+
readonly mediaSummary?: string;
|
|
8332
|
+
/** The user's optional focus ("we sell running shoes — compare against our positioning"). */
|
|
8333
|
+
readonly focus?: string;
|
|
8334
|
+
}
|
|
8335
|
+
/**
|
|
8336
|
+
* The user turn's text. The creative itself travels as a separate image
|
|
8337
|
+
* block; this is everything else the analyst should know, one labelled
|
|
8338
|
+
* line per fact, blanks left out.
|
|
8339
|
+
*/
|
|
8340
|
+
declare function buildAdCreativeAnalysisUserText(input: AdCreativeAnalysisInput): string;
|
|
8341
|
+
|
|
8342
|
+
export { ACTION_FX, ACTION_FX_CATEGORY_LABELS, ACTION_FX_CATEGORY_ORDER, ACTION_FX_IDS, ADULT_AGE_IDS, ADULT_ONLY_FLAG, ADULT_SWEPT_CATALOG_IDS, AD_CREATIVE_ANALYSIS_FIELDS, AD_CREATIVE_ANALYSIS_SYSTEM_PROMPT, AESTHETICS, AESTHETIC_CATEGORY_LABELS, AESTHETIC_CATEGORY_ORDER, AESTHETIC_IDS, ALL_PICKER_WIRING, ANALYZABLE_PICKER_TYPES, ANGLE_LABELS, ASPECT_RATIO_LABELS, ATMOSPHERES, ATMOSPHERE_IDS, AUDIO_WIZARD_CATEGORIES, type ActionFx, type ActionFxCategory, type AdCreativeAnalysisField, type AdCreativeAnalysisInput, type AdultOnlyEntry, type Aesthetic, type AestheticCategory, type AssembleImageInput, type AssembleSunoInput, type AssembleSunoResult, type Atmosphere, BACKDROPS, BACKDROP_CATEGORY_LABELS, BACKDROP_CATEGORY_ORDER, BACKDROP_IDS, BRAND_PRESETS, BRAND_PRESET_IDS, BRAND_PRESET_META, type Backdrop, type BackdropCategory, type BrandCasing, type BrandFonts, type BrandLogo, type BrandPalette, type BrandPresetId, type BrandPresetMeta, type BrandTokens, type BrandTypeSpec, type BuildImagePromptConfig, type BuildImagePromptOverflowResult, type BuildImagePromptResult, type BuildImagePromptSegmentsResult, CAMERA_FORMATS, CAMERA_FORMAT_IDS, CAMERA_MOTIONS, CAMERA_MOTION_CATEGORY_LABELS, CAMERA_MOTION_CATEGORY_ORDER, CAMERA_MOTION_IDS, CHARACTER_FX, CHARACTER_FX_CATEGORY_LABELS, CHARACTER_FX_CATEGORY_ORDER, CHARACTER_FX_DURATIONS, CHARACTER_FX_IDS, CHARACTER_FX_INTENSITIES, CHARACTER_FX_POSITIONS, CHARACTER_MOTIONS, CHARACTER_MOTION_CATEGORY_LABELS, CHARACTER_MOTION_CATEGORY_ORDER, CHARACTER_MOTION_IDS, CHARACTER_MOTION_MAX_PICKS, CHARACTER_MOTION_PACES, CHARACTER_MOTION_POSITIONS, CINEMATIC_LOOK_TAIL, COLOR_LOOKS, COLOR_LOOK_CATEGORY_LABELS, COLOR_LOOK_CATEGORY_ORDER, COLOR_LOOK_IDS, COMPOSITION_EFFECTS, COMPOSITION_EFFECT_IDS, type CameraFormat, type CameraMotion, type CameraMotionCategory, type CatalogPack, type CatalogPackMode, type CategorizedInstrument, type CharacterFx, type CharacterFxCategory, type CharacterFxDuration, type CharacterFxIntensity, type CharacterFxPosition, type CharacterFxTiming, type CharacterFxTimingOption, type CharacterMeta, type CharacterMotion, type CharacterMotionBindings, type CharacterMotionCategory, type CharacterMotionDiagnostic, type CharacterMotionFloor, type CharacterMotionPace, type CharacterMotionPosition, type CharacterMotionPromptInput, type CharacterMotionTiming, type CharacterMotionTimingOption, type CharacterPromptInput, type ColorLook, type ColorLookCategory, type CompositionEffect, type ComputeNodePromptArgs, type CreaturePromptInput, DEFAULT_IDENTITY_LOCK, DEFAULT_TEMPLATES, DIRECTION_ARRAY_CEILING, DIRECTION_FIELDS, DIRECTION_ID_MAX_CHARS, DIRECTION_KEYS, type DirectionFamily, type DirectionFieldRow, type DirectionFieldSpec, type DirectionFields, type DirectionHintClause, type DirectionHintMode, type DirectionKey, type DirectionStyleGroup, type DirectionSurface, ERAS, ERA_CATEGORY_LABELS, ERA_CATEGORY_ORDER, ERA_IDS, EXPOSURE_CATEGORY_LABELS, EXPOSURE_CATEGORY_ORDER, EXPOSURE_FIELD_BY_CATEGORY, EXPOSURE_IDS, EXPOSURE_SETTINGS, type Era, type EraCategory, type ExposureCategory, type ExposureSettings, type ExposureValue, FACTORY_PRESETS, FACTORY_SNIPPETS, FILM_STILL_PREFIX, FILM_STYLE_KEYS, FLOORED_PICKER_KEYS, FRAMINGS, FRAMING_CATEGORY_LABELS, FRAMING_CATEGORY_ORDER, FRAMING_FIELD_BY_CATEGORY, FRAMING_IDS, type FacePromptInput, type FactoryPreset, type FactoryPresetGroup, type FactorySnippet, type ForeignCatalogId, type FrameDeliveryPlan, type FrameDeliveryPlanArgs, type Framing, type FramingCategory, type FramingValue, GAPS_SCHEMA, type GeminiOmniI2vInputsArgs, type GeminiOmniI2vInputsResult, HELD_PROPS, HELD_PROP_CATEGORY_LABELS, HELD_PROP_CATEGORY_ORDER, HELD_PROP_IDS, type HeldProp, type HeldPropCategory, IMAGE_HINT_MODE_DEFAULT, IMAGE_REFERENCE_PROMPT_DOCTRINE, IMAGE_WIZARD_CATEGORIES, INSTANT_CUT_CLAUSE, INSTRUMENTATION_DEFAULT_DATA, INSTRUMENTS, INSTRUMENT_CATEGORY_LABELS, INSTRUMENT_CATEGORY_ORDER, type IdentityLockMode, type ImageDirectionKey, type ImageReferenceDoctrine, type InstrumentCategory, type InstrumentationEntry, LENSES, LENS_IDS, LIGHTINGS, LIGHTING_CATEGORY_LABELS, LIGHTING_CATEGORY_ORDER, LIGHTING_FIELD_BY_CATEGORY, LIGHTING_IDS, LLM_CHAT_WIZARD_CATEGORIES, LOOP_SUBJECTS, LOOP_SUBJECT_CATEGORY_LABELS, LOOP_SUBJECT_CATEGORY_ORDER, type Lens, type Lighting, type LightingCategory, type LightingValue, type LlmChatFieldArgs, type LocationMotionPromptInput, type LocationPromptInput, type LocationRefinePromptInput, type LoopSubject, type LoopSubjectCategory, MATERIALS, MATERIAL_CATEGORY_LABELS, MATERIAL_CATEGORY_ORDER, MATERIAL_IDS, MAX_SELECTED_BY_DIMENSION, MAX_SELECTED_BY_FRAMING_CATEGORY, MAX_SELECTED_BY_STYLING_DIMENSION, MAX_SUBJECT_KEYS, MINOR_IMPLYING_TYPE_IDS, MOODS, MOOD_CATEGORY_LABELS, MOOD_CATEGORY_ORDER, MOOD_IDS, MOVEMENT_LABELS, MULTI_PICKER_WIRING, MUSIC_EMOTIONS, MUSIC_ENERGIES, MUSIC_ERAS, MUSIC_GENRES, MUSIC_GENRE_CATEGORY_LABELS, MUSIC_GENRE_CATEGORY_ORDER, MUSIC_GENRE_DEFAULT_DATA, MUSIC_MOOD_DEFAULT_DATA, MUSIC_VIBES, MUSIC_WIZARD_CATEGORIES, type Material, type MaterialCategory, type ModelChange, type Mood, type MoodCategory, type MoodValue, type MultiDimPickerWiring, type MultiPickerAnalyzerSpec, type MusicEra, type MusicGenre, type MusicGenreCategory, type MusicMoodData, type MusicMoodEntry, type MusicSubgenre, NODE_PROMPT_CANDIDATE_FIELDS, NODE_PROMPT_FIELDS, OBJECT_ANGLE_PRESETS, OBJECT_ANGLE_PROMPTS, OBJECT_ASSET_PRESETS, OBJECT_ASSET_PROMPTS, OBJECT_MATERIAL_PRESETS, OBJECT_MATERIAL_PROMPTS, OBJECT_VARIATION_PRESETS, OBJECT_VARIATION_PROMPTS, type ObjectMotionPromptInput, type ObjectPresetAssetType, type ObjectPromptInput, PEOPLE, PERSON_DIMENSION_LABELS, PERSON_DIMENSION_ORDER, PERSON_DIMENSION_SECTIONS, PERSON_FIELD_BY_DIMENSION, PERSON_IDS, PHOTOGRAPHERS, PHOTOGRAPHER_CATEGORY_LABELS, PHOTOGRAPHER_CATEGORY_ORDER, PHOTOGRAPHER_IDS, PHOTO_GENRES, PHOTO_GENRE_CATEGORY_LABELS, PHOTO_GENRE_CATEGORY_ORDER, PHOTO_GENRE_IDS, PICKER_ANALYZER_FAMILIES, PICKER_ANALYZER_REGISTRY, PICKER_CATALOGS, PICKER_TYPES, POSES, POSE_CATEGORY_LABELS, POSE_CATEGORY_ORDER, POSE_IDS, POST_CONTENT_ANALYSIS_SYSTEM_PROMPT, POST_PROCESS_EFFECTS, POST_PROCESS_EFFECT_IDS, PRODUCTION_STYLES, PROMPT_AFFIX_CORE_FIELD_OVERRIDES, PROMPT_AFFIX_NODE_TYPES, PROMPT_HINT_SEPARATOR, PROVIDER_CAPABILITIES, PROVIDER_PROMPT_DOCTRINES, type Person, type PersonDimension, type PersonDimensionSection, type PersonPack, type PersonValue, type PhotoGenre, type PhotoGenreCategory, type Photographer, type PhotographerCategory, type PickerAnalyzer, type PickerAnalyzerDescriptor, type PickerAnalyzerSpec, type PickerApplyMode, type PickerCatalog, type PickerCatalogDetail, type PickerCatalogInput, type PickerCatalogSummary, type PickerDimension, type PickerDimensionInput, type PickerDimensionSpec, type PickerGaps, type PickerHintMode, type PickerOption, type PickerOptionInput, type PickerType, type PickerWiring, type PickerWiringEntry, type Pose, type PoseCategory, type PoseValue, type PostProcessEffect, type ProjectPickerCatalogOptions, type ProjectedPickerCatalog, type ProjectedPickerDimension, type ProjectedPickerOption, type PromptClauseSlot, type PromptFieldSpec, type PromptIconKind, type PromptSegment, type PromptSegmentOrigin, type ProviderPromptDoctrine, REFERENCE_IMAGE_ROLES, REFERENCE_RULES, REFERENCE_RULES_MULTI_PERSON, REF_BINDING, RENDER_QUALITIES, RENDER_QUALITY_IDS, RETIRED_ADULT_ONLY_HINT_STRINGS, type RecommendedModel, type RefIdTokenContext, type ReferenceCounts, type ReferenceLineFormat, type RegisteredPersonEntry, type RenderQuality, type ResolveCharacterMentionsResult, type ResolveLocationMentionsResult, type ResolvePromptArgs, type ResolveVideoReferenceCoreArgs, SCENE3D_FIGURE_REFERENCE_RULE, SCENE3D_FREE_PLATE_SLOTS, SCENE3D_LAYOUT_REFERENCE_SCOPING_FIXTURE, SCENE3D_LAYOUT_REFERENCE_SCOPING_LINE, SCENE3D_LAYOUT_SCOPING_FOR, SCENE3D_LAYOUT_SCOPING_IGNORE, SCENE3D_LAYOUT_SCOPING_LOOK_SOURCE, SCENE3D_LAYOUT_SCOPING_MARKER, SCENE3D_UNREFERENCED_FIGURES_WARNING_CODE, SCENE_FRAME_RULE, SCENE_PROMPT_MAX_LENGTH, SEEDANCE_VIDEO_EDIT_PREFIX, SETTINGS, SETTING_CATEGORY_LABELS, SETTING_IDS, SHOT_LABELS, SINGING_STYLES, SINGLE_PICKER_WIRING, SNIPPET_MEDIA_VALUES, STYLES, STYLE_IDS, STYLE_PRESETS, STYLE_SECTION_GAP, STYLE_SECTION_HEADER, STYLINGS, STYLING_DIMENSION_LABELS, STYLING_DIMENSION_ORDER, STYLING_FIELD_BY_DIMENSION, STYLING_IDS, SUBJECT_ARRAY_CEILING, SUBJECT_CUSTOM_AGE_KEY, SUBJECT_FIELDS, SUBJECT_FOLD_KEYS, SUBJECT_ID_MAX_CHARS, SUBJECT_IMAGE_HINT_MODE_DEFAULT, SUBJECT_KEYS, SUBJECT_KEY_MAX_CHARS, SUBJECT_VIDEO_HINT_MODE_DEFAULT, type Scene3DFigureReferenceCheck, type Scene3DLayoutReferenceCarrier, type Scene3DLayoutReferenceSeat, type Scene3DLayoutScopingSpec, type Scene3DUnreferencedFiguresWarning, type Seedance2InputsArgs, type Seedance2InputsResult, type Seedance2Mode, type Setting, type SettingCategory, type SidecarCoverageReport, type SingleDimPickerWiring, type SlottedPromptClause, type SnippetMedia, type SnippetTarget, type SoundComposition, type SoundCompositionFields, type SoundConsumerType, type StructuredPromptFields, type Style, type StylePreset, type Styling, type StylingDimension, type StylingValue, type SubjectFieldRow, type SubjectFieldSpec, type SubjectFields, type SubjectGroupFieldSpec, type SubjectHintMode, type SubjectIdsFieldSpec, type SubjectSurface, type SuspiciousTermOptions, TEMPORALS, TEMPORAL_CATEGORY_LABELS, TEMPORAL_CATEGORY_ORDER, TEMPORAL_FIELD_BY_CATEGORY, TEMPORAL_IDS, TERM_MAX_CHARS, TEXT_WIZARD_CATEGORIES, TRANSITIONS, TRANSITION_CATEGORY_LABELS, TRANSITION_CATEGORY_ORDER, TRANSITION_DURATIONS, TRANSITION_IDS, TRANSITION_INTENSITIES, TRANSITION_POSITIONS, type Temporal, type TemporalCategory, type TemporalValue, type TermCarrier, type Transition, type TransitionCategory, type TransitionDuration, type TransitionHintOptions, type TransitionHintScope, type TransitionIntensity, type TransitionPosition, type TransitionTiming, type TransitionTimingOption, VIDEO_HINT_MODE_DEFAULT, VIDEO_WIZARD_CATEGORIES, VOCAL_PRESENCE, VOCAL_PRESENCE_INSTRUMENTAL_ID, VOICE_ACCENTS, VOICE_AGES, VOICE_ARCHETYPES, VOICE_CHARACTER_DEFAULT_DATA, VOICE_DELIVERY_DEFAULT_DATA, VOICE_EMOTIONS, VOICE_GENDERS, VOICE_LANGUAGES, VOICE_PACES, VOICE_TIMBRES, type VeoI2vInputsArgs, type VeoI2vInputsResult, type VideoDirectionKey, type VideoExtraRef, type VideoPromptCapOptions, type VoiceCharacterEntry, type VoiceDeliveryEntry, WARDROBE, WARDROBE_CATEGORY_LABELS, WARDROBE_DIMENSION_ORDER, WARDROBE_FIELD_BY_DIMENSION, type WardrobeDimension, type WardrobeEntry, type WardrobeValue, type WizardCategory, type WizardNodeContext, type WizardOption, type WizardQuestion, type WizardSelection, __resetCatalogIdGuardForTests, appendField, appendMusicMeta, appendReferenceLines, appendScene3DStillScopingLines, applyMinorAgeFloorToPickerValues, applyPickerJson, applyPromptAffixes, applyReferenceOrderToVideo, applyTemplate, asBodyClauses, assembleImageInput, assembleSunoInput, buildActionFxHints, buildActionFxTerms, buildAdCreativeAnalysisUserText, buildAestheticHints, buildAestheticTerms, buildAgeHint, buildAtmosphereHints, buildAtmosphereTerms, buildCharacterPrompt, buildCreaturePrompt, buildExposureHints, buildExposureTerms, buildFaceTemplateInputs, buildFramingHints, buildFramingTerms, buildHeldPropHints, buildHeldPropTerms, buildIdentityDirectives, buildIdentityLockLine, buildImagePrompt, buildImagePromptSegments, buildImagePromptWithOverflow, buildInstrumentationHints, buildInstrumentationTerms, buildLightingHints, buildLightingTerms, buildLocationMotionPrompt, buildLocationPrompt, buildLocationRefinePrompt, buildMaterialHints, buildMaterialTerms, buildMoodHints, buildMoodTerms, buildMotionPrompt, buildMultiPickerAnalyzerSpec, buildMusicGenreHints, buildMusicGenreTerms, buildMusicMoodHints, buildMusicMoodTerms, buildNeedleAlternationSource, buildObjectMotionPrompt, buildObjectPrompt, buildPersonHints, buildPersonTerms, buildPhotographerHints, buildPhotographerTerms, buildPickerAnalyzerSpec, buildPickerLegend, buildPickerZodSchema, buildPoseHints, buildPoseTerms, buildPostProcessHints, buildPostProcessTerms, buildReferenceBlocks, buildScene3DLayoutScopingLine, buildScene3DUnreferencedFiguresWarning, buildScenePrompt, buildSeedanceVideoEditPrompt, buildStylingHints, buildStylingTerms, buildSurroundFillPrompt, buildTemporalHints, buildTemporalTerms, buildVoiceCharacterHints, buildVoiceCharacterTerms, buildVoiceDeliveryHints, buildVoiceDeliveryTerms, buildWardrobeHints, catalogGuardActive, catalogPacksVersion, characterLockToRefLock, collectIdentityLockClause, composeCameraMotionHintFromConnections, composeCameraMotionTermFromConnections, composeCharacterFxHintFromConnections, composeCharacterMotionHintFromConnections, composeNegative, composePickerCatalogs, composeSectionedPrompt, composeSoundHintFromConnections, composeTransitionHintFromConnections, composeVideoPromptText, composedHas, composedOption, composedOptionIndex, computeLlmChatFields, computeNodePrompt, computePackSidecarCoverage, containsMinorAgeHint, curateEntries, curatedAnimalPromptHint, curatedAnimalTerm, curatedFurnitureText, curatedVehicleText, curatedWeaponText, deriveTerm, directionFieldsForSurface, endsInsideStyleSection, expandImagePositionRefs, expandImageRefTokens, filmStillPrefix, findForeignCatalogIds, findForeignCatalogIdsInBody, foreignCatalogIdMessage, getActionFx, getActionFxLabel, getActionFxPromptHint, getActionFxTerm, getAdultOnlyEntries, getAdultOnlyHintStrings, getAdultOnlyIds, getAesthetic, getAestheticLabel, getAestheticPromptHint, getAestheticTerm, getAtmosphere, getAtmosphereLabel, getAtmospherePromptHint, getAtmosphereTerm, getBackdrop, getBackdropLabel, getBackdropPromptHint, getBackdropTerm, getCameraFormat, getCameraFormatLabel, getCameraFormatPromptHint, getCameraFormatTerm, getCameraMotion, getCameraMotionLabel, getCameraMotionPromptHint, getCameraMotionTerm, getCategoriesForNodeType, getCharacterFx, getCharacterFxLabel, getCharacterFxPromptHint, getCharacterFxTerm, getCharacterMotion, getCharacterMotionBindings, getCharacterMotionDiagnostics, getCharacterMotionLabel, getCharacterMotionPromptHint, getCharacterMotionTerm, getColorLook, getColorLookLabel, getColorLookPromptHint, getColorLookTerm, getCompositionEffect, getCompositionEffectLabel, getCompositionEffectPromptHint, getCompositionEffectTerm, getEffectiveSunoCustomMode, getEra, getEraLabel, getEraPromptHint, getEraTerm, getExposure, getExposureLabel, getExposurePromptHint, getExposureTerm, getFactoryPresets, getFactorySnippets, getFraming, getFramingCategoryLimit, getFramingLabel, getFramingPromptHint, getFramingTerm, getHeldProp, getHeldPropLabel, getHeldPropPromptHint, getHeldPropTerm, getIdentityLockClause, getInstrument, getInstrumentTerm, getLens, getLensLabel, getLensPromptHint, getLensTerm, getLighting, getLightingLabel, getLightingPromptHint, getLightingTerm, getLoopSubject, getLoopSubjectLabel, getLoopSubjectPromptHint, getLoopSubjectTerm, getMaterial, getMaterialLabel, getMaterialPromptHint, getMaterialTerm, getMinorAgeHintStrings, getMood, getMoodLabel, getMoodPromptHint, getMoodTerm, getMusicEmotion, getMusicEmotionTerm, getMusicEnergy, getMusicEnergyTerm, getMusicEra, getMusicEraTerm, getMusicGenre, getMusicGenreLabel, getMusicGenreTerm, getMusicSubgenre, getMusicSubgenreTerm, getMusicVibe, getMusicVibeTerm, getParameterPromptHint, getPerson, getPersonDimensionLimit, getPersonLabel, getPersonPromptHint, getPersonTerm, getPhotoGenre, getPhotoGenreLabel, getPhotoGenrePromptHint, getPhotoGenreTerm, getPhotographer, getPhotographerLabel, getPhotographerPromptHint, getPhotographerTerm, getPickerAnalyzer, getPickerCatalog, getPickerWiring, getPose, getPoseLabel, getPosePromptHint, getPoseTerm, getPostProcessEffect, getPostProcessEffectLabel, getPostProcessEffectPromptHint, getPostProcessEffectTerm, getProductionStyle, getProductionStyleTerm, getPromptDoctrine, getPromptFields, getPromptTips, getRegisteredCatalogPacks, getRegisteredPeople, getRegisteredPersonDimensionLabels, getRegisteredPersonDimensionOrder, getRegisteredPersonFieldByDimension, getRegisteredPickerCatalogs, getRegisteredSubjectKeys, getRenderQuality, getRenderQualityLabel, getRenderQualityPromptHint, getRenderQualityTerm, getSetting, getSettingLabel, getSettingPromptHint, getSettingTerm, getSingingStyle, getSingingStyleTerm, getSnippetMedia, getStyle, getStyleLabel, getStylePreset, getStylePromptHint, getStyleTerm, getStyling, getStylingDimensionLimit, getStylingLabel, getStylingPromptHint, getStylingTerm, getTemporal, getTemporalLabel, getTemporalPromptHint, getTemporalTerm, getTransition, getTransitionLabel, getTransitionPromptHint, getTransitionTerm, getVocalPresence, getVocalPresenceTerm, getVoiceAccent, getVoiceAccentTerm, getVoiceAge, getVoiceAgeTerm, getVoiceArchetype, getVoiceArchetypeTerm, getVoiceEmotion, getVoiceEmotionTerm, getVoiceGender, getVoiceGenderTerm, getVoiceLanguage, getVoiceLanguageTerm, getVoicePace, getVoicePaceTerm, getVoiceTimbre, getVoiceTimbreTerm, getWardrobeEntriesByDimension, getWardrobeEntry, getWardrobePromptHint, groupFactoryPresets, hasCatalogPacksFor, hasScene3DLayoutScopingLine, hasUpstreamCharacter, identityRefsSentence, insertBeforeStyleSection, isAnalyzablePicker, isDeniedStyleId, isInstantTransition, isInstrumentalVocal, isMinorAge, isSuspiciousDerivedTerm, isVantageFraming, isWizardSupported, joinHintFragments, joinPromptHints, joinPromptParts, keepableDirectionHints, listPickerCatalogs, migratePersonValue, modeForFamily, nodeHasInlinePrompt, nodeHasPromptField, nodeSupportsPromptAffixes, normalizeSubjectFields, overlayEntry, partitionStyleClauses, personPacksVersion, pickerFanoutTargets, planFrameDelivery, projectAllCatalogs, projectPickerCatalog, promptAffixCoreField, promptBindsFirstFrame, promptFieldCarriesAffixes, promptPartSeparator, readDirectionFields, readStructuredFields, readSubjectFields, referenceDescriptionLine, referenceRulesBlock, registerCatalogPack, registerPersonPack, renderDescribedReferenceLines, renderDirectionHintClauses, renderDirectionHints, renderReferenceCaptionLines, renderScene3DLayoutScopingLine, renderStructuredFields, renderStyleSection, renderSubjectHints, renderTransitionBases, resetCatalogPacks, resetPersonPacks, resolveBrandInput, resolveCharacterMentions, resolveGeminiOmniI2vInputs, resolveLocationMentions, resolvePrompt, resolveRefIdTokens, resolveReferenceTokens, resolveSeedance2Inputs, resolveTemplate, resolveTerm, resolveVeoI2vInputs, resolveVideoReferenceCore, scene3DLayoutVideoCaptions, sectionedClauseCosts, setComposedCatalogResolver, splitStyleSection, styleSectionFromClauses, styleSlotFor, subjectFieldsForSurface, subscribeCatalogPacks, summarizePickerCatalogs, toIdentityLockMode, truncateForField, truncateText, withForcedIdentityLock };
|