@marlinjai/studio-mcp 0.2.0 → 0.4.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 +24 -8
- package/dist/cli.js +3744 -536
- package/dist/index.d.ts +57 -8
- package/dist/index.js +3744 -536
- package/examples/claude-code.sh +2 -2
- package/package.json +2 -2
package/dist/index.d.ts
CHANGED
|
@@ -33,6 +33,7 @@ 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";
|
|
@@ -121,6 +122,7 @@ declare const WorkflowDocumentSchema: z.ZodObject<{
|
|
|
121
122
|
"multiview-to-3d": "multiview-to-3d";
|
|
122
123
|
remesh: "remesh";
|
|
123
124
|
texture: "texture";
|
|
125
|
+
rig: "rig";
|
|
124
126
|
"text-to-audio": "text-to-audio";
|
|
125
127
|
"text-to-speech": "text-to-speech";
|
|
126
128
|
"speech-to-text": "speech-to-text";
|
|
@@ -249,6 +251,7 @@ declare const OpSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
|
249
251
|
"multiview-to-3d": "multiview-to-3d";
|
|
250
252
|
remesh: "remesh";
|
|
251
253
|
texture: "texture";
|
|
254
|
+
rig: "rig";
|
|
252
255
|
"text-to-audio": "text-to-audio";
|
|
253
256
|
"text-to-speech": "text-to-speech";
|
|
254
257
|
"speech-to-text": "speech-to-text";
|
|
@@ -341,6 +344,7 @@ declare const OpSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
|
341
344
|
"multiview-to-3d": "multiview-to-3d";
|
|
342
345
|
remesh: "remesh";
|
|
343
346
|
texture: "texture";
|
|
347
|
+
rig: "rig";
|
|
344
348
|
"text-to-audio": "text-to-audio";
|
|
345
349
|
"text-to-speech": "text-to-speech";
|
|
346
350
|
"speech-to-text": "speech-to-text";
|
|
@@ -543,6 +547,7 @@ declare const PatchSchema: z.ZodObject<{
|
|
|
543
547
|
"multiview-to-3d": "multiview-to-3d";
|
|
544
548
|
remesh: "remesh";
|
|
545
549
|
texture: "texture";
|
|
550
|
+
rig: "rig";
|
|
546
551
|
"text-to-audio": "text-to-audio";
|
|
547
552
|
"text-to-speech": "text-to-speech";
|
|
548
553
|
"speech-to-text": "speech-to-text";
|
|
@@ -635,6 +640,7 @@ declare const PatchSchema: z.ZodObject<{
|
|
|
635
640
|
"multiview-to-3d": "multiview-to-3d";
|
|
636
641
|
remesh: "remesh";
|
|
637
642
|
texture: "texture";
|
|
643
|
+
rig: "rig";
|
|
638
644
|
"text-to-audio": "text-to-audio";
|
|
639
645
|
"text-to-speech": "text-to-speech";
|
|
640
646
|
"speech-to-text": "speech-to-text";
|
|
@@ -852,7 +858,7 @@ interface ApplyError {
|
|
|
852
858
|
* Pure: no database, no provider, no DOM.
|
|
853
859
|
*/
|
|
854
860
|
|
|
855
|
-
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";
|
|
856
862
|
interface ProjectionIssue {
|
|
857
863
|
code: ProjectionIssueCode;
|
|
858
864
|
/** The node the issue is about, when it is about one. */
|
|
@@ -863,11 +869,12 @@ interface ProjectionIssue {
|
|
|
863
869
|
/**
|
|
864
870
|
* Server configuration, resolved from the environment once at startup.
|
|
865
871
|
*
|
|
866
|
-
* `LUMITRA_STUDIO_API_KEY` is the bearer token
|
|
867
|
-
* `LUMITRA_STUDIO_SERVICE_TOKEN`
|
|
868
|
-
*
|
|
869
|
-
*
|
|
870
|
-
* logs, echoes, or serializes
|
|
872
|
+
* `LUMITRA_STUDIO_API_KEY` is the bearer token, and the only name read. The
|
|
873
|
+
* legacy name `LUMITRA_STUDIO_SERVICE_TOKEN` was a fallback until 0.4.0; the two
|
|
874
|
+
* names carried different keys on one machine, so there is now one. A legacy
|
|
875
|
+
* variable that is still set is named in the error, never read. The token is
|
|
876
|
+
* held in memory only: nothing in this package ever logs, echoes, or serializes
|
|
877
|
+
* it (see `redactSecret` in errors.ts).
|
|
871
878
|
*
|
|
872
879
|
* Placeholder handling: the Agent Plugins spec only guarantees expansion of
|
|
873
880
|
* `${PLUGIN_ROOT}` / `${PLUGIN_DATA}` in a plugin's `.mcp.json`, so some
|
|
@@ -965,6 +972,9 @@ interface NodeRun {
|
|
|
965
972
|
mime?: string | null;
|
|
966
973
|
text?: string;
|
|
967
974
|
json?: unknown;
|
|
975
|
+
assetId?: string | null;
|
|
976
|
+
/** A name for one of several results, e.g. a rig's animation clip preset. */
|
|
977
|
+
label?: string;
|
|
968
978
|
}>;
|
|
969
979
|
costUsd?: number | null;
|
|
970
980
|
errorMessage?: string | null;
|
|
@@ -1047,7 +1057,11 @@ interface TenantUsageResponse {
|
|
|
1047
1057
|
tenantId?: string;
|
|
1048
1058
|
month: string;
|
|
1049
1059
|
plan: string;
|
|
1060
|
+
/** `null` = explicitly unlimited (only an operator-set plan can be). */
|
|
1050
1061
|
capUsd: number | null;
|
|
1062
|
+
/** `default`: no plan of its own, the default cap applies. `row`: an
|
|
1063
|
+
* operator-set plan. Absent from a Studio older than 2026-09-23. */
|
|
1064
|
+
capSource?: 'row' | 'default';
|
|
1051
1065
|
rpm: number | null;
|
|
1052
1066
|
/** Realized + in-flight estimated: the same total the quota guard checks
|
|
1053
1067
|
* against and a 402 body's `usedUsd` reports. */
|
|
@@ -1198,6 +1212,25 @@ declare class StudioClient {
|
|
|
1198
1212
|
jobId: string;
|
|
1199
1213
|
kind: string;
|
|
1200
1214
|
}>;
|
|
1215
|
+
/**
|
|
1216
|
+
* One 3D generation. `/api/generate` routes to its 3D branch on `?force=3d`
|
|
1217
|
+
* (a prompt alone would be classified by its words); the model and its flags
|
|
1218
|
+
* ride under `settings.model3d` and `settings.options3d`, an input image as
|
|
1219
|
+
* `images[0]`.
|
|
1220
|
+
*/
|
|
1221
|
+
generate3d(body: {
|
|
1222
|
+
prompt: string;
|
|
1223
|
+
images?: string[];
|
|
1224
|
+
projectId?: string;
|
|
1225
|
+
brandSlug?: string;
|
|
1226
|
+
settings?: {
|
|
1227
|
+
model3d?: string;
|
|
1228
|
+
options3d?: Record<string, unknown>;
|
|
1229
|
+
};
|
|
1230
|
+
}): Promise<{
|
|
1231
|
+
jobId: string;
|
|
1232
|
+
kind: string;
|
|
1233
|
+
}>;
|
|
1201
1234
|
getJob(jobId: string): Promise<JobResponse>;
|
|
1202
1235
|
listCharacters(): Promise<{
|
|
1203
1236
|
characters: CharacterSummary[];
|
|
@@ -1214,6 +1247,11 @@ declare class StudioClient {
|
|
|
1214
1247
|
descriptorPrompt: string;
|
|
1215
1248
|
negativePrompt?: string;
|
|
1216
1249
|
defaultModel?: string;
|
|
1250
|
+
/** The likeness acknowledgement, confirmed by the human the agent acts
|
|
1251
|
+
* for. The literal `true` in the type is the point: a call site with no
|
|
1252
|
+
* confirmation to pass does not compile. The Studio answers 422
|
|
1253
|
+
* `likeness_rights_confirmation_required` without it. */
|
|
1254
|
+
likenessRightsConfirmed: true;
|
|
1217
1255
|
}): Promise<{
|
|
1218
1256
|
character: CharacterSummary;
|
|
1219
1257
|
}>;
|
|
@@ -1316,6 +1354,10 @@ declare class StudioClient {
|
|
|
1316
1354
|
budgetUsd?: number;
|
|
1317
1355
|
/** Bypasses the $10 confirmation threshold for this one request. */
|
|
1318
1356
|
confirm?: boolean;
|
|
1357
|
+
/** The likeness acknowledgement. Required by the Studio when the recipe
|
|
1358
|
+
* creates a character (422 `likeness_rights_confirmation_required`,
|
|
1359
|
+
* before anything is spent); ignored by a recipe that creates none. */
|
|
1360
|
+
likenessRightsConfirmed?: true;
|
|
1319
1361
|
}): Promise<{
|
|
1320
1362
|
runId: string;
|
|
1321
1363
|
status: string;
|
|
@@ -1458,7 +1500,7 @@ declare function registerTools(server: McpServer, ctx: ToolContext): void;
|
|
|
1458
1500
|
*/
|
|
1459
1501
|
|
|
1460
1502
|
declare const SERVER_NAME = "lumitra-studio";
|
|
1461
|
-
declare const SERVER_VERSION = "0.
|
|
1503
|
+
declare const SERVER_VERSION = "0.4.0";
|
|
1462
1504
|
interface CreateServerOptions {
|
|
1463
1505
|
config?: StudioConfig;
|
|
1464
1506
|
env?: NodeJS.ProcessEnv;
|
|
@@ -1530,6 +1572,7 @@ declare const studioWorkflowCreate: ToolDef<{
|
|
|
1530
1572
|
"multiview-to-3d": "multiview-to-3d";
|
|
1531
1573
|
remesh: "remesh";
|
|
1532
1574
|
texture: "texture";
|
|
1575
|
+
rig: "rig";
|
|
1533
1576
|
"text-to-audio": "text-to-audio";
|
|
1534
1577
|
"text-to-speech": "text-to-speech";
|
|
1535
1578
|
"speech-to-text": "speech-to-text";
|
|
@@ -1622,6 +1665,7 @@ declare const studioWorkflowCreate: ToolDef<{
|
|
|
1622
1665
|
"multiview-to-3d": "multiview-to-3d";
|
|
1623
1666
|
remesh: "remesh";
|
|
1624
1667
|
texture: "texture";
|
|
1668
|
+
rig: "rig";
|
|
1625
1669
|
"text-to-audio": "text-to-audio";
|
|
1626
1670
|
"text-to-speech": "text-to-speech";
|
|
1627
1671
|
"speech-to-text": "speech-to-text";
|
|
@@ -1826,6 +1870,7 @@ declare const studioWorkflowApply: ToolDef<{
|
|
|
1826
1870
|
"multiview-to-3d": "multiview-to-3d";
|
|
1827
1871
|
remesh: "remesh";
|
|
1828
1872
|
texture: "texture";
|
|
1873
|
+
rig: "rig";
|
|
1829
1874
|
"text-to-audio": "text-to-audio";
|
|
1830
1875
|
"text-to-speech": "text-to-speech";
|
|
1831
1876
|
"speech-to-text": "speech-to-text";
|
|
@@ -1918,6 +1963,7 @@ declare const studioWorkflowApply: ToolDef<{
|
|
|
1918
1963
|
"multiview-to-3d": "multiview-to-3d";
|
|
1919
1964
|
remesh: "remesh";
|
|
1920
1965
|
texture: "texture";
|
|
1966
|
+
rig: "rig";
|
|
1921
1967
|
"text-to-audio": "text-to-audio";
|
|
1922
1968
|
"text-to-speech": "text-to-speech";
|
|
1923
1969
|
"speech-to-text": "speech-to-text";
|
|
@@ -2121,6 +2167,7 @@ declare const studioWorkflowValidate: ToolDef<{
|
|
|
2121
2167
|
"multiview-to-3d": "multiview-to-3d";
|
|
2122
2168
|
remesh: "remesh";
|
|
2123
2169
|
texture: "texture";
|
|
2170
|
+
rig: "rig";
|
|
2124
2171
|
"text-to-audio": "text-to-audio";
|
|
2125
2172
|
"text-to-speech": "text-to-speech";
|
|
2126
2173
|
"speech-to-text": "speech-to-text";
|
|
@@ -2250,6 +2297,7 @@ declare const studioWorkflowValidate: ToolDef<{
|
|
|
2250
2297
|
"multiview-to-3d": "multiview-to-3d";
|
|
2251
2298
|
remesh: "remesh";
|
|
2252
2299
|
texture: "texture";
|
|
2300
|
+
rig: "rig";
|
|
2253
2301
|
"text-to-audio": "text-to-audio";
|
|
2254
2302
|
"text-to-speech": "text-to-speech";
|
|
2255
2303
|
"speech-to-text": "speech-to-text";
|
|
@@ -2342,6 +2390,7 @@ declare const studioWorkflowValidate: ToolDef<{
|
|
|
2342
2390
|
"multiview-to-3d": "multiview-to-3d";
|
|
2343
2391
|
remesh: "remesh";
|
|
2344
2392
|
texture: "texture";
|
|
2393
|
+
rig: "rig";
|
|
2345
2394
|
"text-to-audio": "text-to-audio";
|
|
2346
2395
|
"text-to-speech": "text-to-speech";
|
|
2347
2396
|
"speech-to-text": "speech-to-text";
|
|
@@ -2791,7 +2840,7 @@ declare function buildCharacterSwapDefinition(input: CharacterSwapInput): Workfl
|
|
|
2791
2840
|
* `studio-mcp --http [--port 3939]` Streamable HTTP transport on /mcp (remote / shared)
|
|
2792
2841
|
*
|
|
2793
2842
|
* Config: LUMITRA_STUDIO_BASE_URL (default https://studio.lumitra.co) and
|
|
2794
|
-
* LUMITRA_STUDIO_API_KEY (
|
|
2843
|
+
* LUMITRA_STUDIO_API_KEY (the only key name read). The token is
|
|
2795
2844
|
* never printed. All diagnostics go to stderr (stdout is the stdio transport).
|
|
2796
2845
|
*/
|
|
2797
2846
|
|