mulmocast 1.2.26 → 1.2.27

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.
@@ -0,0 +1,16 @@
1
+ {
2
+ "title": "Plain Image Prompt",
3
+ "description": "Template for image prompt (no style, no images).",
4
+ "systemPrompt": "Another AI will generate images for each beat based on the image prompt of that beat. Movie prompts must be written in English. Mention the reference in one of beats, if it exists. Use the JSON below as a template.",
5
+ "presentationStyle": {
6
+ "$mulmocast": {
7
+ "version": "1.1",
8
+ "credit": "closing"
9
+ },
10
+ "canvasSize": {
11
+ "width": 1536,
12
+ "height": 1024
13
+ }
14
+ },
15
+ "scriptName": "image_prompts_template.json"
16
+ }
@@ -1,4 +1,13 @@
1
1
  import { AgentFunction, AgentFunctionInfo } from "graphai";
2
+ type Article = {
3
+ url: string;
4
+ title: string | null;
5
+ byline: string | null;
6
+ excerpt: string | null;
7
+ length: number | null;
8
+ textContent: string | null;
9
+ };
10
+ export declare const fetchArticle: (url: string) => Promise<Article>;
2
11
  export declare const puppeteerCrawlerAgent: AgentFunction;
3
12
  declare const puppeteerCrawlerAgentInfo: AgentFunctionInfo;
4
13
  export default puppeteerCrawlerAgentInfo;
@@ -17,7 +17,7 @@ const waitStable = async (page, ms = 1200, step = 200) => {
17
17
  await new Promise((r) => setTimeout(r, step));
18
18
  }
19
19
  };
