mulmocast 1.1.4 → 1.1.5
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/lib/actions/audio.d.ts +0 -1
- package/lib/actions/audio.js +8 -12
- package/lib/actions/images.js +1 -0
- package/lib/actions/movie.js +1 -3
- package/lib/agents/image_openai_agent.js +4 -1
- package/lib/methods/mulmo_presentation_style.d.ts +2 -3
- package/lib/methods/mulmo_presentation_style.js +14 -8
- package/lib/types/agent.d.ts +3 -0
- package/lib/types/schema.d.ts +704 -0
- package/lib/types/schema.js +5 -1
- package/lib/utils/context.d.ts +25 -0
- package/lib/utils/file.d.ts +1 -1
- package/lib/utils/file.js +5 -2
- package/lib/utils/preprocess.d.ts +13 -0
- package/package.json +2 -1
- package/scripts/templates/image_prompt_only_template.ts +95 -0
- package/scripts/test/gpt.json +32 -0
- package/scripts/test/mulmo_story.json +11 -0
- package/scripts/test/test.json +64 -0
- package/scripts/test/test1.json +40 -0
- package/scripts/test/test2.json +66 -0
- package/scripts/test/test_audio.json +151 -0
- package/scripts/test/test_audio_instructions.json +69 -0
- package/scripts/test/test_beats.json +58 -0
- package/scripts/test/test_captions.json +52 -0
- package/scripts/test/test_elevenlabs_models.json +193 -0
- package/scripts/test/test_en.json +29 -0
- package/scripts/test/test_hello.json +17 -0
- package/scripts/test/test_hello_google.json +25 -0
- package/scripts/test/test_html.json +66 -0
- package/scripts/test/test_image_refs.json +49 -0
- package/scripts/test/test_images.json +48 -0
- package/scripts/test/test_lang.json +31 -0
- package/scripts/test/test_layout.json +152 -0
- package/scripts/test/test_lipsync.json +53 -0
- package/scripts/test/test_loop.json +34 -0
- package/scripts/test/test_media.json +244 -0
- package/scripts/test/test_mixed_providers.json +91 -0
- package/scripts/test/test_movie.json +39 -0
- package/scripts/test/test_no_audio.json +252 -0
- package/scripts/test/test_no_audio_with_credit.json +253 -0
- package/scripts/test/test_order.json +68 -0
- package/scripts/test/test_order_portrait.json +72 -0
- package/scripts/test/test_replicate.json +126 -0
- package/scripts/test/test_slideout_left_no_audio.json +45 -0
- package/scripts/test/test_sound_effect.json +41 -0
- package/scripts/test/test_spillover.json +116 -0
- package/scripts/test/test_transition.json +55 -0
- package/scripts/test/test_transition_no_audio.json +45 -0
- package/scripts/test/test_video_speed.json +80 -0
- package/scripts/test/test_voice_over.json +104 -0
- package/scripts/test/test_voices.json +54 -0
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$mulmocast": { "version": "1.1" },
|
|
3
|
+
"movieParams": {
|
|
4
|
+
"provider": "replicate",
|
|
5
|
+
"model": "bytedance/seedance-1-lite"
|
|
6
|
+
},
|
|
7
|
+
"audioParams": {
|
|
8
|
+
"bgmVolume": 0
|
|
9
|
+
},
|
|
10
|
+
"captionParams": {
|
|
11
|
+
"lang": "en"
|
|
12
|
+
},
|
|
13
|
+
"lang": "en",
|
|
14
|
+
"beats": [
|
|
15
|
+
{
|
|
16
|
+
"text": "movie generations by various text-to-movie models",
|
|
17
|
+
"image": {
|
|
18
|
+
"type": "textSlide",
|
|
19
|
+
"slide": {
|
|
20
|
+
"title": "PROMPT: a woman is walking through a busy Tokyo street at night, she is wearing dark sunglasses"
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
"id": "veo-2",
|
|
26
|
+
"text": "google/veo-2",
|
|
27
|
+
"duration": 5,
|
|
28
|
+
"moviePrompt": "a woman is walking through a busy Tokyo street at night, she is wearing dark sunglasses",
|
|
29
|
+
"movieParams": {
|
|
30
|
+
"model": "google/veo-2"
|
|
31
|
+
}
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
"id": "veo-3",
|
|
35
|
+
"text": "google/veo-3 with sound effect",
|
|
36
|
+
"duration": 8,
|
|
37
|
+
"moviePrompt": "a woman is walking through a busy Tokyo street at night, she is wearing dark sunglasses",
|
|
38
|
+
"movieParams": {
|
|
39
|
+
"model": "google/veo-3"
|
|
40
|
+
}
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
"id": "veo-3-fast with sound effect",
|
|
44
|
+
"text": "google/veo-3-fast",
|
|
45
|
+
"duration": 8,
|
|
46
|
+
"moviePrompt": "a woman is walking through a busy Tokyo street at night, she is wearing dark sunglasses",
|
|
47
|
+
"movieParams": {
|
|
48
|
+
"model": "google/veo-3-fast"
|
|
49
|
+
}
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
"id": "seedance-1-lite",
|
|
53
|
+
"text": "bytedance seedance-1-lite",
|
|
54
|
+
"moviePrompt": "a woman is walking through a busy Tokyo street at night, she is wearing dark sunglasses",
|
|
55
|
+
"duration": 5
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
"id": "seedance-1-lite-gpt4-image",
|
|
59
|
+
"text": "bytedance seedance-1-lite with gpt4-image",
|
|
60
|
+
"imagePrompt": "a woman is walking through a busy Tokyo street at night, she is wearing dark sunglasses",
|
|
61
|
+
"moviePrompt": "a woman is walking through a busy Tokyo street at night, she is wearing dark sunglasses",
|
|
62
|
+
"duration": 5
|
|
63
|
+
},
|
|
64
|
+
{
|
|
65
|
+
"id": "seedance-1-lite-gpt4-image-no-movie-prompt",
|
|
66
|
+
"text": "bytedance seedance-1-lite with gpt4-image, no movie prompt",
|
|
67
|
+
"imagePrompt": "a woman is walking through a busy Tokyo street at night, she is wearing dark sunglasses",
|
|
68
|
+
"moviePrompt": " ",
|
|
69
|
+
"duration": 5
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
"id": "seedance-1-pro",
|
|
73
|
+
"text": "bytedance/seedance-1-pro",
|
|
74
|
+
"duration": 5,
|
|
75
|
+
"moviePrompt": "a woman is walking through a busy Tokyo street at night, she is wearing dark sunglasses",
|
|
76
|
+
"movieParams": {
|
|
77
|
+
"model": "bytedance/seedance-1-pro"
|
|
78
|
+
}
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
"id": "video-01",
|
|
82
|
+
"text": "minimax/video-01",
|
|
83
|
+
"moviePrompt": "a woman is walking through a busy Tokyo street at night, she is wearing dark sunglasses",
|
|
84
|
+
"movieParams": {
|
|
85
|
+
"model": "minimax/video-01"
|
|
86
|
+
}
|
|
87
|
+
},
|
|
88
|
+
{
|
|
89
|
+
"id": "kling-v1.6-pro",
|
|
90
|
+
"text": "kwaivgi/kling-v1.6-pro with gpt4-image",
|
|
91
|
+
"imagePrompt": "a woman is walking through a busy Tokyo street at night, she is wearing dark sunglasses",
|
|
92
|
+
"moviePrompt": "a woman is walking through a busy Tokyo street at night, she is wearing dark sunglasses",
|
|
93
|
+
"movieParams": {
|
|
94
|
+
"model": "kwaivgi/kling-v1.6-pro"
|
|
95
|
+
}
|
|
96
|
+
},
|
|
97
|
+
{
|
|
98
|
+
"id": "kling-v2.1",
|
|
99
|
+
"text": "kwaivgi/kling-v2.1 with gpt4-image",
|
|
100
|
+
"imagePrompt": "a woman is walking through a busy Tokyo street at night, she is wearing dark sunglasses",
|
|
101
|
+
"moviePrompt": "a woman is walking through a busy Tokyo street at night, she is wearing dark sunglasses",
|
|
102
|
+
"movieParams": {
|
|
103
|
+
"model": "kwaivgi/kling-v2.1"
|
|
104
|
+
}
|
|
105
|
+
},
|
|
106
|
+
{
|
|
107
|
+
"id": "hailuo-02",
|
|
108
|
+
"text": "minimax/hailuo-02",
|
|
109
|
+
"duration": 6,
|
|
110
|
+
"moviePrompt": "televised footage of a cat is doing an acrobatic dive into a swimming pool at the olympics, from a 10m high diving board, flips and spins",
|
|
111
|
+
"movieParams": {
|
|
112
|
+
"model": "minimax/hailuo-02"
|
|
113
|
+
}
|
|
114
|
+
},
|
|
115
|
+
{
|
|
116
|
+
"id": "hailuo-02-image",
|
|
117
|
+
"text": "minimax/hailuo-02 with ghibli-styleimage",
|
|
118
|
+
"duration": 6,
|
|
119
|
+
"imagePrompt": "a cat is doing an acrobatic dive into a swimming pool at the olympics, from a 10m high diving board, Ghibli style",
|
|
120
|
+
"moviePrompt": "televised footage of a cat is doing an acrobatic dive into a swimming pool at the olympics, from a 10m high diving board, flips and spins",
|
|
121
|
+
"movieParams": {
|
|
122
|
+
"model": "minimax/hailuo-02"
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
]
|
|
126
|
+
}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$mulmocast": {
|
|
3
|
+
"version": "1.1"
|
|
4
|
+
},
|
|
5
|
+
"title": "Transition Test",
|
|
6
|
+
"movieParams": {
|
|
7
|
+
"transition": {
|
|
8
|
+
"type": "slideout_left",
|
|
9
|
+
"duration": 1.0
|
|
10
|
+
}
|
|
11
|
+
},
|
|
12
|
+
"beats": [
|
|
13
|
+
{
|
|
14
|
+
"speaker": "Presenter",
|
|
15
|
+
"text": "",
|
|
16
|
+
"image": {
|
|
17
|
+
"type": "image",
|
|
18
|
+
"source": {
|
|
19
|
+
"kind": "path",
|
|
20
|
+
"path": "../../assets/images/mulmocast_credit.png"
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
"speaker": "Presenter",
|
|
26
|
+
"duration": 3.0,
|
|
27
|
+
"image": {
|
|
28
|
+
"type": "textSlide",
|
|
29
|
+
"slide": {
|
|
30
|
+
"title": "3.0 second with no Audio"
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
"speaker": "Presenter",
|
|
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
|
+
}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$mulmocast": { "version": "1.1" },
|
|
3
|
+
"movieParams": {
|
|
4
|
+
"provider": "replicate",
|
|
5
|
+
"model": "bytedance/seedance-1-lite"
|
|
6
|
+
},
|
|
7
|
+
"audioParams": {
|
|
8
|
+
"bgmVolume": 0.01,
|
|
9
|
+
"suppressSpeech": true
|
|
10
|
+
},
|
|
11
|
+
"captionParams": {
|
|
12
|
+
"lang": "en"
|
|
13
|
+
},
|
|
14
|
+
"lang": "en",
|
|
15
|
+
"beats": [
|
|
16
|
+
{
|
|
17
|
+
"id": "horse_galloping",
|
|
18
|
+
"text": "A horse galloping",
|
|
19
|
+
"duration": 10,
|
|
20
|
+
"imagePrompt": "A wide view of a horse galloping fast in a large field",
|
|
21
|
+
"moviePrompt": "A horse galloping fast in a large field",
|
|
22
|
+
"soundEffectPrompt": "galloping"
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
"id": "cat_jumping_into_pool",
|
|
26
|
+
"text": "cat jumping into a swimming pool",
|
|
27
|
+
"duration": 10,
|
|
28
|
+
"imagePrompt": "A televised view of a cat is on a 10m high jumping board, preparing to jump into a swimming pool at the olympics",
|
|
29
|
+
"moviePrompt": "televised footage of a cat is doing an acrobatic dive into a swimming pool at the olympics, from a 10m high diving board, flips and spins",
|
|
30
|
+
"soundEffectPrompt": "sound of a cat jumping into a swimming pool"
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
"id": "ice cutting",
|
|
34
|
+
"text": "Cutting ice with a sharp knife",
|
|
35
|
+
"duration": 10,
|
|
36
|
+
"imagePrompt": "Close up of a sharp knife is ready to cut a slice out of a block ofice",
|
|
37
|
+
"moviePrompt": "Close up of a sharp knife is cutting a slice out of a block of ice",
|
|
38
|
+
"soundEffectPrompt": "cutting ice"
|
|
39
|
+
}
|
|
40
|
+
]
|
|
41
|
+
}
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$mulmocast": {
|
|
3
|
+
"version": "1.1"
|
|
4
|
+
},
|
|
5
|
+
"title": "Spillover Test",
|
|
6
|
+
"beats": [
|
|
7
|
+
{
|
|
8
|
+
"text": "This beat has a long audio, which exceeds the beat duration.",
|
|
9
|
+
"duration": 2,
|
|
10
|
+
"image": {
|
|
11
|
+
"type": "textSlide",
|
|
12
|
+
"slide": {
|
|
13
|
+
"title": "1. Has Text. Duration = 2."
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
"image": {
|
|
19
|
+
"type": "textSlide",
|
|
20
|
+
"slide": {
|
|
21
|
+
"title": "2. Default duration = 1. Expected spillover."
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
"text": "This beat has a really long audio, which clearly exceeds the beat duration.",
|
|
27
|
+
"duration": 1,
|
|
28
|
+
"image": {
|
|
29
|
+
"type": "textSlide",
|
|
30
|
+
"slide": {
|
|
31
|
+
"title": "3. Has Text. Duration = 1."
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
"duration": 2,
|
|
37
|
+
"image": {
|
|
38
|
+
"type": "textSlide",
|
|
39
|
+
"slide": {
|
|
40
|
+
"title": "4. Duration = 2. Expected spillover."
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
"duration": 1,
|
|
46
|
+
"image": {
|
|
47
|
+
"type": "textSlide",
|
|
48
|
+
"slide": {
|
|
49
|
+
"title": "5. Duration = 1, Expected spillover."
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
"text": "This beat has a really long audio, which is shared among three beats.",
|
|
55
|
+
"image": {
|
|
56
|
+
"type": "textSlide",
|
|
57
|
+
"slide": {
|
|
58
|
+
"title": "6. Has Text. No duration."
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
"image": {
|
|
64
|
+
"type": "textSlide",
|
|
65
|
+
"slide": {
|
|
66
|
+
"title": "7. No duration. Expected even-split spillover."
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
},
|
|
70
|
+
{
|
|
71
|
+
"image": {
|
|
72
|
+
"type": "textSlide",
|
|
73
|
+
"slide": {
|
|
74
|
+
"title": "8. No duration. Expected even-split spillover."
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
},
|
|
78
|
+
{
|
|
79
|
+
"duration": 1.5,
|
|
80
|
+
"text": "This beat has a short audio.",
|
|
81
|
+
"image": {
|
|
82
|
+
"type": "textSlide",
|
|
83
|
+
"slide": {
|
|
84
|
+
"title": "9. Has Text. No duration."
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
},
|
|
88
|
+
{
|
|
89
|
+
"duration": 1,
|
|
90
|
+
"image": {
|
|
91
|
+
"type": "textSlide",
|
|
92
|
+
"slide": {
|
|
93
|
+
"title": "10. No duration. Expected some spillover."
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
},
|
|
97
|
+
{
|
|
98
|
+
"image": {
|
|
99
|
+
"type": "textSlide",
|
|
100
|
+
"slide": {
|
|
101
|
+
"title": "11. No duration. Expected no spillover."
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
},
|
|
105
|
+
{
|
|
106
|
+
"duration": 1,
|
|
107
|
+
"text": "This beat has a short audio.",
|
|
108
|
+
"image": {
|
|
109
|
+
"type": "textSlide",
|
|
110
|
+
"slide": {
|
|
111
|
+
"title": "12. Has Text. No duration."
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
]
|
|
116
|
+
}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$mulmocast": {
|
|
3
|
+
"version": "1.1"
|
|
4
|
+
},
|
|
5
|
+
"title": "Transition Test",
|
|
6
|
+
"movieParams": {
|
|
7
|
+
"transition": {
|
|
8
|
+
"type": "fade",
|
|
9
|
+
"duration": 1.0
|
|
10
|
+
}
|
|
11
|
+
},
|
|
12
|
+
"beats": [
|
|
13
|
+
{
|
|
14
|
+
"speaker": "Presenter",
|
|
15
|
+
"text": "This is a local image.",
|
|
16
|
+
"image": {
|
|
17
|
+
"type": "image",
|
|
18
|
+
"source": {
|
|
19
|
+
"kind": "path",
|
|
20
|
+
"path": "../../assets/images/mulmocast_credit.png"
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
"speaker": "Presenter",
|
|
26
|
+
"duration": 3.0,
|
|
27
|
+
"image": {
|
|
28
|
+
"type": "textSlide",
|
|
29
|
+
"slide": {
|
|
30
|
+
"title": "3.0 second with no Audio"
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
"speaker": "Presenter",
|
|
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": "This is a text slide with audio.",
|
|
47
|
+
"image": {
|
|
48
|
+
"type": "textSlide",
|
|
49
|
+
"slide": {
|
|
50
|
+
"title": "Text Slide with Audio"
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
]
|
|
55
|
+
}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$mulmocast": {
|
|
3
|
+
"version": "1.1"
|
|
4
|
+
},
|
|
5
|
+
"title": "Transition Test",
|
|
6
|
+
"movieParams": {
|
|
7
|
+
"transition": {
|
|
8
|
+
"type": "fade",
|
|
9
|
+
"duration": 1.0
|
|
10
|
+
}
|
|
11
|
+
},
|
|
12
|
+
"beats": [
|
|
13
|
+
{
|
|
14
|
+
"speaker": "Presenter",
|
|
15
|
+
"text": "",
|
|
16
|
+
"image": {
|
|
17
|
+
"type": "image",
|
|
18
|
+
"source": {
|
|
19
|
+
"kind": "path",
|
|
20
|
+
"path": "../../assets/images/mulmocast_credit.png"
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
"speaker": "Presenter",
|
|
26
|
+
"duration": 3.0,
|
|
27
|
+
"image": {
|
|
28
|
+
"type": "textSlide",
|
|
29
|
+
"slide": {
|
|
30
|
+
"title": "3.0 second with no Audio"
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
"speaker": "Presenter",
|
|
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
|
+
}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$mulmocast": {
|
|
3
|
+
"version": "1.1"
|
|
4
|
+
},
|
|
5
|
+
"title": "Video Speed",
|
|
6
|
+
"beats": [
|
|
7
|
+
{
|
|
8
|
+
"speaker": "Presenter",
|
|
9
|
+
"text": "This is a remote movie with audio.",
|
|
10
|
+
"image": {
|
|
11
|
+
"type": "movie",
|
|
12
|
+
"source": {
|
|
13
|
+
"kind": "url",
|
|
14
|
+
"url": "https://github.com/receptron/mulmocast-media/raw/refs/heads/main/test/pingpong.mov"
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
"speaker": "Presenter",
|
|
20
|
+
"text": "Text slide.",
|
|
21
|
+
"duration": 0.3,
|
|
22
|
+
"image": {
|
|
23
|
+
"type": "textSlide",
|
|
24
|
+
"slide": {
|
|
25
|
+
"title": "Text slide 1"
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
"speaker": "Presenter",
|
|
31
|
+
"text": "Speed is 2.0.",
|
|
32
|
+
"movieParams": {
|
|
33
|
+
"speed": 2.0
|
|
34
|
+
},
|
|
35
|
+
"image": {
|
|
36
|
+
"type": "movie",
|
|
37
|
+
"source": {
|
|
38
|
+
"kind": "url",
|
|
39
|
+
"url": "https://github.com/receptron/mulmocast-media/raw/refs/heads/main/test/pingpong.mov"
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
"speaker": "Presenter",
|
|
45
|
+
"text": "Text slide.",
|
|
46
|
+
"duration": 0.3,
|
|
47
|
+
"image": {
|
|
48
|
+
"type": "textSlide",
|
|
49
|
+
"slide": {
|
|
50
|
+
"title": "Text slide 2"
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
"speaker": "Presenter",
|
|
56
|
+
"text": "This is a remote movie. Speed is 0.5.",
|
|
57
|
+
"movieParams": {
|
|
58
|
+
"speed": 0.5
|
|
59
|
+
},
|
|
60
|
+
"image": {
|
|
61
|
+
"type": "movie",
|
|
62
|
+
"source": {
|
|
63
|
+
"kind": "url",
|
|
64
|
+
"url": "https://github.com/receptron/mulmocast-media/raw/refs/heads/main/test/pingpong.mov"
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
},
|
|
68
|
+
{
|
|
69
|
+
"speaker": "Presenter",
|
|
70
|
+
"text": "Text slide.",
|
|
71
|
+
"duration": 0.3,
|
|
72
|
+
"image": {
|
|
73
|
+
"type": "textSlide",
|
|
74
|
+
"slide": {
|
|
75
|
+
"title": "Text slide 3"
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
]
|
|
80
|
+
}
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$mulmocast": {
|
|
3
|
+
"version": "1.1"
|
|
4
|
+
},
|
|
5
|
+
"title": "Voice Over Test",
|
|
6
|
+
"captionParams": {
|
|
7
|
+
"lang": "en"
|
|
8
|
+
},
|
|
9
|
+
"beats": [
|
|
10
|
+
{
|
|
11
|
+
"text": "This is the first slide.",
|
|
12
|
+
"image": {
|
|
13
|
+
"type": "textSlide",
|
|
14
|
+
"slide": {
|
|
15
|
+
"title": "First slide"
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
"text": "This code processes the audio.",
|
|
21
|
+
"image": {
|
|
22
|
+
"type": "movie",
|
|
23
|
+
"source": {
|
|
24
|
+
"kind": "url",
|
|
25
|
+
"url": "https://github.com/receptron/mulmocast-media/raw/refs/heads/main/movies/actions.mp4"
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
"image": {
|
|
31
|
+
"type": "voice_over"
|
|
32
|
+
}
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
"text": "This code processes the captions.",
|
|
36
|
+
"image": {
|
|
37
|
+
"type": "voice_over",
|
|
38
|
+
"startAt": 8.0
|
|
39
|
+
}
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
"image": {
|
|
43
|
+
"type": "voice_over"
|
|
44
|
+
}
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
"text": "This code processes the images.",
|
|
48
|
+
"image": {
|
|
49
|
+
"type": "voice_over",
|
|
50
|
+
"startAt": 14.5
|
|
51
|
+
}
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
"image": {
|
|
55
|
+
"type": "voice_over"
|
|
56
|
+
}
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
"text": "This code processes the movie.",
|
|
60
|
+
"image": {
|
|
61
|
+
"type": "voice_over",
|
|
62
|
+
"startAt": 21.0
|
|
63
|
+
}
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
"image": {
|
|
67
|
+
"type": "voice_over"
|
|
68
|
+
}
|
|
69
|
+
},
|
|
70
|
+
{
|
|
71
|
+
"text": "This code processes the pdf.",
|
|
72
|
+
"image": {
|
|
73
|
+
"type": "voice_over",
|
|
74
|
+
"startAt": 25.0
|
|
75
|
+
}
|
|
76
|
+
},
|
|
77
|
+
{
|
|
78
|
+
"image": {
|
|
79
|
+
"type": "voice_over"
|
|
80
|
+
}
|
|
81
|
+
},
|
|
82
|
+
{
|
|
83
|
+
"text": "This code processes the translation.",
|
|
84
|
+
"image": {
|
|
85
|
+
"type": "voice_over",
|
|
86
|
+
"startAt": 30.0
|
|
87
|
+
}
|
|
88
|
+
},
|
|
89
|
+
{
|
|
90
|
+
"image": {
|
|
91
|
+
"type": "voice_over"
|
|
92
|
+
}
|
|
93
|
+
},
|
|
94
|
+
{
|
|
95
|
+
"text": "This is the last slide.",
|
|
96
|
+
"image": {
|
|
97
|
+
"type": "textSlide",
|
|
98
|
+
"slide": {
|
|
99
|
+
"title": "Last slide"
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
]
|
|
104
|
+
}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$mulmocast": {
|
|
3
|
+
"version": "1.1"
|
|
4
|
+
},
|
|
5
|
+
"title": "Voice Test",
|
|
6
|
+
"speechParams": {
|
|
7
|
+
"speakers": {
|
|
8
|
+
"David": {
|
|
9
|
+
"provider": "elevenlabs",
|
|
10
|
+
"voiceId": "XjLkpWUlnhS8i7gGz3lZ"
|
|
11
|
+
},
|
|
12
|
+
"Felicity": {
|
|
13
|
+
"provider": "elevenlabs",
|
|
14
|
+
"voiceId": "aTbnroHRGIomiKpqAQR8"
|
|
15
|
+
},
|
|
16
|
+
"Ishibashi": {
|
|
17
|
+
"provider": "elevenlabs",
|
|
18
|
+
"voiceId": "Mv8AjrYZCBkdsmDHNwcB"
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
},
|
|
22
|
+
"beats": [
|
|
23
|
+
{
|
|
24
|
+
"speaker": "David",
|
|
25
|
+
"text": "I am Davie Castleman, with a clear and crisp middle age professional American voice, powered by ElevenLabs.",
|
|
26
|
+
"image": {
|
|
27
|
+
"type": "textSlide",
|
|
28
|
+
"slide": {
|
|
29
|
+
"title": "I am Davie Castleman, a clear and crisp middle aged man, powered by ElevenLabs."
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
"speaker": "Felicity",
|
|
35
|
+
"text": "I'm a young British English woman, powered by ElevenLabs.",
|
|
36
|
+
"image": {
|
|
37
|
+
"type": "textSlide",
|
|
38
|
+
"slide": {
|
|
39
|
+
"title": "I'm a young British English woman."
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
"speaker": "Ishibashi",
|
|
45
|
+
"text": "こんにちは、私の名前は石橋です。イレブンラブスの声です。",
|
|
46
|
+
"image": {
|
|
47
|
+
"type": "textSlide",
|
|
48
|
+
"slide": {
|
|
49
|
+
"title": "こんにちは、私の名前は石橋です。"
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
]
|
|
54
|
+
}
|