mulmocast 1.1.4 → 1.1.6

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.
Files changed (77) hide show
  1. package/lib/actions/audio.d.ts +0 -1
  2. package/lib/actions/audio.js +18 -13
  3. package/lib/actions/image_agents.d.ts +3 -12
  4. package/lib/actions/image_agents.js +12 -8
  5. package/lib/actions/images.js +3 -1
  6. package/lib/actions/movie.js +1 -3
  7. package/lib/actions/translate.js +13 -31
  8. package/lib/agents/image_openai_agent.js +4 -1
  9. package/lib/agents/lipsync_replicate_agent.js +10 -3
  10. package/lib/cli/commands/audio/handler.js +1 -1
  11. package/lib/cli/commands/image/handler.js +1 -1
  12. package/lib/cli/commands/movie/handler.js +1 -1
  13. package/lib/cli/commands/pdf/handler.js +1 -1
  14. package/lib/cli/helpers.d.ts +1 -4
  15. package/lib/cli/helpers.js +3 -2
  16. package/lib/mcp/server.js +1 -1
  17. package/lib/methods/mulmo_presentation_style.d.ts +5 -5
  18. package/lib/methods/mulmo_presentation_style.js +14 -8
  19. package/lib/methods/mulmo_script.js +4 -1
  20. package/lib/methods/mulmo_studio_context.d.ts +1 -0
  21. package/lib/methods/mulmo_studio_context.js +8 -0
  22. package/lib/types/agent.d.ts +4 -0
  23. package/lib/types/schema.d.ts +712 -8
  24. package/lib/types/schema.js +6 -2
  25. package/lib/types/type.d.ts +1 -1
  26. package/lib/utils/const.js +1 -1
  27. package/lib/utils/context.d.ts +401 -34
  28. package/lib/utils/context.js +95 -56
  29. package/lib/utils/file.d.ts +1 -1
  30. package/lib/utils/file.js +5 -2
  31. package/lib/utils/filters.d.ts +1 -0
  32. package/lib/utils/filters.js +8 -0
  33. package/lib/utils/preprocess.d.ts +15 -2
  34. package/lib/utils/preprocess.js +3 -3
  35. package/lib/utils/provider2agent.d.ts +3 -2
  36. package/lib/utils/provider2agent.js +20 -2
  37. package/lib/utils/string.d.ts +1 -1
  38. package/lib/utils/string.js +11 -8
  39. package/package.json +2 -1
  40. package/scripts/templates/image_refs.json +1 -0
  41. package/scripts/templates/voice_over.json +1 -0
  42. package/scripts/test/gpt.json +33 -0
  43. package/scripts/test/mulmo_story.json +11 -0
  44. package/scripts/test/test.json +64 -0
  45. package/scripts/test/test1.json +41 -0
  46. package/scripts/test/test2.json +66 -0
  47. package/scripts/test/test_audio.json +152 -0
  48. package/scripts/test/test_audio_instructions.json +70 -0
  49. package/scripts/test/test_beats.json +59 -0
  50. package/scripts/test/test_captions.json +53 -0
  51. package/scripts/test/test_elevenlabs_models.json +194 -0
  52. package/scripts/test/test_en.json +29 -0
  53. package/scripts/test/test_hello.json +18 -0
  54. package/scripts/test/test_hello_google.json +26 -0
  55. package/scripts/test/test_html.json +67 -0
  56. package/scripts/test/test_image_refs.json +50 -0
  57. package/scripts/test/test_images.json +49 -0
  58. package/scripts/test/test_lang.json +87 -0
  59. package/scripts/test/test_layout.json +153 -0
  60. package/scripts/test/test_lipsync.json +62 -0
  61. package/scripts/test/test_loop.json +35 -0
  62. package/scripts/test/test_media.json +245 -0
  63. package/scripts/test/test_mixed_providers.json +92 -0
  64. package/scripts/test/test_movie.json +40 -0
  65. package/scripts/test/test_no_audio.json +253 -0
  66. package/scripts/test/test_no_audio_with_credit.json +254 -0
  67. package/scripts/test/test_order.json +69 -0
  68. package/scripts/test/test_order_portrait.json +73 -0
  69. package/scripts/test/test_replicate.json +145 -0
  70. package/scripts/test/test_slideout_left_no_audio.json +46 -0
  71. package/scripts/test/test_sound_effect.json +41 -0
  72. package/scripts/test/test_spillover.json +117 -0
  73. package/scripts/test/test_transition.json +56 -0
  74. package/scripts/test/test_transition_no_audio.json +46 -0
  75. package/scripts/test/test_video_speed.json +81 -0
  76. package/scripts/test/test_voice_over.json +105 -0
  77. package/scripts/test/test_voices.json +55 -0