20
- const fetchArticle = async (url) => {
20
+ export const fetchArticle = async (url) => {
21
21
  const browser = await puppeteer.launch({
22
22
  headless: true,
23
23
  args: ["--no-sandbox", "--disable-setuid-sandbox", "--disable-dev-shm-usage"],
@@ -39,10 +39,6 @@ export declare const promptTemplates: ({
39
39
  provider?: undefined;
40
40
  model?: undefined;
41
41
  };
42
- movieParams: {
43
- provider: string;
44
- model?: undefined;
45
- };
46
42
  soundEffectParams: {
47
43
  provider: string;
48
44
  };
@@ -61,6 +57,7 @@ export declare const promptTemplates: ({
61
57
  Teacher?: undefined;
62
58
  };
63
59
  };
60
+ movieParams?: undefined;
64
61
  };
65
62
  scriptName: string;
66
63
  systemPrompt: string;
@@ -182,10 +179,6 @@ export declare const promptTemplates: ({
182
179
  style?: undefined;
183
180
  model?: undefined;
184
181
  };
185
- movieParams: {
186
- provider: string;
187
- model?: undefined;
188
- };
189
182
  soundEffectParams: {
190
183
  provider: string;
191
184
  };
@@ -204,6 +197,7 @@ export declare const promptTemplates: ({
204
197
  Teacher?: undefined;
205
198
  };
206
199
  };
200
+ movieParams?: undefined;
207
201
  };
208
202
  scriptName: string;
209
203
  systemPrompt: string;
@@ -236,10 +230,6 @@ export declare const promptTemplates: ({
236
230
  provider?: undefined;
237
231
  model?: undefined;
238
232
  };
239
- movieParams: {
240
- provider: string;
241
- model?: undefined;
242
- };
243
233
  soundEffectParams: {
244
234
  provider: string;
245
235
  };
@@ -258,6 +248,7 @@ export declare const promptTemplates: ({
258
248
  Teacher?: undefined;
259
249
  };
260
250
  };
251
+ movieParams?: undefined;
261
252
  };
262
253
  scriptName: string;
263
254
  systemPrompt: string;
@@ -303,10 +294,6 @@ export declare const promptTemplates: ({
303
294
  provider?: undefined;
304
295
  model?: undefined;
305
296
  };
306
- movieParams: {
307
- provider: string;
308
- model?: undefined;
309
- };
310
297
  soundEffectParams: {
311
298
  provider: string;
312
299
  };
@@ -325,6 +312,7 @@ export declare const promptTemplates: ({
325
312
  Teacher?: undefined;
326
313
  };
327
314
  };
315
+ movieParams?: undefined;
328
316
  };
329
317
  scriptName: string;
330
318
  systemPrompt: string;
@@ -370,10 +358,6 @@ export declare const promptTemplates: ({
370
358
  provider: string;
371
359
  style: string;
372
360
  };
373
- movieParams: {
374
- provider: string;
375
- model?: undefined;
376
- };
377
361
  soundEffectParams: {
378
362
  provider: string;
379
363
  };
@@ -392,6 +376,7 @@ export declare const promptTemplates: ({
392
376
  Teacher?: undefined;
393
377
  };
394
378
  };
379
+ movieParams?: undefined;
395
380
  };
396
381
  scriptName: string;
397
382
  systemPrompt: string;
@@ -443,10 +428,6 @@ export declare const promptTemplates: ({
443
428
  provider?: undefined;
444
429
  model?: undefined;
445
430
  };
446
- movieParams: {
447
- provider: string;
448
- model?: undefined;
449
- };
450
431
  soundEffectParams: {
451
432
  provider: string;
452
433
  };
@@ -465,6 +446,7 @@ export declare const promptTemplates: ({
465
446
  Teacher?: undefined;
466
447
  };
467
448
  };
449
+ movieParams?: undefined;
468
450
  };
469
451
  scriptName: string;
470
452
  systemPrompt: string;
@@ -497,10 +479,6 @@ export declare const promptTemplates: ({
497
479
  provider?: undefined;
498
480
  model?: undefined;
499
481
  };
500
- movieParams: {
501
- provider: string;
502
- model?: undefined;
503
- };
504
482
  soundEffectParams: {
505
483
  provider: string;
506
484
  };
@@ -530,6 +508,7 @@ export declare const promptTemplates: ({
530
508
  Presenter?: undefined;
531
509
  };
532
510
  };
511
+ movieParams?: undefined;
533
512
  };
534
513
  scriptName: string;
535
514
  systemPrompt: string;
@@ -562,10 +541,6 @@ export declare const promptTemplates: ({
562
541
  provider?: undefined;
563
542
  model?: undefined;
564
543
  };
565
- movieParams: {
566
- provider: string;
567
- model?: undefined;
568
- };
569
544
  soundEffectParams: {
570
545
  provider: string;
571
546
  };
@@ -584,6 +559,7 @@ export declare const promptTemplates: ({
584
559
  Teacher?: undefined;
585
560
  };
586
561
  };
562
+ movieParams?: undefined;
587
563
  };
588
564
  scriptName: string;
589
565
  systemPrompt: string;
@@ -629,10 +605,6 @@ export declare const promptTemplates: ({
629
605
  provider?: undefined;
630
606
  model?: undefined;
631
607
  };
632
- movieParams: {
633
- provider: string;
634
- model?: undefined;
635
- };
636
608
  soundEffectParams: {
637
609
  provider: string;
638
610
  };
@@ -651,6 +623,7 @@ export declare const promptTemplates: ({
651
623
  Teacher?: undefined;
652
624
  };
653
625
  };
626
+ movieParams?: undefined;
654
627
  };
655
628
  scriptName: string;
656
629
  systemPrompt: string;
@@ -686,10 +659,6 @@ export declare const promptTemplates: ({
686
659
  provider?: undefined;
687
660
  model?: undefined;
688
661
  };
689
- movieParams: {
690
- provider: string;
691
- model?: undefined;
692
- };
693
662
  soundEffectParams: {
694
663
  provider: string;
695
664
  };
@@ -708,6 +677,7 @@ export declare const promptTemplates: ({
708
677
  Teacher?: undefined;
709
678
  };
710
679
  };
680
+ movieParams?: undefined;
711
681
  };
712
682
  scriptName: string;
713
683
  systemPrompt: string;
@@ -32,9 +32,6 @@ export const promptTemplates = [
32
32
  },
33
33
  style: "<style>AKIRA aesthetic.</style>",
34
34
  },
35
- movieParams: {
36
- provider: "replicate",
37
- },
38
35
  soundEffectParams: {
39
36
  provider: "replicate",
40
37
  },
@@ -150,9 +147,6 @@ export const promptTemplates = [
150
147
  images: {},
151
148
  provider: "openai",
152
149
  },
153
- movieParams: {
154
- provider: "replicate",
155
- },
156
150
  soundEffectParams: {
157
151
  provider: "replicate",
158
152
  },
@@ -195,9 +189,6 @@ export const promptTemplates = [
195
189
  imageParams: {
196
190
  style: "A hand-drawn style illustration with a warm, nostalgic atmosphere. The background is rich with natural scenery—lush forests, cloudy skies, and traditional Japanese architecture. Characters have expressive eyes, soft facial features, and are portrayed with gentle lighting and subtle shading. The color palette is muted yet vivid, using earthy tones and watercolor-like textures. The overall scene feels magical and peaceful, with a sense of quiet wonder and emotional depth, reminiscent of classic 1980s and 1990s Japanese animation.",
197
191
  },
198
- movieParams: {
199
- provider: "replicate",
200
- },
201
192
  soundEffectParams: {
202
193
  provider: "replicate",
203
194
  },
@@ -247,9 +238,6 @@ export const promptTemplates = [
247
238
  imageParams: {
248
239
  style: "<style>A multi panel comic strips. 1990s American workplace humor. Clean, minimalist line art with muted colors. One character is a nerdy office worker with glasses</style>",
249
240
  },
250
- movieParams: {
251
- provider: "replicate",
252
- },
253
241
  soundEffectParams: {
254
242
  provider: "replicate",
255
243
  },
@@ -301,9 +289,6 @@ export const promptTemplates = [
301
289
  },
302
290
  style: "<style>Dragon Ball/Dr. Slump aesthetic.</style>",
303
291
  },
304
- movieParams: {
305
- provider: "replicate",
306
- },
307
292
  soundEffectParams: {
308
293
  provider: "replicate",
309
294
  },
@@ -355,9 +340,6 @@ export const promptTemplates = [
355
340
  },
356
341
  style: "<style>Ghibli style</style>",
357
342
  },
358
- movieParams: {
359
- provider: "replicate",
360
- },
361
343
  soundEffectParams: {
362
344
  provider: "replicate",
363
345
  },
@@ -411,9 +393,6 @@ export const promptTemplates = [
411
393
  provider: "google",
412
394
  style: "<style>Ghibli style multi-panel comic strips in landscape mode. Use speech bubbles with short, natural dialogue (1–6 words). Keep text minimal, like real comics. Let the art convey the story and emotions. Use the input image as the presenter.</style>",
413
395
  },
414
- movieParams: {
415
- provider: "replicate",
416
- },
417
396
  soundEffectParams: {
418
397
  provider: "replicate",
419
398
  },
@@ -472,9 +451,6 @@ export const promptTemplates = [
472
451
  },
473
452
  style: "<style>Ghost in the shell aesthetic.</style>",
474
453
  },
475
- movieParams: {
476
- provider: "replicate",
477
- },
478
454
  soundEffectParams: {
479
455
  provider: "replicate",
480
456
  },
@@ -518,9 +494,6 @@ export const promptTemplates = [
518
494
  images: {},
519
495
  provider: "openai",
520
496
  },
521
- movieParams: {
522
- provider: "replicate",
523
- },
524
497
  soundEffectParams: {
525
498
  provider: "replicate",
526
499
  },
@@ -539,6 +512,49 @@ export const promptTemplates = [
539
512
  systemPrompt: "Another LLM will generate actual slides from the prompt and data for each beat. Adding optional data would help it to generate more compelling slide. Mention the reference in one of beats, if it exists. The valid type of reference is 'article', 'paper', 'image', 'video', 'audio'. Use the JSON below as a template.",
540
513
  title: "Business presentation in HTML",
541
514
  },
515
+ {
516
+ description: "Template for image prompt (no style, no images).",
517
+ filename: "image_prompt",
518
+ presentationStyle: {
519
+ $mulmocast: {
520
+ credit: "closing",
521
+ version: "1.1",
522
+ },
523
+ audioParams: {
524
+ audioVolume: 1,
525
+ bgmVolume: 0.2,
526
+ closingPadding: 0.8,
527
+ introPadding: 1,
528
+ outroPadding: 1,
529
+ padding: 0.3,
530
+ suppressSpeech: false,
531
+ },
532
+ canvasSize: {
533
+ height: 1024,
534
+ width: 1536,
535
+ },
536
+ imageParams: {
537
+ images: {},
538
+ provider: "openai",
539
+ },
540
+ soundEffectParams: {
541
+ provider: "replicate",
542
+ },
543
+ speechParams: {
544
+ speakers: {
545
+ Presenter: {
546
+ displayName: {
547
+ en: "Presenter",
548
+ },
549
+ voiceId: "shimmer",
550
+ },
551
+ },
552
+ },
553
+ },
554
+ scriptName: "image_prompts_template.json",
555
+ systemPrompt: "Another AI will generate images for each beat based on the image prompt of that beat. Movie prompts must be written in English. Mention the reference in one of beats, if it exists. Use the JSON below as a template.",
556
+ title: "Plain Image Prompt",
557
+ },
542
558
  {
543
559
  description: "Template for One Piece style comic presentation.",
544
560
  filename: "onepiece_comic",
@@ -572,9 +588,6 @@ export const promptTemplates = [
572
588
  },
573
589
  style: "<style>One Piece aesthetic.</style>",
574
590
  },
575
- movieParams: {
576
- provider: "replicate",
577
- },
578
591
  soundEffectParams: {
579
592
  provider: "replicate",
580
593
  },
@@ -626,9 +639,6 @@ export const promptTemplates = [
626
639
  },
627
640
  style: "<style>Photo realistic, cinematic.</style>",
628
641
  },
629
- movieParams: {
630
- provider: "replicate",
631
- },
632
642
  soundEffectParams: {
633
643
  provider: "replicate",
634
644
  },
@@ -680,9 +690,6 @@ export const promptTemplates = [
680
690
  },
681
691
  style: "<style>Photo realistic, cinematic.</style>",
682
692
  },
