@marlinjai/studio-mcp 0.1.1 → 0.3.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/README.md +21 -6
- package/dist/cli.js +3802 -440
- package/dist/index.d.ts +220 -6
- package/dist/index.js +3804 -440
- package/package.json +2 -2
package/dist/index.d.ts
CHANGED
|
@@ -33,12 +33,14 @@ declare const DocNodeSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
|
33
33
|
"multiview-to-3d": "multiview-to-3d";
|
|
34
34
|
remesh: "remesh";
|
|
35
35
|
texture: "texture";
|
|
36
|
+
rig: "rig";
|
|
36
37
|
"text-to-audio": "text-to-audio";
|
|
37
38
|
"text-to-speech": "text-to-speech";
|
|
38
39
|
"speech-to-text": "speech-to-text";
|
|
39
40
|
"speech-to-speech": "speech-to-speech";
|
|
40
41
|
"image-to-text": "image-to-text";
|
|
41
42
|
"image-to-json": "image-to-json";
|
|
43
|
+
"video-to-text": "video-to-text";
|
|
42
44
|
judge: "judge";
|
|
43
45
|
"text-generation": "text-generation";
|
|
44
46
|
upscale: "upscale";
|
|
@@ -68,6 +70,13 @@ declare const DocNodeSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
|
68
70
|
assetId: z.ZodOptional<z.ZodString>;
|
|
69
71
|
label: z.ZodOptional<z.ZodString>;
|
|
70
72
|
collapsed: z.ZodOptional<z.ZodBoolean>;
|
|
73
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
74
|
+
id: z.ZodString;
|
|
75
|
+
kind: z.ZodLiteral<"video-source">;
|
|
76
|
+
videoUrl: z.ZodDefault<z.ZodString>;
|
|
77
|
+
assetId: z.ZodOptional<z.ZodString>;
|
|
78
|
+
label: z.ZodOptional<z.ZodString>;
|
|
79
|
+
collapsed: z.ZodOptional<z.ZodBoolean>;
|
|
71
80
|
}, z.core.$strip>, z.ZodObject<{
|
|
72
81
|
id: z.ZodString;
|
|
73
82
|
kind: z.ZodLiteral<"input">;
|
|
@@ -113,12 +122,14 @@ declare const WorkflowDocumentSchema: z.ZodObject<{
|
|
|
113
122
|
"multiview-to-3d": "multiview-to-3d";
|
|
114
123
|
remesh: "remesh";
|
|
115
124
|
texture: "texture";
|
|
125
|
+
rig: "rig";
|
|
116
126
|
"text-to-audio": "text-to-audio";
|
|
117
127
|
"text-to-speech": "text-to-speech";
|
|
118
128
|
"speech-to-text": "speech-to-text";
|
|
119
129
|
"speech-to-speech": "speech-to-speech";
|
|
120
130
|
"image-to-text": "image-to-text";
|
|
121
131
|
"image-to-json": "image-to-json";
|
|
132
|
+
"video-to-text": "video-to-text";
|
|
122
133
|
judge: "judge";
|
|
123
134
|
"text-generation": "text-generation";
|
|
124
135
|
upscale: "upscale";
|
|
@@ -148,6 +159,13 @@ declare const WorkflowDocumentSchema: z.ZodObject<{
|
|
|
148
159
|
assetId: z.ZodOptional<z.ZodString>;
|
|
149
160
|
label: z.ZodOptional<z.ZodString>;
|
|
150
161
|
collapsed: z.ZodOptional<z.ZodBoolean>;
|
|
162
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
163
|
+
id: z.ZodString;
|
|
164
|
+
kind: z.ZodLiteral<"video-source">;
|
|
165
|
+
videoUrl: z.ZodDefault<z.ZodString>;
|
|
166
|
+
assetId: z.ZodOptional<z.ZodString>;
|
|
167
|
+
label: z.ZodOptional<z.ZodString>;
|
|
168
|
+
collapsed: z.ZodOptional<z.ZodBoolean>;
|
|
151
169
|
}, z.core.$strip>, z.ZodObject<{
|
|
152
170
|
id: z.ZodString;
|
|
153
171
|
kind: z.ZodLiteral<"input">;
|
|
@@ -233,12 +251,14 @@ declare const OpSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
|
233
251
|
"multiview-to-3d": "multiview-to-3d";
|
|
234
252
|
remesh: "remesh";
|
|
235
253
|
texture: "texture";
|
|
254
|
+
rig: "rig";
|
|
236
255
|
"text-to-audio": "text-to-audio";
|
|
237
256
|
"text-to-speech": "text-to-speech";
|
|
238
257
|
"speech-to-text": "speech-to-text";
|
|
239
258
|
"speech-to-speech": "speech-to-speech";
|
|
240
259
|
"image-to-text": "image-to-text";
|
|
241
260
|
"image-to-json": "image-to-json";
|
|
261
|
+
"video-to-text": "video-to-text";
|
|
242
262
|
judge: "judge";
|
|
243
263
|
"text-generation": "text-generation";
|
|
244
264
|
upscale: "upscale";
|
|
@@ -268,6 +288,13 @@ declare const OpSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
|
268
288
|
assetId: z.ZodOptional<z.ZodString>;
|
|
269
289
|
label: z.ZodOptional<z.ZodString>;
|
|
270
290
|
collapsed: z.ZodOptional<z.ZodBoolean>;
|
|
291
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
292
|
+
id: z.ZodString;
|
|
293
|
+
kind: z.ZodLiteral<"video-source">;
|
|
294
|
+
videoUrl: z.ZodDefault<z.ZodString>;
|
|
295
|
+
assetId: z.ZodOptional<z.ZodString>;
|
|
296
|
+
label: z.ZodOptional<z.ZodString>;
|
|
297
|
+
collapsed: z.ZodOptional<z.ZodBoolean>;
|
|
271
298
|
}, z.core.$strip>, z.ZodObject<{
|
|
272
299
|
id: z.ZodString;
|
|
273
300
|
kind: z.ZodLiteral<"input">;
|
|
@@ -317,12 +344,14 @@ declare const OpSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
|
317
344
|
"multiview-to-3d": "multiview-to-3d";
|
|
318
345
|
remesh: "remesh";
|
|
319
346
|
texture: "texture";
|
|
347
|
+
rig: "rig";
|
|
320
348
|
"text-to-audio": "text-to-audio";
|
|
321
349
|
"text-to-speech": "text-to-speech";
|
|
322
350
|
"speech-to-text": "speech-to-text";
|
|
323
351
|
"speech-to-speech": "speech-to-speech";
|
|
324
352
|
"image-to-text": "image-to-text";
|
|
325
353
|
"image-to-json": "image-to-json";
|
|
354
|
+
"video-to-text": "video-to-text";
|
|
326
355
|
judge: "judge";
|
|
327
356
|
"text-generation": "text-generation";
|
|
328
357
|
upscale: "upscale";
|
|
@@ -353,6 +382,16 @@ declare const OpSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
|
353
382
|
label: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
354
383
|
collapsed: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
|
|
355
384
|
}, z.core.$strict>;
|
|
385
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
386
|
+
type: z.ZodLiteral<"setNodeProps">;
|
|
387
|
+
kind: z.ZodLiteral<"video-source">;
|
|
388
|
+
id: z.ZodString;
|
|
389
|
+
props: z.ZodObject<{
|
|
390
|
+
videoUrl: z.ZodOptional<z.ZodString>;
|
|
391
|
+
assetId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
392
|
+
label: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
393
|
+
collapsed: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
|
|
394
|
+
}, z.core.$strict>;
|
|
356
395
|
}, z.core.$strip>, z.ZodObject<{
|
|
357
396
|
type: z.ZodLiteral<"setNodeProps">;
|
|
358
397
|
kind: z.ZodLiteral<"input">;
|
|
@@ -508,12 +547,14 @@ declare const PatchSchema: z.ZodObject<{
|
|
|
508
547
|
"multiview-to-3d": "multiview-to-3d";
|
|
509
548
|
remesh: "remesh";
|
|
510
549
|
texture: "texture";
|
|
550
|
+
rig: "rig";
|
|
511
551
|
"text-to-audio": "text-to-audio";
|
|
512
552
|
"text-to-speech": "text-to-speech";
|
|
513
553
|
"speech-to-text": "speech-to-text";
|
|
514
554
|
"speech-to-speech": "speech-to-speech";
|
|
515
555
|
"image-to-text": "image-to-text";
|
|
516
556
|
"image-to-json": "image-to-json";
|
|
557
|
+
"video-to-text": "video-to-text";
|
|
517
558
|
judge: "judge";
|
|
518
559
|
"text-generation": "text-generation";
|
|
519
560
|
upscale: "upscale";
|
|
@@ -543,6 +584,13 @@ declare const PatchSchema: z.ZodObject<{
|
|
|
543
584
|
assetId: z.ZodOptional<z.ZodString>;
|
|
544
585
|
label: z.ZodOptional<z.ZodString>;
|
|
545
586
|
collapsed: z.ZodOptional<z.ZodBoolean>;
|
|
587
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
588
|
+
id: z.ZodString;
|
|
589
|
+
kind: z.ZodLiteral<"video-source">;
|
|
590
|
+
videoUrl: z.ZodDefault<z.ZodString>;
|
|
591
|
+
assetId: z.ZodOptional<z.ZodString>;
|
|
592
|
+
label: z.ZodOptional<z.ZodString>;
|
|
593
|
+
collapsed: z.ZodOptional<z.ZodBoolean>;
|
|
546
594
|
}, z.core.$strip>, z.ZodObject<{
|
|
547
595
|
id: z.ZodString;
|
|
548
596
|
kind: z.ZodLiteral<"input">;
|
|
@@ -592,12 +640,14 @@ declare const PatchSchema: z.ZodObject<{
|
|
|
592
640
|
"multiview-to-3d": "multiview-to-3d";
|
|
593
641
|
remesh: "remesh";
|
|
594
642
|
texture: "texture";
|
|
643
|
+
rig: "rig";
|
|
595
644
|
"text-to-audio": "text-to-audio";
|
|
596
645
|
"text-to-speech": "text-to-speech";
|
|
597
646
|
"speech-to-text": "speech-to-text";
|
|
598
647
|
"speech-to-speech": "speech-to-speech";
|
|
599
648
|
"image-to-text": "image-to-text";
|
|
600
649
|
"image-to-json": "image-to-json";
|
|
650
|
+
"video-to-text": "video-to-text";
|
|
601
651
|
judge: "judge";
|
|
602
652
|
"text-generation": "text-generation";
|
|
603
653
|
upscale: "upscale";
|
|
@@ -628,6 +678,16 @@ declare const PatchSchema: z.ZodObject<{
|
|
|
628
678
|
label: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
629
679
|
collapsed: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
|
|
630
680
|
}, z.core.$strict>;
|
|
681
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
682
|
+
type: z.ZodLiteral<"setNodeProps">;
|
|
683
|
+
kind: z.ZodLiteral<"video-source">;
|
|
684
|
+
id: z.ZodString;
|
|
685
|
+
props: z.ZodObject<{
|
|
686
|
+
videoUrl: z.ZodOptional<z.ZodString>;
|
|
687
|
+
assetId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
688
|
+
label: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
689
|
+
collapsed: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
|
|
690
|
+
}, z.core.$strict>;
|
|
631
691
|
}, z.core.$strip>, z.ZodObject<{
|
|
632
692
|
type: z.ZodLiteral<"setNodeProps">;
|
|
633
693
|
kind: z.ZodLiteral<"input">;
|
|
@@ -798,7 +858,7 @@ interface ApplyError {
|
|
|
798
858
|
* Pure: no database, no provider, no DOM.
|
|
799
859
|
*/
|
|
800
860
|
|
|
801
|
-
type ProjectionIssueCode = "no_task_nodes" | "not_runnable" | "no_model" | "prompt_required" | "source_uploading" | "no_inputs" | "param_unmappable" | "param_type_conflict" | "integrity";
|
|
861
|
+
type ProjectionIssueCode = "no_task_nodes" | "not_runnable" | "no_model" | "prompt_required" | "source_uploading" | "keyframe_positions" | "no_inputs" | "param_unmappable" | "param_type_conflict" | "integrity";
|
|
802
862
|
interface ProjectionIssue {
|
|
803
863
|
code: ProjectionIssueCode;
|
|
804
864
|
/** The node the issue is about, when it is about one. */
|
|
@@ -911,6 +971,9 @@ interface NodeRun {
|
|
|
911
971
|
mime?: string | null;
|
|
912
972
|
text?: string;
|
|
913
973
|
json?: unknown;
|
|
974
|
+
assetId?: string | null;
|
|
975
|
+
/** A name for one of several results, e.g. a rig's animation clip preset. */
|
|
976
|
+
label?: string;
|
|
914
977
|
}>;
|
|
915
978
|
costUsd?: number | null;
|
|
916
979
|
errorMessage?: string | null;
|
|
@@ -993,7 +1056,11 @@ interface TenantUsageResponse {
|
|
|
993
1056
|
tenantId?: string;
|
|
994
1057
|
month: string;
|
|
995
1058
|
plan: string;
|
|
1059
|
+
/** `null` = explicitly unlimited (only an operator-set plan can be). */
|
|
996
1060
|
capUsd: number | null;
|
|
1061
|
+
/** `default`: no plan of its own, the default cap applies. `row`: an
|
|
1062
|
+
* operator-set plan. Absent from a Studio older than 2026-09-23. */
|
|
1063
|
+
capSource?: 'row' | 'default';
|
|
997
1064
|
rpm: number | null;
|
|
998
1065
|
/** Realized + in-flight estimated: the same total the quota guard checks
|
|
999
1066
|
* against and a 402 body's `usedUsd` reports. */
|
|
@@ -1022,7 +1089,7 @@ interface TaskDescriptor {
|
|
|
1022
1089
|
inputs: Array<{
|
|
1023
1090
|
port: string;
|
|
1024
1091
|
wireable: boolean;
|
|
1025
|
-
cardinality: 'one' | 'none';
|
|
1092
|
+
cardinality: 'one' | 'two' | 'many' | 'none';
|
|
1026
1093
|
binding: {
|
|
1027
1094
|
key: string;
|
|
1028
1095
|
path: string;
|
|
@@ -1144,6 +1211,25 @@ declare class StudioClient {
|
|
|
1144
1211
|
jobId: string;
|
|
1145
1212
|
kind: string;
|
|
1146
1213
|
}>;
|
|
1214
|
+
/**
|
|
1215
|
+
* One 3D generation. `/api/generate` routes to its 3D branch on `?force=3d`
|
|
1216
|
+
* (a prompt alone would be classified by its words); the model and its flags
|
|
1217
|
+
* ride under `settings.model3d` and `settings.options3d`, an input image as
|
|
1218
|
+
* `images[0]`.
|
|
1219
|
+
*/
|
|
1220
|
+
generate3d(body: {
|
|
1221
|
+
prompt: string;
|
|
1222
|
+
images?: string[];
|
|
1223
|
+
projectId?: string;
|
|
1224
|
+
brandSlug?: string;
|
|
1225
|
+
settings?: {
|
|
1226
|
+
model3d?: string;
|
|
1227
|
+
options3d?: Record<string, unknown>;
|
|
1228
|
+
};
|
|
1229
|
+
}): Promise<{
|
|
1230
|
+
jobId: string;
|
|
1231
|
+
kind: string;
|
|
1232
|
+
}>;
|
|
1147
1233
|
getJob(jobId: string): Promise<JobResponse>;
|
|
1148
1234
|
listCharacters(): Promise<{
|
|
1149
1235
|
characters: CharacterSummary[];
|
|
@@ -1160,6 +1246,11 @@ declare class StudioClient {
|
|
|
1160
1246
|
descriptorPrompt: string;
|
|
1161
1247
|
negativePrompt?: string;
|
|
1162
1248
|
defaultModel?: string;
|
|
1249
|
+
/** The likeness acknowledgement, confirmed by the human the agent acts
|
|
1250
|
+
* for. The literal `true` in the type is the point: a call site with no
|
|
1251
|
+
* confirmation to pass does not compile. The Studio answers 422
|
|
1252
|
+
* `likeness_rights_confirmation_required` without it. */
|
|
1253
|
+
likenessRightsConfirmed: true;
|
|
1163
1254
|
}): Promise<{
|
|
1164
1255
|
character: CharacterSummary;
|
|
1165
1256
|
}>;
|
|
@@ -1262,6 +1353,10 @@ declare class StudioClient {
|
|
|
1262
1353
|
budgetUsd?: number;
|
|
1263
1354
|
/** Bypasses the $10 confirmation threshold for this one request. */
|
|
1264
1355
|
confirm?: boolean;
|
|
1356
|
+
/** The likeness acknowledgement. Required by the Studio when the recipe
|
|
1357
|
+
* creates a character (422 `likeness_rights_confirmation_required`,
|
|
1358
|
+
* before anything is spent); ignored by a recipe that creates none. */
|
|
1359
|
+
likenessRightsConfirmed?: true;
|
|
1265
1360
|
}): Promise<{
|
|
1266
1361
|
runId: string;
|
|
1267
1362
|
status: string;
|
|
@@ -1404,7 +1499,7 @@ declare function registerTools(server: McpServer, ctx: ToolContext): void;
|
|
|
1404
1499
|
*/
|
|
1405
1500
|
|
|
1406
1501
|
declare const SERVER_NAME = "lumitra-studio";
|
|
1407
|
-
declare const SERVER_VERSION = "0.
|
|
1502
|
+
declare const SERVER_VERSION = "0.3.0";
|
|
1408
1503
|
interface CreateServerOptions {
|
|
1409
1504
|
config?: StudioConfig;
|
|
1410
1505
|
env?: NodeJS.ProcessEnv;
|
|
@@ -1476,12 +1571,14 @@ declare const studioWorkflowCreate: ToolDef<{
|
|
|
1476
1571
|
"multiview-to-3d": "multiview-to-3d";
|
|
1477
1572
|
remesh: "remesh";
|
|
1478
1573
|
texture: "texture";
|
|
1574
|
+
rig: "rig";
|
|
1479
1575
|
"text-to-audio": "text-to-audio";
|
|
1480
1576
|
"text-to-speech": "text-to-speech";
|
|
1481
1577
|
"speech-to-text": "speech-to-text";
|
|
1482
1578
|
"speech-to-speech": "speech-to-speech";
|
|
1483
1579
|
"image-to-text": "image-to-text";
|
|
1484
1580
|
"image-to-json": "image-to-json";
|
|
1581
|
+
"video-to-text": "video-to-text";
|
|
1485
1582
|
judge: "judge";
|
|
1486
1583
|
"text-generation": "text-generation";
|
|
1487
1584
|
upscale: "upscale";
|
|
@@ -1511,6 +1608,13 @@ declare const studioWorkflowCreate: ToolDef<{
|
|
|
1511
1608
|
assetId: z.ZodOptional<z.ZodString>;
|
|
1512
1609
|
label: z.ZodOptional<z.ZodString>;
|
|
1513
1610
|
collapsed: z.ZodOptional<z.ZodBoolean>;
|
|
1611
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
1612
|
+
id: z.ZodString;
|
|
1613
|
+
kind: z.ZodLiteral<"video-source">;
|
|
1614
|
+
videoUrl: z.ZodDefault<z.ZodString>;
|
|
1615
|
+
assetId: z.ZodOptional<z.ZodString>;
|
|
1616
|
+
label: z.ZodOptional<z.ZodString>;
|
|
1617
|
+
collapsed: z.ZodOptional<z.ZodBoolean>;
|
|
1514
1618
|
}, z.core.$strip>, z.ZodObject<{
|
|
1515
1619
|
id: z.ZodString;
|
|
1516
1620
|
kind: z.ZodLiteral<"input">;
|
|
@@ -1560,12 +1664,14 @@ declare const studioWorkflowCreate: ToolDef<{
|
|
|
1560
1664
|
"multiview-to-3d": "multiview-to-3d";
|
|
1561
1665
|
remesh: "remesh";
|
|
1562
1666
|
texture: "texture";
|
|
1667
|
+
rig: "rig";
|
|
1563
1668
|
"text-to-audio": "text-to-audio";
|
|
1564
1669
|
"text-to-speech": "text-to-speech";
|
|
1565
1670
|
"speech-to-text": "speech-to-text";
|
|
1566
1671
|
"speech-to-speech": "speech-to-speech";
|
|
1567
1672
|
"image-to-text": "image-to-text";
|
|
1568
1673
|
"image-to-json": "image-to-json";
|
|
1674
|
+
"video-to-text": "video-to-text";
|
|
1569
1675
|
judge: "judge";
|
|
1570
1676
|
"text-generation": "text-generation";
|
|
1571
1677
|
upscale: "upscale";
|
|
@@ -1596,6 +1702,16 @@ declare const studioWorkflowCreate: ToolDef<{
|
|
|
1596
1702
|
label: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
1597
1703
|
collapsed: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
|
|
1598
1704
|
}, z.core.$strict>;
|
|
1705
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
1706
|
+
type: z.ZodLiteral<"setNodeProps">;
|
|
1707
|
+
kind: z.ZodLiteral<"video-source">;
|
|
1708
|
+
id: z.ZodString;
|
|
1709
|
+
props: z.ZodObject<{
|
|
1710
|
+
videoUrl: z.ZodOptional<z.ZodString>;
|
|
1711
|
+
assetId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
1712
|
+
label: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
1713
|
+
collapsed: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
|
|
1714
|
+
}, z.core.$strict>;
|
|
1599
1715
|
}, z.core.$strip>, z.ZodObject<{
|
|
1600
1716
|
type: z.ZodLiteral<"setNodeProps">;
|
|
1601
1717
|
kind: z.ZodLiteral<"input">;
|
|
@@ -1753,12 +1869,14 @@ declare const studioWorkflowApply: ToolDef<{
|
|
|
1753
1869
|
"multiview-to-3d": "multiview-to-3d";
|
|
1754
1870
|
remesh: "remesh";
|
|
1755
1871
|
texture: "texture";
|
|
1872
|
+
rig: "rig";
|
|
1756
1873
|
"text-to-audio": "text-to-audio";
|
|
1757
1874
|
"text-to-speech": "text-to-speech";
|
|
1758
1875
|
"speech-to-text": "speech-to-text";
|
|
1759
1876
|
"speech-to-speech": "speech-to-speech";
|
|
1760
1877
|
"image-to-text": "image-to-text";
|
|
1761
1878
|
"image-to-json": "image-to-json";
|
|
1879
|
+
"video-to-text": "video-to-text";
|
|
1762
1880
|
judge: "judge";
|
|
1763
1881
|
"text-generation": "text-generation";
|
|
1764
1882
|
upscale: "upscale";
|
|
@@ -1788,6 +1906,13 @@ declare const studioWorkflowApply: ToolDef<{
|
|
|
1788
1906
|
assetId: z.ZodOptional<z.ZodString>;
|
|
1789
1907
|
label: z.ZodOptional<z.ZodString>;
|
|
1790
1908
|
collapsed: z.ZodOptional<z.ZodBoolean>;
|
|
1909
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
1910
|
+
id: z.ZodString;
|
|
1911
|
+
kind: z.ZodLiteral<"video-source">;
|
|
1912
|
+
videoUrl: z.ZodDefault<z.ZodString>;
|
|
1913
|
+
assetId: z.ZodOptional<z.ZodString>;
|
|
1914
|
+
label: z.ZodOptional<z.ZodString>;
|
|
1915
|
+
collapsed: z.ZodOptional<z.ZodBoolean>;
|
|
1791
1916
|
}, z.core.$strip>, z.ZodObject<{
|
|
1792
1917
|
id: z.ZodString;
|
|
1793
1918
|
kind: z.ZodLiteral<"input">;
|
|
@@ -1837,12 +1962,14 @@ declare const studioWorkflowApply: ToolDef<{
|
|
|
1837
1962
|
"multiview-to-3d": "multiview-to-3d";
|
|
1838
1963
|
remesh: "remesh";
|
|
1839
1964
|
texture: "texture";
|
|
1965
|
+
rig: "rig";
|
|
1840
1966
|
"text-to-audio": "text-to-audio";
|
|
1841
1967
|
"text-to-speech": "text-to-speech";
|
|
1842
1968
|
"speech-to-text": "speech-to-text";
|
|
1843
1969
|
"speech-to-speech": "speech-to-speech";
|
|
1844
1970
|
"image-to-text": "image-to-text";
|
|
1845
1971
|
"image-to-json": "image-to-json";
|
|
1972
|
+
"video-to-text": "video-to-text";
|
|
1846
1973
|
judge: "judge";
|
|
1847
1974
|
"text-generation": "text-generation";
|
|
1848
1975
|
upscale: "upscale";
|
|
@@ -1873,6 +2000,16 @@ declare const studioWorkflowApply: ToolDef<{
|
|
|
1873
2000
|
label: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
1874
2001
|
collapsed: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
|
|
1875
2002
|
}, z.core.$strict>;
|
|
2003
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
2004
|
+
type: z.ZodLiteral<"setNodeProps">;
|
|
2005
|
+
kind: z.ZodLiteral<"video-source">;
|
|
2006
|
+
id: z.ZodString;
|
|
2007
|
+
props: z.ZodObject<{
|
|
2008
|
+
videoUrl: z.ZodOptional<z.ZodString>;
|
|
2009
|
+
assetId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
2010
|
+
label: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
2011
|
+
collapsed: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
|
|
2012
|
+
}, z.core.$strict>;
|
|
1876
2013
|
}, z.core.$strip>, z.ZodObject<{
|
|
1877
2014
|
type: z.ZodLiteral<"setNodeProps">;
|
|
1878
2015
|
kind: z.ZodLiteral<"input">;
|
|
@@ -2029,12 +2166,14 @@ declare const studioWorkflowValidate: ToolDef<{
|
|
|
2029
2166
|
"multiview-to-3d": "multiview-to-3d";
|
|
2030
2167
|
remesh: "remesh";
|
|
2031
2168
|
texture: "texture";
|
|
2169
|
+
rig: "rig";
|
|
2032
2170
|
"text-to-audio": "text-to-audio";
|
|
2033
2171
|
"text-to-speech": "text-to-speech";
|
|
2034
2172
|
"speech-to-text": "speech-to-text";
|
|
2035
2173
|
"speech-to-speech": "speech-to-speech";
|
|
2036
2174
|
"image-to-text": "image-to-text";
|
|
2037
2175
|
"image-to-json": "image-to-json";
|
|
2176
|
+
"video-to-text": "video-to-text";
|
|
2038
2177
|
judge: "judge";
|
|
2039
2178
|
"text-generation": "text-generation";
|
|
2040
2179
|
upscale: "upscale";
|
|
@@ -2064,6 +2203,13 @@ declare const studioWorkflowValidate: ToolDef<{
|
|
|
2064
2203
|
assetId: z.ZodOptional<z.ZodString>;
|
|
2065
2204
|
label: z.ZodOptional<z.ZodString>;
|
|
2066
2205
|
collapsed: z.ZodOptional<z.ZodBoolean>;
|
|
2206
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
2207
|
+
id: z.ZodString;
|
|
2208
|
+
kind: z.ZodLiteral<"video-source">;
|
|
2209
|
+
videoUrl: z.ZodDefault<z.ZodString>;
|
|
2210
|
+
assetId: z.ZodOptional<z.ZodString>;
|
|
2211
|
+
label: z.ZodOptional<z.ZodString>;
|
|
2212
|
+
collapsed: z.ZodOptional<z.ZodBoolean>;
|
|
2067
2213
|
}, z.core.$strip>, z.ZodObject<{
|
|
2068
2214
|
id: z.ZodString;
|
|
2069
2215
|
kind: z.ZodLiteral<"input">;
|
|
@@ -2150,12 +2296,14 @@ declare const studioWorkflowValidate: ToolDef<{
|
|
|
2150
2296
|
"multiview-to-3d": "multiview-to-3d";
|
|
2151
2297
|
remesh: "remesh";
|
|
2152
2298
|
texture: "texture";
|
|
2299
|
+
rig: "rig";
|
|
2153
2300
|
"text-to-audio": "text-to-audio";
|
|
2154
2301
|
"text-to-speech": "text-to-speech";
|
|
2155
2302
|
"speech-to-text": "speech-to-text";
|
|
2156
2303
|
"speech-to-speech": "speech-to-speech";
|
|
2157
2304
|
"image-to-text": "image-to-text";
|
|
2158
2305
|
"image-to-json": "image-to-json";
|
|
2306
|
+
"video-to-text": "video-to-text";
|
|
2159
2307
|
judge: "judge";
|
|
2160
2308
|
"text-generation": "text-generation";
|
|
2161
2309
|
upscale: "upscale";
|
|
@@ -2185,6 +2333,13 @@ declare const studioWorkflowValidate: ToolDef<{
|
|
|
2185
2333
|
assetId: z.ZodOptional<z.ZodString>;
|
|
2186
2334
|
label: z.ZodOptional<z.ZodString>;
|
|
2187
2335
|
collapsed: z.ZodOptional<z.ZodBoolean>;
|
|
2336
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
2337
|
+
id: z.ZodString;
|
|
2338
|
+
kind: z.ZodLiteral<"video-source">;
|
|
2339
|
+
videoUrl: z.ZodDefault<z.ZodString>;
|
|
2340
|
+
assetId: z.ZodOptional<z.ZodString>;
|
|
2341
|
+
label: z.ZodOptional<z.ZodString>;
|
|
2342
|
+
collapsed: z.ZodOptional<z.ZodBoolean>;
|
|
2188
2343
|
}, z.core.$strip>, z.ZodObject<{
|
|
2189
2344
|
id: z.ZodString;
|
|
2190
2345
|
kind: z.ZodLiteral<"input">;
|
|
@@ -2234,12 +2389,14 @@ declare const studioWorkflowValidate: ToolDef<{
|
|
|
2234
2389
|
"multiview-to-3d": "multiview-to-3d";
|
|
2235
2390
|
remesh: "remesh";
|
|
2236
2391
|
texture: "texture";
|
|
2392
|
+
rig: "rig";
|
|
2237
2393
|
"text-to-audio": "text-to-audio";
|
|
2238
2394
|
"text-to-speech": "text-to-speech";
|
|
2239
2395
|
"speech-to-text": "speech-to-text";
|
|
2240
2396
|
"speech-to-speech": "speech-to-speech";
|
|
2241
2397
|
"image-to-text": "image-to-text";
|
|
2242
2398
|
"image-to-json": "image-to-json";
|
|
2399
|
+
"video-to-text": "video-to-text";
|
|
2243
2400
|
judge: "judge";
|
|
2244
2401
|
"text-generation": "text-generation";
|
|
2245
2402
|
upscale: "upscale";
|
|
@@ -2270,6 +2427,16 @@ declare const studioWorkflowValidate: ToolDef<{
|
|
|
2270
2427
|
label: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
2271
2428
|
collapsed: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
|
|
2272
2429
|
}, z.core.$strict>;
|
|
2430
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
2431
|
+
type: z.ZodLiteral<"setNodeProps">;
|
|
2432
|
+
kind: z.ZodLiteral<"video-source">;
|
|
2433
|
+
id: z.ZodString;
|
|
2434
|
+
props: z.ZodObject<{
|
|
2435
|
+
videoUrl: z.ZodOptional<z.ZodString>;
|
|
2436
|
+
assetId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
2437
|
+
label: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
2438
|
+
collapsed: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
|
|
2439
|
+
}, z.core.$strict>;
|
|
2273
2440
|
}, z.core.$strip>, z.ZodObject<{
|
|
2274
2441
|
type: z.ZodLiteral<"setNodeProps">;
|
|
2275
2442
|
kind: z.ZodLiteral<"input">;
|
|
@@ -2439,6 +2606,7 @@ interface NodeSummary {
|
|
|
2439
2606
|
promptLength?: number;
|
|
2440
2607
|
/** Image-source nodes: the url clipped; empty means still uploading. */
|
|
2441
2608
|
imageUrl?: string;
|
|
2609
|
+
videoUrl?: string;
|
|
2442
2610
|
/** Input nodes (declared run parameters). */
|
|
2443
2611
|
name?: string;
|
|
2444
2612
|
type?: string;
|
|
@@ -2597,14 +2765,60 @@ declare function characterSheetDefinition(overrides?: {
|
|
|
2597
2765
|
declare const DEFAULT_SWAP_EDIT_MODEL = "fal/nano-banana-2-edit";
|
|
2598
2766
|
/** Single start-frame animation. */
|
|
2599
2767
|
declare const DEFAULT_SWAP_VIDEO_MODEL = "fal/seedance-pro-image-to-video";
|
|
2600
|
-
|
|
2601
|
-
|
|
2768
|
+
/**
|
|
2769
|
+
* How much of the person a swap replaces. The rest of the shot always comes
|
|
2770
|
+
* from the footage: pose, expression, gaze, hands, clothing, lighting, focus,
|
|
2771
|
+
* framing and background.
|
|
2772
|
+
*
|
|
2773
|
+
* - `identity` (the default): face, head and hair come from the character; the
|
|
2774
|
+
* footage keeps its body. The smallest change, so the fewest things can break.
|
|
2775
|
+
* - `full_body`: the character's body proportions too. The silhouette changes,
|
|
2776
|
+
* so whatever the old body covered has to be reconstructed and every contact
|
|
2777
|
+
* point (a hand on a tool, a shoulder behind a door) re-derived; say so before
|
|
2778
|
+
* spending on it.
|
|
2779
|
+
*
|
|
2780
|
+
* Identity is the default because an unspecified scope should preserve the
|
|
2781
|
+
* source, never quietly widen the edit.
|
|
2782
|
+
*/
|
|
2783
|
+
declare const SWAP_SCOPES: readonly ["identity", "full_body"];
|
|
2784
|
+
type SwapScope = (typeof SWAP_SCOPES)[number];
|
|
2785
|
+
interface SwapPromptOptions {
|
|
2786
|
+
scope?: SwapScope;
|
|
2787
|
+
/**
|
|
2788
|
+
* Shot-specific constraints most likely to fail here, as concrete
|
|
2789
|
+
* relationships from an analysis of this shot, e.g. "keep the open door in
|
|
2790
|
+
* front of his body". Each becomes its own sentence.
|
|
2791
|
+
*/
|
|
2792
|
+
preserve?: string[];
|
|
2793
|
+
}
|
|
2794
|
+
/**
|
|
2795
|
+
* The still-swap edit prompt for a declared scope.
|
|
2796
|
+
*
|
|
2797
|
+
* Deliberately short and literal. It names what changes, which image supplies
|
|
2798
|
+
* it, and what the first image keeps. It carries no realism suffix
|
|
2799
|
+
* ("photorealistic, no artifacts") and no promise that every pixel stays
|
|
2800
|
+
* identical: an edit model cannot guarantee either, and the suffix is how a
|
|
2801
|
+
* deliberately soft, defocused subject came back tack-sharp on real footage.
|
|
2802
|
+
* Untouched pixels are kept by compositing after the edit, not by asking.
|
|
2803
|
+
*/
|
|
2804
|
+
declare function composeSwapPrompt(options?: SwapPromptOptions): string;
|
|
2805
|
+
/** The identity-scope prompt, the one a swap gets when nothing is declared. */
|
|
2806
|
+
declare const DEFAULT_SWAP_PROMPT: string;
|
|
2807
|
+
/**
|
|
2808
|
+
* The motion prompt when none is given. It asks for NO camera move: in a
|
|
2809
|
+
* replacement the camera belongs to the original footage, and a model told to
|
|
2810
|
+
* add "gentle camera movement" invents one the edit then has to fight.
|
|
2811
|
+
*/
|
|
2812
|
+
declare const DEFAULT_MOTION_PROMPT = "Continue the scene as photographed: keep the camera position and framing of the still, move the person naturally and continuously, and keep the lighting consistent. Add no camera movement.";
|
|
2602
2813
|
interface CharacterSwapInput {
|
|
2603
2814
|
sceneFrameUrl: string;
|
|
2604
2815
|
characterImageUrl: string;
|
|
2605
2816
|
/** A second, already-swapped keyframe for the END of the clip (Kling start+end). */
|
|
2606
2817
|
endFrameUrl?: string;
|
|
2818
|
+
/** Replaces the composed prompt entirely; `scope` and `preserve` are then ignored. */
|
|
2607
2819
|
swapPrompt?: string;
|
|
2820
|
+
scope?: SwapScope;
|
|
2821
|
+
preserve?: string[];
|
|
2608
2822
|
motionPrompt?: string;
|
|
2609
2823
|
editModel?: string;
|
|
2610
2824
|
/** Explicit video model; when absent, Seedance for one frame, Kling when endFrameUrl is set. */
|
|
@@ -2645,4 +2859,4 @@ declare function parseArgs(argv: string[]): CliArgs;
|
|
|
2645
2859
|
declare function createHttpHandler(): (req: IncomingMessage, res: ServerResponse) => Promise<void>;
|
|
2646
2860
|
declare function main(argv?: string[]): Promise<void>;
|
|
2647
2861
|
|
|
2648
|
-
export { type AllTenantsUsageResponse, type Binding, CHARACTER_SHEET_DEFINITION, CHARACTER_SHEET_NODES, type CharacterReference, type CharacterSummary, type CharacterSwapInput, ConfigError, ContractError, type CreateServerOptions, DEFAULT_BASE_URL, DEFAULT_MOTION_PROMPT, DEFAULT_SWAP_EDIT_MODEL, DEFAULT_SWAP_PROMPT, DEFAULT_SWAP_VIDEO_MODEL, DEFAULT_TIMEOUT_MS, type DocumentSummary, type FetchLike, type JobResponse, type JobStatus, type JudgeCandidate, MINT_REFERENCE_CATEGORIES, type NodeResultResponse, type NodeRun, type NodeStatus, type NodeSummary, type NodeTypesResponse, type PollOptions, PollTimeoutError, type ProjectSummary, type Projection, type RemovedNode, type RunResponse, type RunStartResponse, type RunStatus, SERVER_NAME, SERVER_VERSION, SUMMARY_TEXT_CHARS, type SpendLedger, StudioApiError, StudioClient, type StudioClientOptions, type StudioConfig, type StudioMcp, type SummaryMeta, TOOLS, TOOL_NAMES, type TaskDescriptor, type TenantSpendSummary, type TenantUsageResponse, type ToolContext, type ToolDef, ToolInputError, type ToolResult, type TurnaroundView, type UploadFile, type UsageByModel, type UsageResponse, WORKFLOW_TOOLS, type WorkflowApplyResponse, type WorkflowCreateResponse, type WorkflowDefinition, type WorkflowDocumentResponse, type WorkflowNode, type WorkflowValidateResponse, affectedNodes, buildCharacterSheetParams, buildCharacterSwapDefinition, categoryForNode, characterSheetDefinition, createHttpHandler, createStudioMcpServer, extensionForMime, filenameFromUrl, invokeTool, main, mimeForFilename, parseArgs, parseDocument, parseOps, pollUntil, projectionOf, redactSecret, registerTools, resolveConfig, seedFacePrompt, studioWorkflowApply, studioWorkflowCreate, studioWorkflowDescribe, studioWorkflowGet, studioWorkflowScreenshot, studioWorkflowValidate, summarizeDocument, summarizeNode, touchedNodeIds, turnaroundViewPrompt, waitForJob, waitForRun };
|
|
2862
|
+
export { type AllTenantsUsageResponse, type Binding, CHARACTER_SHEET_DEFINITION, CHARACTER_SHEET_NODES, type CharacterReference, type CharacterSummary, type CharacterSwapInput, ConfigError, ContractError, type CreateServerOptions, DEFAULT_BASE_URL, DEFAULT_MOTION_PROMPT, DEFAULT_SWAP_EDIT_MODEL, DEFAULT_SWAP_PROMPT, DEFAULT_SWAP_VIDEO_MODEL, DEFAULT_TIMEOUT_MS, type DocumentSummary, type FetchLike, type JobResponse, type JobStatus, type JudgeCandidate, MINT_REFERENCE_CATEGORIES, type NodeResultResponse, type NodeRun, type NodeStatus, type NodeSummary, type NodeTypesResponse, type PollOptions, PollTimeoutError, type ProjectSummary, type Projection, type RemovedNode, type RunResponse, type RunStartResponse, type RunStatus, SERVER_NAME, SERVER_VERSION, SUMMARY_TEXT_CHARS, SWAP_SCOPES, type SpendLedger, StudioApiError, StudioClient, type StudioClientOptions, type StudioConfig, type StudioMcp, type SummaryMeta, type SwapPromptOptions, type SwapScope, TOOLS, TOOL_NAMES, type TaskDescriptor, type TenantSpendSummary, type TenantUsageResponse, type ToolContext, type ToolDef, ToolInputError, type ToolResult, type TurnaroundView, type UploadFile, type UsageByModel, type UsageResponse, WORKFLOW_TOOLS, type WorkflowApplyResponse, type WorkflowCreateResponse, type WorkflowDefinition, type WorkflowDocumentResponse, type WorkflowNode, type WorkflowValidateResponse, affectedNodes, buildCharacterSheetParams, buildCharacterSwapDefinition, categoryForNode, characterSheetDefinition, composeSwapPrompt, createHttpHandler, createStudioMcpServer, extensionForMime, filenameFromUrl, invokeTool, main, mimeForFilename, parseArgs, parseDocument, parseOps, pollUntil, projectionOf, redactSecret, registerTools, resolveConfig, seedFacePrompt, studioWorkflowApply, studioWorkflowCreate, studioWorkflowDescribe, studioWorkflowGet, studioWorkflowScreenshot, studioWorkflowValidate, summarizeDocument, summarizeNode, touchedNodeIds, turnaroundViewPrompt, waitForJob, waitForRun };
|