@@ -0,0 +1,81 @@
1
+ {
2
+ "$mulmocast": {
3
+ "version": "1.1"
4
+ },
5
+ "lang": "en",
6
+ "title": "Video Speed",
7
+ "beats": [
8
+ {
9
+ "speaker": "Presenter",
10
+ "text": "This is a remote movie with audio.",
11
+ "image": {
12
+ "type": "movie",
13
+ "source": {
14
+ "kind": "url",
15
+ "url": "https://github.com/receptron/mulmocast-media/raw/refs/heads/main/test/pingpong.mov"
16
+ }
17
+ }
18
+ },
19
+ {
20
+ "speaker": "Presenter",
21
+ "text": "Text slide.",
22
+ "duration": 0.3,
23
+ "image": {
24
+ "type": "textSlide",
25
+ "slide": {
26
+ "title": "Text slide 1"
27
+ }
28
+ }
29
+ },
30
+ {
31
+ "speaker": "Presenter",
32
+ "text": "Speed is 2.0.",
33
+ "movieParams": {
34
+ "speed": 2.0
35
+ },
36
+ "image": {
37
+ "type": "movie",
38
+ "source": {
39
+ "kind": "url",
40
+ "url": "https://github.com/receptron/mulmocast-media/raw/refs/heads/main/test/pingpong.mov"
41
+ }
42
+ }
43
+ },
44
+ {
45
+ "speaker": "Presenter",
46
+ "text": "Text slide.",
47
+ "duration": 0.3,
48
+ "image": {
49
+ "type": "textSlide",
50
+ "slide": {
51
+ "title": "Text slide 2"
52
+ }
53
+ }
54
+ },
55
+ {
56
+ "speaker": "Presenter",
57
+ "text": "This is a remote movie. Speed is 0.5.",
58
+ "movieParams": {
59
+ "speed": 0.5
60
+ },
61
+ "image": {
62
+ "type": "movie",
63
+ "source": {
64
+ "kind": "url",
65
+ "url": "https://github.com/receptron/mulmocast-media/raw/refs/heads/main/test/pingpong.mov"
66
+ }
67
+ }
68
+ },
69
+ {
70
+ "speaker": "Presenter",
71
+ "text": "Text slide.",
72
+ "duration": 0.3,
73
+ "image": {
74
+ "type": "textSlide",
75
+ "slide": {
76
+ "title": "Text slide 3"
77
+ }
78
+ }
79
+ }
80
+ ]
81
+ }
@@ -0,0 +1,105 @@
1
+ {
2
+ "$mulmocast": {
3
+ "version": "1.1"
4
+ },
5
+ "lang": "en",
6
+ "title": "Voice Over Test",
7
+ "captionParams": {
8
+ "lang": "en"
9
+ },
10
+ "beats": [
11
+ {
12
+ "text": "This is the first slide.",
13
+ "image": {
14
+ "type": "textSlide",
15
+ "slide": {
16
+ "title": "First slide"
17
+ }
18
+ }
19
+ },
20
+ {
21
+ "text": "This code processes the audio.",
22
+ "image": {
23
+ "type": "movie",
24
+ "source": {
25
+ "kind": "url",
26
+ "url": "https://github.com/receptron/mulmocast-media/raw/refs/heads/main/movies/actions.mp4"
27
+ }
28
+ }
29
+ },
30
+ {
31
+ "image": {
32
+ "type": "voice_over"
33
+ }
34
+ },
35
+ {
36
+ "text": "This code processes the captions.",
37
+ "image": {
38
+ "type": "voice_over",
39
+ "startAt": 8.0
40
+ }
41
+ },
42
+ {
43
+ "image": {
44
+ "type": "voice_over"
45
+ }
46
+ },
47
+ {
48
+ "text": "This code processes the images.",
49
+ "image": {
50
+ "type": "voice_over",
51
+ "startAt": 14.5
52
+ }
53
+ },
54
+ {
55
+ "image": {
56
+ "type": "voice_over"
57
+ }
58
+ },
59
+ {
60
+ "text": "This code processes the movie.",
61
+ "image": {
62
+ "type": "voice_over",
63
+ "startAt": 21.0
64
+ }
65
+ },
66
+ {
67
+ "image": {
68
+ "type": "voice_over"
69
+ }
70
+ },
71
+ {
72
+ "text": "This code processes the pdf.",
73
+ "image": {
74
+ "type": "voice_over",
75
+ "startAt": 25.0
76
+ }
77
+ },
78
+ {
79
+ "image": {
80
+ "type": "voice_over"
81
+ }
82
+ },
83
+ {
84
+ "text": "This code processes the translation.",
85
+ "image": {
86
+ "type": "voice_over",
87
+ "startAt": 30.0
88
+ }
89
+ },
90
+ {
91
+ "image": {
92
+ "type": "voice_over"
93
+ }
94
+ },
95
+ {
96
+ "text": "This is the last slide.",
97
+ "image": {
98
+ "type": "textSlide",
99
+ "slide": {
100
+ "title": "Last slide"
101
+ }
102
+ }
103
+ }
104
+ ]
105
+ }
@@ -0,0 +1,55 @@
1
+ {
2
+ "$mulmocast": {
3
+ "version": "1.1"
4
+ },
5
+ "lang": "en",
6
+ "title": "Voice Test",
7
+ "speechParams": {
8
+ "speakers": {
9
+ "David": {
10
+ "provider": "elevenlabs",
11
+ "voiceId": "XjLkpWUlnhS8i7gGz3lZ"
12
+ },
13
+ "Felicity": {
14
+ "provider": "elevenlabs",
15
+ "voiceId": "aTbnroHRGIomiKpqAQR8"
16
+ },
17
+ "Ishibashi": {
18
+ "provider": "elevenlabs",
19
+ "voiceId": "Mv8AjrYZCBkdsmDHNwcB"
20
+ }
21
+ }
22
+ },
23
+ "beats": [
24
+ {
25
+ "speaker": "David",
26
+ "text": "I am Davie Castleman, with a clear and crisp middle age professional American voice, powered by ElevenLabs.",
27
+ "image": {
28
+ "type": "textSlide",
29
+ "slide": {
30
+ "title": "I am Davie Castleman, a clear and crisp middle aged man, powered by ElevenLabs."
31
+ }
32
+ }
33
+ },
34
+ {
35
+ "speaker": "Felicity",
36
+ "text": "I'm a young British English woman, powered by ElevenLabs.",
37
+ "image": {
38
+ "type": "textSlide",
39
+ "slide": {
40
+ "title": "I'm a young British English woman."
41
+ }
42
+ }
43
+ },
44
+ {
45
+ "speaker": "Ishibashi",
46
+ "text": "こんにちは、私の名前は石橋です。イレブンラブスの声です。",
47
+ "image": {
48
+ "type": "textSlide",
49
+ "slide": {
50
+ "title": "こんにちは、私の名前は石橋です。"
51
+ }
52
+ }
53
+ }
54
+ ]
55
+ }