683
- movieParams: {
684
- provider: "replicate",
685
- },
686
693
  soundEffectParams: {
687
694
  provider: "replicate",
688
695
  },
@@ -725,9 +732,6 @@ export const promptTemplates = [
725
732
  imageParams: {
726
733
  style: "<style>Ghibli style. Student (Taro) is a young teenager with a dark short hair with glasses. Teacher is a middle-aged man with grey hair and moustache.</style>",
727
734
  },
728
- movieParams: {
729
- provider: "replicate",
730
- },
731
735
  soundEffectParams: {
732
736
  provider: "replicate",
733
737
  },
@@ -784,9 +788,6 @@ export const promptTemplates = [
784
788
  imageParams: {
785
789
  style: "<style>Photo realistic, cinematic.</style>",
786
790
  },
787
- movieParams: {
788
- provider: "replicate",
789
- },
790
791
  soundEffectParams: {
791
792
  provider: "replicate",
792
793
  },
@@ -839,9 +840,6 @@ export const promptTemplates = [
839
840
  },
840
841
  style: "<style>A dreamy, hyper-detailed anime style that blends photorealistic backgrounds with vibrant, saturated colors. The skies are often filled with luminous clouds, dazzling sunsets, or star-filled nights, rendered with a glowing, almost ethereal quality. Urban landscapes and rural scenery are meticulously illustrated, with attention to tiny details like reflections in puddles, neon lights, or the texture of grass swaying in the wind. Characters are drawn with soft, expressive features, standing out against the breathtaking environments, creating a sense of emotional depth and lyrical atmosphere. The overall mood is cinematic, romantic, and filled with a sense of fleeting beauty and longing.</style>",
841
842
  },
842
- movieParams: {
843
- provider: "replicate",
844
- },
845
843
  soundEffectParams: {
846
844
  provider: "replicate",
847
845
  },
@@ -887,9 +885,6 @@ export const promptTemplates = [
887
885
  imageParams: {
888
886
  style: "<style>Photo realistic, cinematic.</style>",
889
887
  },
890
- movieParams: {
891
- provider: "replicate",
892
- },
893
888
  soundEffectParams: {
894
889
  provider: "replicate",
895
890
  },
@@ -11,6 +11,7 @@ export declare const templateDataSet: {
11
11
  ghibli_comic_strips: string;
12
12
  ghost_comic: string;
13
13
  html: string;
14
+ image_prompt: string;
14
15
  onepiece_comic: string;
15
16
  portrait_movie: string;
16
17
  realistic_movie: string;
@@ -47,6 +47,10 @@ export const templateDataSet = {
47
47
  "```JSON\n" +
48
48
  '{"$mulmocast":{"version":"1.1","credit":"closing"},"references":[{"url":"https://www.somegreatwebsite.com/article/123","title":"Title of the article we are referencing","type":"[TYPE OF ARTICLE: article, paper, image, video, audio]"}],"title":"[TITLE: Brief, engaging title for the topic]","htmlImageParams":{"provider":"anthropic","model":"claude-3-7-sonnet-20250219"},"lang":"en","beats":[{"text":"[NARRATION: Narration for the beat.]","htmlPrompt":{"prompt":"[PROMPT to create appropriate HTML page for the beat.]"}},{"text":"[NARRATION: Narration for the beat.]","htmlPrompt":{"prompt":"[PROMPT to create appropriate HTML page for the beat with the data.]","data":{"description":"DATA TO BE PRESENTED IN THIS BEAT (in any format)]","net_income":{"Q2 FY2024":320,"Q3 FY2024":333,"Q4 FY2024":350},"unit":"USD (Million)"}}}],"canvasSize":{"width":1536,"height":1024}}\n' +
49
49
  "```",
50
+ image_prompt: "Another AI will generate images for each beat based on the image prompt of that beat. Movie prompts must be written in English. Mention the reference in one of beats, if it exists. Use the JSON below as a template.\n" +
51
+ "```JSON\n" +
52
+ `{"$mulmocast":{"version":"1.1","credit":"closing"},"title":"[TITLE: Brief, engaging title for the topic]","lang":"en","references":[{"url":"[SOURCE_URL: URL of the source material]","title":"[SOURCE_TITLE: Title of the referenced article, or paper]","type":"[SOURCE_TYPE: article, paper]"}],"beats":[{"text":"[OPENING_BEAT: Introduce the topic with a hook. Reference the source material and set up why this topic matters. Usually 2-3 sentences that grab attention and provide context.]","imagePrompt":"[IMAGE_PROMPT: A prompt for the image to be generated for this beat.]"},{"text":"[MAIN_CONCEPT: Define or explain the core concept/idea. This should be the central focus of your narrative. Keep it clear and accessible.]","imagePrompt":"[IMAGE_PROMPT: A prompt for the image to be generated for this beat.]"},{"text":"[SUPPORTING_DETAIL_1: Additional context, examples, or elaboration that helps illustrate the main concept. This could include how it works, why it's important, or real-world applications.]","imagePrompt":"[IMAGE_PROMPT: A prompt for the image to be generated for this beat.]"},{"text":"[SUPPORTING_DETAIL_2: Continue with more examples, deeper explanation, or different aspects of the topic if needed.]","imagePrompt":"[IMAGE_PROMPT: A prompt for the image to be generated for this beat.]"},{"text":"[ADDITIONAL_BEATS: Add more beats as necessary to fully explore the topic. Complex topics may require 6-10+ beats to cover adequately. Each beat should advance the narrative or provide valuable information.]","imagePrompt":"[IMAGE_PROMPT: A prompt for the image to be generated for this beat.]"},{"text":"[CONCLUSION/IMPACT: Wrap up with the significance, implications, or key takeaway. Help the audience understand why this matters to them.]","imagePrompt":"[IMAGE_PROMPT: A prompt for the image to be generated for this beat.]"}],"canvasSize":{"width":1536,"height":1024}}\n` +
53
+ "```",
50
54
  onepiece_comic: "Another AI will generate images for each beat based on the image prompt of that beat. Mention the reference in one of beats, if it exists. Use the JSON below as a template.\n" +
51
55
  "```JSON\n" +
52
56
  `{"$mulmocast":{"version":"1.1","credit":"closing"},"title":"[TITLE: Brief, engaging title for the topic]","lang":"en","references":[{"url":"[SOURCE_URL: URL of the source material]","title":"[SOURCE_TITLE: Title of the referenced article, or paper]","type":"[SOURCE_TYPE: article, paper]"}],"beats":[{"text":"[OPENING_BEAT: Introduce the topic with a hook. Reference the source material and set up why this topic matters. Usually 2-3 sentences that grab attention and provide context.]","imagePrompt":"[IMAGE_PROMPT: A prompt for the image to be generated for this beat.]"},{"text":"[MAIN_CONCEPT: Define or explain the core concept/idea. This should be the central focus of your narrative. Keep it clear and accessible.]","imagePrompt":"[IMAGE_PROMPT: A prompt for the image to be generated for this beat.]"},{"text":"[SUPPORTING_DETAIL_1: Additional context, examples, or elaboration that helps illustrate the main concept. This could include how it works, why it's important, or real-world applications.]","imagePrompt":"[IMAGE_PROMPT: A prompt for the image to be generated for this beat.]"},{"text":"[SUPPORTING_DETAIL_2: Continue with more examples, deeper explanation, or different aspects of the topic if needed.]","imagePrompt":"[IMAGE_PROMPT: A prompt for the image to be generated for this beat.]"},{"text":"[ADDITIONAL_BEATS: Add more beats as necessary to fully explore the topic. Complex topics may require 6-10+ beats to cover adequately. Each beat should advance the narrative or provide valuable information.]","imagePrompt":"[IMAGE_PROMPT: A prompt for the image to be generated for this beat.]"},{"text":"[CONCLUSION/IMPACT: Wrap up with the significance, implications, or key takeaway. Help the audience understand why this matters to them.]","imagePrompt":"[IMAGE_PROMPT: A prompt for the image to be generated for this beat.]"}],"canvasSize":{"width":1536,"height":1024},"imageParams":{"style":"<style>One Piece aesthetic.</style>","images":{"presenter":{"type":"image","source":{"kind":"url","url":"https://raw.githubusercontent.com/receptron/mulmocast-media/refs/heads/main/characters/onepiece_presenter.png"}}}}}\n` +
package/lib/mcp/server.js CHANGED
@@ -1,5 +1,4 @@
1
1
  #!/usr/bin/env node
2
- process.env.DOTENV_CONFIG_QUIET = 'true';
3
2
  import "dotenv/config";
4
3
  import { Server } from "@modelcontextprotocol/sdk/server/index.js";
5
4
  import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
@@ -2998,7 +2998,7 @@ export declare const mulmoPresentationStyleSchema: z.ZodObject<{
2998
2998
  quality?: string | undefined;
2999
2999
  moderation?: string | undefined;
3000
3000
  }>>>;
3001
- movieParams: z.ZodDefault<z.ZodOptional<z.ZodObject<{
3001
+ movieParams: z.ZodOptional<z.ZodObject<{
3002
3002
  provider: z.ZodOptional<z.ZodDefault<z.ZodEnum<[string, ...string[]]>>>;
3003
3003
  model: z.ZodOptional<z.ZodString>;
3004
3004
  transition: z.ZodOptional<z.ZodObject<{
@@ -3038,7 +3038,7 @@ export declare const mulmoPresentationStyleSchema: z.ZodObject<{
3038
3038
  type: "fade" | "slideout_left";
3039
3039
  duration?: number | undefined;
3040
3040
  } | undefined;
3041
- }>>>;
3041
+ }>>;
3042
3042
  soundEffectParams: z.ZodDefault<z.ZodOptional<z.ZodObject<{
3043
3043
  provider: z.ZodOptional<z.ZodDefault<z.ZodEnum<[string, ...string[]]>>>;
3044
3044
  model: z.ZodOptional<z.ZodString>;
@@ -3224,17 +3224,6 @@ export declare const mulmoPresentationStyleSchema: z.ZodObject<{
3224
3224
  kind: "path";
3225
3225
  } | undefined;
3226
3226
  };
3227
- movieParams: {
3228
- provider?: string | undefined;
3229
- model?: string | undefined;
3230
- fillOption?: {
3231
- style: "aspectFit" | "aspectFill";
3232
- } | undefined;
3233
- transition?: {
3234
- type: "fade" | "slideout_left";
3235
- duration: number;
3236
- } | undefined;
3237
- };
3238
3227
  soundEffectParams: {
3239
3228
  provider?: string | undefined;
3240
3229
  model?: string | undefined;
@@ -3271,6 +3260,17 @@ export declare const mulmoPresentationStyleSchema: z.ZodObject<{
3271
3260
  model?: string | undefined;
3272
3261
  }>;
3273
3262
  };
3263
+ movieParams?: {
3264
+ provider?: string | undefined;
3265
+ model?: string | undefined;
3266
+ fillOption?: {
3267
+ style: "aspectFit" | "aspectFill";
3268
+ } | undefined;
3269
+ transition?: {
3270
+ type: "fade" | "slideout_left";
3271
+ duration: number;
3272
+ } | undefined;
3273
+ } | undefined;
3274
3274
  lipSyncParams?: {
3275
3275
  provider?: string | undefined;
3276
3276
  model?: string | undefined;
@@ -3716,7 +3716,7 @@ export declare const mulmoScriptSchema: z.ZodObject<{
3716
3716
  quality?: string | undefined;
3717
3717
  moderation?: string | undefined;
3718
3718
  }>>>;
3719
- movieParams: z.ZodDefault<z.ZodOptional<z.ZodObject<{
3719
+ movieParams: z.ZodOptional<z.ZodObject<{
3720
3720
  provider: z.ZodOptional<z.ZodDefault<z.ZodEnum<[string, ...string[]]>>>;
3721
3721
  model: z.ZodOptional<z.ZodString>;
3722
3722
  transition: z.ZodOptional<z.ZodObject<{
@@ -3756,7 +3756,7 @@ export declare const mulmoScriptSchema: z.ZodObject<{
3756
3756
  type: "fade" | "slideout_left";
3757
3757
  duration?: number | undefined;
3758
3758
  } | undefined;
3759
- }>>>;
3759
+ }>>;
3760
3760
  soundEffectParams: z.ZodDefault<z.ZodOptional<z.ZodObject<{
3761
3761
  provider: z.ZodOptional<z.ZodDefault<z.ZodEnum<[string, ...string[]]>>>;
3762
3762
  model: z.ZodOptional<z.ZodString>;
@@ -5156,17 +5156,6 @@ export declare const mulmoScriptSchema: z.ZodObject<{
5156
5156
  kind: "path";
5157
5157
  } | undefined;
5158
5158
  };
5159
- movieParams: {
5160
- provider?: string | undefined;
5161
- model?: string | undefined;
5162
- fillOption?: {
5163
- style: "aspectFit" | "aspectFill";
5164
- } | undefined;
5165
- transition?: {
5166
- type: "fade" | "slideout_left";
5167
- duration: number;
5168
- } | undefined;
5169
- };
5170
5159
  soundEffectParams: {
5171
5160
  provider?: string | undefined;
5172
5161
  model?: string | undefined;
@@ -5410,6 +5399,17 @@ export declare const mulmoScriptSchema: z.ZodObject<{
5410
5399
  }[];
5411
5400
  title?: string | undefined;
5412
5401
  description?: string | undefined;
5402
+ movieParams?: {
5403
+ provider?: string | undefined;
5404
+ model?: string | undefined;
5405
+ fillOption?: {
5406
+ style: "aspectFit" | "aspectFill";
5407
+ } | undefined;
5408
+ transition?: {
5409
+ type: "fade" | "slideout_left";
5410
+ duration: number;
5411
+ } | undefined;
5412
+ } | undefined;
5413
5413
  lipSyncParams?: {
5414
5414
  provider?: string | undefined;
5415
5415
  model?: string | undefined;
@@ -6417,7 +6417,7 @@ export declare const mulmoStudioSchema: z.ZodObject<{
6417
6417
  quality?: string | undefined;
6418
6418
  moderation?: string | undefined;
6419
6419
  }>>>;
6420
- movieParams: z.ZodDefault<z.ZodOptional<z.ZodObject<{
6420
+ movieParams: z.ZodOptional<z.ZodObject<{
6421
6421
  provider: z.ZodOptional<z.ZodDefault<z.ZodEnum<[string, ...string[]]>>>;
6422
6422
  model: z.ZodOptional<z.ZodString>;
6423
6423
  transition: z.ZodOptional<z.ZodObject<{
@@ -6457,7 +6457,7 @@ export declare const mulmoStudioSchema: z.ZodObject<{
6457
6457
  type: "fade" | "slideout_left";
6458
6458
  duration?: number | undefined;
6459
6459
  } | undefined;
6460
- }>>>;
6460
+ }>>;
6461
6461
  soundEffectParams: z.ZodDefault<z.ZodOptional<z.ZodObject<{
6462
6462
  provider: z.ZodOptional<z.ZodDefault<z.ZodEnum<[string, ...string[]]>>>;
6463
6463
  model: z.ZodOptional<z.ZodString>;
@@ -7857,17 +7857,6 @@ export declare const mulmoStudioSchema: z.ZodObject<{
7857
7857
  kind: "path";
7858
7858
  } | undefined;
7859
7859
  };
7860
- movieParams: {
7861
- provider?: string | undefined;
7862
- model?: string | undefined;
7863
- fillOption?: {
7864
- style: "aspectFit" | "aspectFill";
7865
- } | undefined;
7866
- transition?: {
7867
- type: "fade" | "slideout_left";
7868
- duration: number;
7869
- } | undefined;
7870
- };
7871
7860
  soundEffectParams: {
7872
7861
  provider?: string | undefined;
7873
7862
  model?: string | undefined;
@@ -8111,6 +8100,17 @@ export declare const mulmoStudioSchema: z.ZodObject<{
8111
8100
  }[];
8112
8101
  title?: string | undefined;
8113
8102
  description?: string | undefined;
8103
+ movieParams?: {
8104
+ provider?: string | undefined;
8105
+ model?: string | undefined;
8106
+ fillOption?: {
8107
+ style: "aspectFit" | "aspectFill";
8108
+ } | undefined;
8109
+ transition?: {
8110
+ type: "fade" | "slideout_left";
8111
+ duration: number;
8112
+ } | undefined;
8113
+ } | undefined;
8114
8114
  lipSyncParams?: {
8115
8115
  provider?: string | undefined;
8116
8116
  model?: string | undefined;
@@ -8580,17 +8580,6 @@ export declare const mulmoStudioSchema: z.ZodObject<{
8580
8580
  kind: "path";
8581
8581
  } | undefined;
8582
8582
  };
8583
- movieParams: {
8584
- provider?: string | undefined;
8585
- model?: string | undefined;
8586
- fillOption?: {
8587
- style: "aspectFit" | "aspectFill";
8588
- } | undefined;
8589
- transition?: {
8590
- type: "fade" | "slideout_left";
8591
- duration: number;
8592
- } | undefined;
8593
- };
8594
8583
  soundEffectParams: {
8595
8584
  provider?: string | undefined;
8596
8585
  model?: string | undefined;
@@ -8834,6 +8823,17 @@ export declare const mulmoStudioSchema: z.ZodObject<{
8834
8823
  }[];
8835
8824
  title?: string | undefined;
8836
8825
  description?: string | undefined;
8826
+ movieParams?: {
8827
+ provider?: string | undefined;
8828
+ model?: string | undefined;
8829
+ fillOption?: {
8830
+ style: "aspectFit" | "aspectFill";
8831
+ } | undefined;
8832
+ transition?: {
8833
+ type: "fade" | "slideout_left";
8834
+ duration: number;
8835
+ } | undefined;
8836
+ } | undefined;
8837
8837
  lipSyncParams?: {
8838
8838
  provider?: string | undefined;
8839
8839
  model?: string | undefined;
@@ -9514,7 +9514,7 @@ export declare const mulmoPromptTemplateSchema: z.ZodObject<{
9514
9514
  quality?: string | undefined;
9515
9515
  moderation?: string | undefined;
9516
9516
  }>>>;
9517
- movieParams: z.ZodDefault<z.ZodOptional<z.ZodObject<{
9517
+ movieParams: z.ZodOptional<z.ZodObject<{
9518
9518
  provider: z.ZodOptional<z.ZodDefault<z.ZodEnum<[string, ...string[]]>>>;
9519
9519
  model: z.ZodOptional<z.ZodString>;
9520
9520
  transition: z.ZodOptional<z.ZodObject<{
@@ -9554,7 +9554,7 @@ export declare const mulmoPromptTemplateSchema: z.ZodObject<{
9554
9554
  type: "fade" | "slideout_left";
9555
9555
  duration?: number | undefined;
9556
9556
  } | undefined;
9557
- }>>>;
9557
+ }>>;
9558
9558
  soundEffectParams: z.ZodDefault<z.ZodOptional<z.ZodObject<{
9559
9559
  provider: z.ZodOptional<z.ZodDefault<z.ZodEnum<[string, ...string[]]>>>;
9560
9560
  model: z.ZodOptional<z.ZodString>;
@@ -9740,17 +9740,6 @@ export declare const mulmoPromptTemplateSchema: z.ZodObject<{
9740
9740
  kind: "path";
9741
9741
  } | undefined;
9742
9742
  };
9743
- movieParams: {
9744
- provider?: string | undefined;
9745
- model?: string | undefined;
9746
- fillOption?: {
9747
- style: "aspectFit" | "aspectFill";
9748
- } | undefined;
9749
- transition?: {
9750
- type: "fade" | "slideout_left";
9751
- duration: number;
9752
- } | undefined;
9753
- };
9754
9743
  soundEffectParams: {
9755
9744
  provider?: string | undefined;
9756
9745
  model?: string | undefined;
@@ -9787,6 +9776,17 @@ export declare const mulmoPromptTemplateSchema: z.ZodObject<{
9787
9776
  model?: string | undefined;
9788
9777
  }>;
9789
9778
  };
9779
+ movieParams?: {
9780
+ provider?: string | undefined;
9781
+ model?: string | undefined;
9782
+ fillOption?: {
9783
+ style: "aspectFit" | "aspectFill";
9784
+ } | undefined;
9785
+ transition?: {
9786
+ type: "fade" | "slideout_left";
9787
+ duration: number;
9788
+ } | undefined;
9789
+ } | undefined;
9790
9790
  lipSyncParams?: {
9791
9791
  provider?: string | undefined;
9792
9792
  model?: string | undefined;
@@ -9968,17 +9968,6 @@ export declare const mulmoPromptTemplateSchema: z.ZodObject<{
9968
9968
  kind: "path";
9969
9969
  } | undefined;
9970
9970
  };
9971
- movieParams: {
9972
- provider?: string | undefined;
9973
- model?: string | undefined;
9974
- fillOption?: {
9975
- style: "aspectFit" | "aspectFill";
9976
- } | undefined;
9977
- transition?: {
9978
- type: "fade" | "slideout_left";
9979
- duration: number;
9980
- } | undefined;
9981
- };
9982
9971
  soundEffectParams: {
9983
9972
  provider?: string | undefined;
9984
9973
  model?: string | undefined;
@@ -10015,6 +10004,17 @@ export declare const mulmoPromptTemplateSchema: z.ZodObject<{
10015
10004
  model?: string | undefined;
10016
10005
  }>;
10017
10006
  };
10007
+ movieParams?: {
10008
+ provider?: string | undefined;
10009
+ model?: string | undefined;
10010
+ fillOption?: {
10011
+ style: "aspectFit" | "aspectFill";
10012
+ } | undefined;
10013
+ transition?: {
10014
+ type: "fade" | "slideout_left";
10015
+ duration: number;
10016
+ } | undefined;
10017
+ } | undefined;
10018
10018
  lipSyncParams?: {
10019
10019
  provider?: string | undefined;
10020
10020
  model?: string | undefined;
@@ -10456,7 +10456,7 @@ export declare const mulmoPromptTemplateFileSchema: z.ZodObject<{
10456
10456
  quality?: string | undefined;
10457
10457
  moderation?: string | undefined;
10458
10458
  }>>>;
10459
- movieParams: z.ZodDefault<z.ZodOptional<z.ZodObject<{
10459
+ movieParams: z.ZodOptional<z.ZodObject<{
10460
10460
  provider: z.ZodOptional<z.ZodDefault<z.ZodEnum<[string, ...string[]]>>>;
10461
10461
  model: z.ZodOptional<z.ZodString>;
10462
10462
  transition: z.ZodOptional<z.ZodObject<{
@@ -10496,7 +10496,7 @@ export declare const mulmoPromptTemplateFileSchema: z.ZodObject<{
10496
10496
  type: "fade" | "slideout_left";
10497
10497
  duration?: number | undefined;
10498
10498
  } | undefined;
10499
- }>>>;
10499
+ }>>;
10500
10500
  soundEffectParams: z.ZodDefault<z.ZodOptional<z.ZodObject<{
10501
10501
  provider: z.ZodOptional<z.ZodDefault<z.ZodEnum<[string, ...string[]]>>>;
10502
10502
  model: z.ZodOptional<z.ZodString>;
@@ -10682,17 +10682,6 @@ export declare const mulmoPromptTemplateFileSchema: z.ZodObject<{
10682
10682
  kind: "path";
10683
10683
  } | undefined;
10684
10684
  };
10685
- movieParams: {
10686
- provider?: string | undefined;
10687
- model?: string | undefined;
10688
- fillOption?: {
10689
- style: "aspectFit" | "aspectFill";
10690
- } | undefined;
10691
- transition?: {
10692
- type: "fade" | "slideout_left";
10693
- duration: number;
10694
- } | undefined;
10695
- };
10696
10685
  soundEffectParams: {
10697
10686
  provider?: string | undefined;
10698
10687
  model?: string | undefined;
@@ -10729,6 +10718,17 @@ export declare const mulmoPromptTemplateFileSchema: z.ZodObject<{
10729
10718
  model?: string | undefined;
10730
10719
  }>;
10731
10720
  };
10721
+ movieParams?: {
10722
+ provider?: string | undefined;
10723
+ model?: string | undefined;
10724
+ fillOption?: {
10725
+ style: "aspectFit" | "aspectFill";
10726
+ } | undefined;
10727
+ transition?: {
10728
+ type: "fade" | "slideout_left";
10729
+ duration: number;
10730
+ } | undefined;
10731
+ } | undefined;
10732
10732
  lipSyncParams?: {
10733
10733
  provider?: string | undefined;
10734
10734
  model?: string | undefined;
@@ -10913,17 +10913,6 @@ export declare const mulmoPromptTemplateFileSchema: z.ZodObject<{
10913
10913
  kind: "path";
10914
10914
  } | undefined;
10915
10915
  };
10916
- movieParams: {
10917
- provider?: string | undefined;
10918
- model?: string | undefined;
10919
- fillOption?: {
10920
- style: "aspectFit" | "aspectFill";
10921
- } | undefined;
10922
- transition?: {
10923
- type: "fade" | "slideout_left";
10924
- duration: number;
10925
- } | undefined;
10926
- };
10927
10916
  soundEffectParams: {
10928
10917
  provider?: string | undefined;
10929
10918
  model?: string | undefined;
@@ -10960,6 +10949,17 @@ export declare const mulmoPromptTemplateFileSchema: z.ZodObject<{
10960
10949
  model?: string | undefined;
10961
10950
  }>;
10962
10951
  };
10952
+ movieParams?: {
10953
+ provider?: string | undefined;
10954
+ model?: string | undefined;
10955
+ fillOption?: {
10956
+ style: "aspectFit" | "aspectFill";
10957
+ } | undefined;
10958
+ transition?: {
10959
+ type: "fade" | "slideout_left";
10960
+ duration: number;
10961
+ } | undefined;
10962
+ } | undefined;
10963
10963
  lipSyncParams?: {
10964
10964
  provider?: string | undefined;
10965
10965
  model?: string | undefined;
@@ -346,9 +346,7 @@ export const mulmoPresentationStyleSchema = z.object({
346
346
  provider: defaultProviders.text2image,
347
347
  images: {},
348
348
  }),
349
- movieParams: mulmoMovieParamsSchema.optional().default({
350
- provider: defaultProviders.text2movie,
351
- }),
349
+ movieParams: mulmoMovieParamsSchema.optional(),
352
350
  soundEffectParams: mulmoSoundEffectParamsSchema.optional().default({
353
351
  provider: defaultProviders.soundEffect,
354
352
  }),
@@ -67,17 +67,6 @@ export declare const createStudioData: (_mulmoScript: MulmoScript, fileName: str
67
67
  kind: "path";
68
68
  } | undefined;
69
69
  };
70
- movieParams: {
71
- provider?: string | undefined;
72
- model?: string | undefined;
73
- fillOption?: {
74
- style: "aspectFit" | "aspectFill";
75
- } | undefined;
76
- transition?: {
77
- type: "fade" | "slideout_left";
78
- duration: number;
79
- } | undefined;
80
- };
81
70
  soundEffectParams: {
82
71
  provider?: string | undefined;
83
72
  model?: string | undefined;
@@ -321,6 +310,17 @@ export declare const createStudioData: (_mulmoScript: MulmoScript, fileName: str
321
310
  }[];
322
311
  title?: string | undefined;
323
312
  description?: string | undefined;
313
+ movieParams?: {
314
+ provider?: string | undefined;
315
+ model?: string | undefined;
316
+ fillOption?: {
317
+ style: "aspectFit" | "aspectFill";
318
+ } | undefined;
319
+ transition?: {
320
+ type: "fade" | "slideout_left";
321
+ duration: number;
322
+ } | undefined;
323
+ } | undefined;
324
324
  lipSyncParams?: {
325
325
  provider?: string | undefined;
326
326
  model?: string | undefined;
@@ -419,17 +419,6 @@ export declare const initializeContextFromFiles: (files: FileObject, raiseError:
419
419
  kind: "path";
420
420
  } | undefined;
421
421
  };
422
- movieParams: {
423
- provider?: string | undefined;
424
- model?: string | undefined;
425
- fillOption?: {
426
- style: "aspectFit" | "aspectFill";
427
- } | undefined;
428
- transition?: {
429
- type: "fade" | "slideout_left";
430
- duration: number;
431
- } | undefined;
432
- };
433
422
  soundEffectParams: {
434
423
  provider?: string | undefined;
435
424
  model?: string | undefined;
@@ -673,6 +662,17 @@ export declare const initializeContextFromFiles: (files: FileObject, raiseError:
673
662
  }[];
674
663
  title?: string | undefined;
675
664
  description?: string | undefined;
665
+ movieParams?: {
666
+ provider?: string | undefined;
667
+ model?: string | undefined;
668
+ fillOption?: {
669
+ style: "aspectFit" | "aspectFill";
670
+ } | undefined;
671
+ transition?: {
672
+ type: "fade" | "slideout_left";
673
+ duration: number;
674
+ } | undefined;
675
+ } | undefined;
676
676
  lipSyncParams?: {
677
677
  provider?: string | undefined;
678
678
  model?: string | undefined;
@@ -760,17 +760,6 @@ export declare const initializeContextFromFiles: (files: FileObject, raiseError:
760
760
  kind: "path";
761
761
  } | undefined;
762
762
  };
763
- movieParams: {
764
- provider?: string | undefined;
765
- model?: string | undefined;
766
- fillOption?: {
767
- style: "aspectFit" | "aspectFill";
768
- } | undefined;
769
- transition?: {
770
- type: "fade" | "slideout_left";
771
- duration: number;
772
- } | undefined;
773
- };
774
763
  soundEffectParams: {
775
764
  provider?: string | undefined;
776
765
  model?: string | undefined;
@@ -807,6 +796,17 @@ export declare const initializeContextFromFiles: (files: FileObject, raiseError:
807
796
  model?: string | undefined;
808
797
  }>;
809
798
  };
799
+ movieParams?: {
800
+ provider?: string | undefined;
801
+ model?: string | undefined;
802
+ fillOption?: {
803
+ style: "aspectFit" | "aspectFill";
804
+ } | undefined;
805
+ transition?: {
806
+ type: "fade" | "slideout_left";
807
+ duration: number;
808
+ } | undefined;
809
+ } | undefined;
810
810
  lipSyncParams?: {
811
811
  provider?: string | undefined;
812
812
  model?: string | undefined;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mulmocast",
3
- "version": "1.2.26",
3
+ "version": "1.2.27",
4
4
  "description": "",
5
5
  "type": "module",
6
6
  "main": "lib/index.node.js",