mulmocast 2.1.22 → 2.1.24

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.
@@ -24,6 +24,8 @@ export declare const createStudioData: (_mulmoScript: MulmoScript, fileName: str
24
24
  } | undefined;
25
25
  provider?: string | undefined;
26
26
  model?: string | undefined;
27
+ baseURL?: string | undefined;
28
+ apiVersion?: string | undefined;
27
29
  lang?: Record<string, {
28
30
  voiceId: string;
29
31
  displayName?: Record<string, string> | undefined;
@@ -37,6 +39,8 @@ export declare const createStudioData: (_mulmoScript: MulmoScript, fileName: str
37
39
  } | undefined;
38
40
  provider?: string | undefined;
39
41
  model?: string | undefined;
42
+ baseURL?: string | undefined;
43
+ apiVersion?: string | undefined;
40
44
  }> | undefined;
41
45
  }>;
42
46
  };
@@ -46,6 +50,10 @@ export declare const createStudioData: (_mulmoScript: MulmoScript, fileName: str
46
50
  quality?: string | undefined;
47
51
  style?: string | undefined;
48
52
  moderation?: string | undefined;
53
+ baseURL?: string | undefined;
54
+ apiVersion?: string | undefined;
55
+ vertexai_project?: string | undefined;
56
+ vertexai_location?: string | undefined;
49
57
  images?: Record<string, {
50
58
  type: "image";
51
59
  source: {
@@ -219,6 +227,8 @@ export declare const createStudioData: (_mulmoScript: MulmoScript, fileName: str
219
227
  type: "custom";
220
228
  filter: string;
221
229
  })[] | undefined;
230
+ vertexai_project?: string | undefined;
231
+ vertexai_location?: string | undefined;
222
232
  };
223
233
  soundEffectParams: {
224
234
  provider?: string | undefined;
@@ -369,6 +379,10 @@ export declare const createStudioData: (_mulmoScript: MulmoScript, fileName: str
369
379
  quality?: string | undefined;
370
380
  style?: string | undefined;
371
381
  moderation?: string | undefined;
382
+ baseURL?: string | undefined;
383
+ apiVersion?: string | undefined;
384
+ vertexai_project?: string | undefined;
385
+ vertexai_location?: string | undefined;
372
386
  } | undefined;
373
387
  audioParams?: {
374
388
  movieVolume: number;
@@ -530,6 +544,8 @@ export declare const createStudioData: (_mulmoScript: MulmoScript, fileName: str
530
544
  type: "custom";
531
545
  filter: string;
532
546
  })[] | undefined;
547
+ vertexai_project?: string | undefined;
548
+ vertexai_location?: string | undefined;
533
549
  speed?: number | undefined;
534
550
  } | undefined;
535
551
  soundEffectParams?: {
@@ -664,6 +680,8 @@ export declare const initializeContextFromFiles: (files: FileObject, raiseError:
664
680
  } | undefined;
665
681
  provider?: string | undefined;
666
682
  model?: string | undefined;
683
+ baseURL?: string | undefined;
684
+ apiVersion?: string | undefined;
667
685
  lang?: Record<string, {
668
686
  voiceId: string;
669
687
  displayName?: Record<string, string> | undefined;
@@ -677,6 +695,8 @@ export declare const initializeContextFromFiles: (files: FileObject, raiseError:
677
695
  } | undefined;
678
696
  provider?: string | undefined;
679
697
  model?: string | undefined;
698
+ baseURL?: string | undefined;
699
+ apiVersion?: string | undefined;
680
700
  }> | undefined;
681
701
  }>;
682
702
  };
@@ -686,6 +706,10 @@ export declare const initializeContextFromFiles: (files: FileObject, raiseError:
686
706
  quality?: string | undefined;
687
707
  style?: string | undefined;
688
708
  moderation?: string | undefined;
709
+ baseURL?: string | undefined;
710
+ apiVersion?: string | undefined;
711
+ vertexai_project?: string | undefined;
712
+ vertexai_location?: string | undefined;
689
713
  images?: Record<string, {
690
714
  type: "image";
691
715
  source: {
@@ -859,6 +883,8 @@ export declare const initializeContextFromFiles: (files: FileObject, raiseError:
859
883
  type: "custom";
860
884
  filter: string;
861
885
  })[] | undefined;
886
+ vertexai_project?: string | undefined;
887
+ vertexai_location?: string | undefined;
862
888
  };
863
889
  soundEffectParams: {
864
890
  provider?: string | undefined;
@@ -1009,6 +1035,10 @@ export declare const initializeContextFromFiles: (files: FileObject, raiseError:
1009
1035
  quality?: string | undefined;
1010
1036
  style?: string | undefined;
1011
1037
  moderation?: string | undefined;
1038
+ baseURL?: string | undefined;
1039
+ apiVersion?: string | undefined;
1040
+ vertexai_project?: string | undefined;
1041
+ vertexai_location?: string | undefined;
1012
1042
  } | undefined;
1013
1043
  audioParams?: {
1014
1044
  movieVolume: number;
@@ -1170,6 +1200,8 @@ export declare const initializeContextFromFiles: (files: FileObject, raiseError:
1170
1200
  type: "custom";
1171
1201
  filter: string;
1172
1202
  })[] | undefined;
1203
+ vertexai_project?: string | undefined;
1204
+ vertexai_location?: string | undefined;
1173
1205
  speed?: number | undefined;
1174
1206
  } | undefined;
1175
1207
  soundEffectParams?: {
@@ -1311,6 +1343,8 @@ export declare const initializeContextFromFiles: (files: FileObject, raiseError:
1311
1343
  } | undefined;
1312
1344
  provider?: string | undefined;
1313
1345
  model?: string | undefined;
1346
+ baseURL?: string | undefined;
1347
+ apiVersion?: string | undefined;
1314
1348
  lang?: Record<string, {
1315
1349
  voiceId: string;
1316
1350
  displayName?: Record<string, string> | undefined;
@@ -1324,6 +1358,8 @@ export declare const initializeContextFromFiles: (files: FileObject, raiseError:
1324
1358
  } | undefined;
1325
1359
  provider?: string | undefined;
1326
1360
  model?: string | undefined;
1361
+ baseURL?: string | undefined;
1362
+ apiVersion?: string | undefined;
1327
1363
  }> | undefined;
1328
1364
  }>;
1329
1365
  };
@@ -1333,6 +1369,10 @@ export declare const initializeContextFromFiles: (files: FileObject, raiseError:
1333
1369
  quality?: string | undefined;
1334
1370
  style?: string | undefined;
1335
1371
  moderation?: string | undefined;
1372
+ baseURL?: string | undefined;
1373
+ apiVersion?: string | undefined;
1374
+ vertexai_project?: string | undefined;
1375
+ vertexai_location?: string | undefined;
1336
1376
  images?: Record<string, {
1337
1377
  type: "image";
1338
1378
  source: {
@@ -1506,6 +1546,8 @@ export declare const initializeContextFromFiles: (files: FileObject, raiseError:
1506
1546
  type: "custom";
1507
1547
  filter: string;
1508
1548
  })[] | undefined;
1549
+ vertexai_project?: string | undefined;
1550
+ vertexai_location?: string | undefined;
1509
1551
  };
1510
1552
  soundEffectParams: {
1511
1553
  provider?: string | undefined;
@@ -0,0 +1,17 @@
1
+ import OpenAI from "openai";
2
+ export interface OpenAIClientOptions {
3
+ apiKey?: string;
4
+ baseURL?: string;
5
+ apiVersion?: string;
6
+ }
7
+ /**
8
+ * Detects if the given URL is an Azure OpenAI endpoint
9
+ * Safely parses the URL and checks if the hostname ends with ".openai.azure.com"
10
+ */
11
+ export declare const isAzureEndpoint: (baseURL: string | undefined) => boolean;
12
+ /**
13
+ * Creates an OpenAI or AzureOpenAI client based on the baseURL
14
+ * - If baseURL contains ".openai.azure.com", returns AzureOpenAI client
15
+ * - Otherwise, returns standard OpenAI client
16
+ */
17
+ export declare const createOpenAIClient: (options: OpenAIClientOptions) => OpenAI;
@@ -0,0 +1,35 @@
1
+ import OpenAI, { AzureOpenAI } from "openai";
2
+ /**
3
+ * Detects if the given URL is an Azure OpenAI endpoint
4
+ * Safely parses the URL and checks if the hostname ends with ".openai.azure.com"
5
+ */
6
+ export const isAzureEndpoint = (baseURL) => {
7
+ if (!baseURL)
8
+ return false;
9
+ try {
10
+ const url = new URL(baseURL);
11
+ return url.hostname.endsWith(".openai.azure.com");
12
+ }
13
+ catch {
14
+ return false;
15
+ }
16
+ };
17
+ /**
18
+ * Creates an OpenAI or AzureOpenAI client based on the baseURL
19
+ * - If baseURL contains ".openai.azure.com", returns AzureOpenAI client
20
+ * - Otherwise, returns standard OpenAI client
21
+ */
22
+ export const createOpenAIClient = (options) => {
23
+ const { apiKey, baseURL, apiVersion } = options;
24
+ if (isAzureEndpoint(baseURL)) {
25
+ return new AzureOpenAI({
26
+ apiKey,
27
+ endpoint: baseURL,
28
+ apiVersion: apiVersion ?? "2025-04-01-preview",
29
+ });
30
+ }
31
+ return new OpenAI({
32
+ apiKey,
33
+ baseURL,
34
+ });
35
+ };
@@ -53,6 +53,9 @@ export const settings2GraphAIConfig = (settings, env) => {
53
53
  if (info.baseURLKeyName) {
54
54
  config[info.agentName].baseURL = getKey(prefix, info.baseURLKeyName);
55
55
  }
56
+ if (info.apiVersionKeyName) {
57
+ config[info.agentName].apiVersion = getKey(prefix, info.apiVersionKeyName);
58
+ }
56
59
  });
57
60
  };
58
61
  const config = {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mulmocast",
3
- "version": "2.1.22",
3
+ "version": "2.1.24",
4
4
  "description": "",
5
5
  "type": "module",
6
6
  "main": "lib/index.node.js",
@@ -83,7 +83,7 @@
83
83
  "@graphai/gemini_agent": "^2.0.4",
84
84
  "@graphai/groq_agent": "^2.0.2",
85
85
  "@graphai/input_agents": "^1.0.2",
86
- "@graphai/openai_agent": "^2.0.8",
86
+ "@graphai/openai_agent": "^2.0.9",
87
87
  "@graphai/stream_agent_filter": "^2.0.2",
88
88
  "@graphai/vanilla": "^2.0.12",
89
89
  "@graphai/vanilla_node_agents": "^2.0.4",
@@ -101,7 +101,7 @@
101
101
  "marked": "^17.0.1",
102
102
  "mulmocast-vision": "^1.0.8",
103
103
  "ora": "^9.1.0",
104
- "puppeteer": "^24.36.0",
104
+ "puppeteer": "^24.36.1",
105
105
  "replicate": "^1.4.0",
106
106
  "yaml": "^2.8.2",
107
107
  "yargs": "^18.0.0",
@@ -116,11 +116,11 @@
116
116
  "eslint": "^9.39.2",
117
117
  "eslint-config-prettier": "^10.1.8",
118
118
  "eslint-plugin-prettier": "^5.5.5",
119
- "eslint-plugin-sonarjs": "^3.0.5",
119
+ "eslint-plugin-sonarjs": "^3.0.6",
120
120
  "prettier": "^3.8.1",
121
121
  "tsx": "^4.21.0",
122
122
  "typescript": "^5.9.3",
123
- "typescript-eslint": "^8.53.1"
123
+ "typescript-eslint": "^8.54.0"
124
124
  },
125
125
  "engines": {
126
126
  "node": ">=20.0.0"
@@ -0,0 +1,24 @@
1
+ {
2
+ "$mulmocast": {
3
+ "version": "1.1"
4
+ },
5
+ "lang": "en",
6
+ "title": "Test Audio with Azure OpenAI TTS",
7
+ "speechParams": {
8
+ "speakers": {
9
+ "Presenter": {
10
+ "provider": "openai",
11
+ "voiceId": "alloy",
12
+ "model": "tts"
13
+ }
14
+ }
15
+ },
16
+ "beats": [
17
+ {
18
+ "text": "Hello, this is a test of Azure OpenAI text to speech."
19
+ },
20
+ {
21
+ "text": "MulmoCast now supports Azure OpenAI for both image generation and speech synthesis."
22
+ }
23
+ ]
24
+ }
@@ -0,0 +1,26 @@
1
+ {
2
+ "$mulmocast": {
3
+ "version": "1.1"
4
+ },
5
+ "lang": "en",
6
+ "title": "Test Images with Azure OpenAI",
7
+ "imageParams": {
8
+ "provider": "openai",
9
+ "model": "gpt-image-1.5"
10
+ },
11
+ "audioParams": {
12
+ "suppressSpeech": true
13
+ },
14
+ "beats": [
15
+ {
16
+ "text": "",
17
+ "imagePrompt": "A beautiful sunset over mountains, photorealistic style",
18
+ "duration": 3
19
+ },
20
+ {
21
+ "text": "",
22
+ "imagePrompt": "A cute robot waving hello, digital art style",
23
+ "duration": 3
24
+ }
25
+ ]
26
+ }
@@ -0,0 +1,21 @@
1
+ {
2
+ "$schema": "../../assets/schema.json",
3
+ "title": "Vertex AI Test",
4
+ "description": "Test Vertex AI integration",
5
+ "lang": "en",
6
+ "imageParams": {
7
+ "provider": "google",
8
+ "model": "imagen-4.0-generate-001",
9
+ "vertexai_project": "${GOOGLE_PROJECT_ID}",
10
+ "vertexai_location": "us-central1"
11
+ },
12
+ "speechParams": {
13
+ "provider": "mock"
14
+ },
15
+ "beats": [
16
+ {
17
+ "text": "Hello",
18
+ "imagePrompt": "A simple blue circle on white background"
19
+ }
20
+ ]
21
+ }
@@ -1,5 +0,0 @@
1
- import type { AgentFunction, AgentFunctionInfo } from "graphai";
2
- import type { NijivoiceTTSAgentParams, AgentBufferResult, AgentTextInputs, AgentErrorResult, AgentConfig } from "../types/agent.js";
3
- export declare const ttsNijivoiceAgent: AgentFunction<NijivoiceTTSAgentParams, AgentBufferResult | AgentErrorResult, AgentTextInputs, AgentConfig>;
4
- declare const ttsNijivoiceAgentInfo: AgentFunctionInfo;
5
- export default ttsNijivoiceAgentInfo;
@@ -1,76 +0,0 @@
1
- import { GraphAILogger } from "graphai";
2
- import { apiKeyMissingError, agentGenerationError, audioAction, audioFileTarget } from "../utils/error_cause.js";
3
- /*
4
- const errorMessage = [
5
- "TTS NijiVoice: No API key. ",
6
- "You have the following options:",
7
- "1. Obtain an API key from Niji Voice (https://platform.nijivoice.com/) and set it as the NIJIVOICE_API_KEY environment variable.",
8
- '2. Use OpenAI\'s TTS instead of Niji Voice by changing speechParams.provider from "nijivoice" to "openai".',
9
- ].join("\n");
10
- */
11
- export const ttsNijivoiceAgent = async ({ params, namedInputs, config, }) => {
12
- const { suppressError, voice, speed, speed_global } = params;
13
- const { apiKey } = config ?? {};
14
- const { text } = namedInputs;
15
- if (!apiKey) {
16
- throw new Error("NijiVoice API key is required (NIJIVOICE_API_KEY)", {
17
- cause: apiKeyMissingError("ttsNijivoiceAgent", audioAction, "NIJIVOICE_API_KEY"),
18
- });
19
- }
20
- const url = `https://api.nijivoice.com/api/platform/v1/voice-actors/${voice}/generate-voice`;
21
- const options = {
22
- method: "POST",
23
- headers: {
24
- "x-api-key": apiKey,
25
- accept: "application/json",
26
- "content-type": "application/json",
27
- },
28
- body: JSON.stringify({
29
- format: "mp3",
30
- speed: String(speed ?? speed_global ?? "1.0"),
31
- script: text,
32
- }),
33
- };
34
- try {
35
- const voiceRes = await fetch(url, options);
36
- const voiceJson = await voiceRes.json();
37
- if (voiceJson?.generatedVoice?.audioFileDownloadUrl) {
38
- const audioRes = await fetch(voiceJson.generatedVoice.audioFileDownloadUrl);
39
- const buffer = Buffer.from(await audioRes.arrayBuffer());
40
- return { buffer };
41
- }
42
- if (suppressError) {
43
- return {
44
- error: voiceJson,
45
- };
46
- }
47
- GraphAILogger.info(voiceJson);
48
- throw new Error("TTS Nijivoice Error", {
49
- cause: agentGenerationError("ttsNijivoiceAgent", audioAction, audioFileTarget),
50
- });
51
- }
52
- catch (e) {
53
- if (suppressError) {
54
- return {
55
- error: e,
56
- };
57
- }
58
- GraphAILogger.info(e);
59
- throw new Error("TTS Nijivoice Error", {
60
- cause: agentGenerationError("ttsNijivoiceAgent", audioAction, audioFileTarget),
61
- });
62
- }
63
- };
64
- const ttsNijivoiceAgentInfo = {
65
- name: "ttsNijivoiceAgent",
66
- agent: ttsNijivoiceAgent,
67
- mock: ttsNijivoiceAgent,
68
- samples: [],
69
- description: "TTS nijivoice agent",
70
- category: ["tts"],
71
- author: "Receptron Team",
72
- repository: "https://github.com/receptron/mulmocast-cli/",
73
- license: "MIT",
74
- environmentVariables: ["NIJIVOICE_API_KEY"],
75
- };
76
- export default ttsNijivoiceAgentInfo;
@@ -1 +0,0 @@
1
- export {};
@@ -1 +0,0 @@
1
- export {};
@@ -1,15 +0,0 @@
1
- export declare const currentMulmoScriptVersion = "1.1";
2
- export declare const outDirName = "output";
3
- export declare const audioDirName = "audio";
4
- export declare const imageDirName = "images";
5
- export declare const cacheDirName = "cache";
6
- export declare const pdf_modes: string[];
7
- export declare const pdf_sizes: string[];
8
- export declare const languages: string[];
9
- export declare const storyToScriptGenerateMode: {
10
- stepWise: string;
11
- oneStep: string;
12
- };
13
- export declare const bundleTargetLang: string[];
14
- export declare const ASPECT_RATIOS: string[];
15
- export declare const PRO_ASPECT_RATIOS: string[];
@@ -1,15 +0,0 @@
1
- export const currentMulmoScriptVersion = "1.1";
2
- export const outDirName = "output";
3
- export const audioDirName = "audio";
4
- export const imageDirName = "images";
5
- export const cacheDirName = "cache";
6
- export const pdf_modes = ["slide", "talk", "handout"];
7
- export const pdf_sizes = ["letter", "a4"];
8
- export const languages = ["en", "ja", "fr", "es", "de", "zh-CN", "zh-TW", "ko", "it", "pt", "ar", "hi"];
9
- export const storyToScriptGenerateMode = {
10
- stepWise: "step_wise",
11
- oneStep: "one_step",
12
- };
13
- export const bundleTargetLang = ["ja", "en"];
14
- export const ASPECT_RATIOS = ["1:1", "9:16", "16:9"];
15
- export const PRO_ASPECT_RATIOS = ["1:1", "2:3", "3:2", "3:4", "4:3", "4:5", "5:4", "9:16", "16:9", "21:9"];
@@ -1,191 +0,0 @@
1
- export declare const provider2TTSAgent: {
2
- nijivoice: {
3
- agentName: string;
4
- hasLimitedConcurrency: boolean;
5
- keyName: string;
6
- };
7
- openai: {
8
- agentName: string;
9
- hasLimitedConcurrency: boolean;
10
- defaultModel: string;
11
- defaultVoice: string;
12
- keyName: string;
13
- baseURLKeyName: string;
14
- };
15
- google: {
16
- agentName: string;
17
- hasLimitedConcurrency: boolean;
18
- keyName: string;
19
- };
20
- gemini: {
21
- agentName: string;
22
- hasLimitedConcurrency: boolean;
23
- defaultModel: string;
24
- defaultVoice: string;
25
- models: string[];
26
- keyName: string;
27
- };
28
- elevenlabs: {
29
- agentName: string;
30
- hasLimitedConcurrency: boolean;
31
- defaultModel: string;
32
- models: string[];
33
- keyName: string;
34
- };
35
- kotodama: {
36
- agentName: string;
37
- hasLimitedConcurrency: boolean;
38
- defaultVoice: string;
39
- defaultDecoration: string;
40
- keyName: string;
41
- };
42
- mock: {
43
- agentName: string;
44
- hasLimitedConcurrency: boolean;
45
- defaultModel: string;
46
- models: string[];
47
- };
48
- };
49
- export declare const gptImages: string[];
50
- export declare const provider2ImageAgent: {
51
- openai: {
52
- agentName: string;
53
- defaultModel: string;
54
- models: string[];
55
- keyName: string;
56
- baseURLKeyName: string;
57
- };
58
- google: {
59
- agentName: string;
60
- defaultModel: string;
61
- models: string[];
62
- keyName: string;
63
- };
64
- replicate: {
65
- agentName: string;
66
- defaultModel: string;
67
- models: string[];
68
- keyName: string;
69
- };
70
- mock: {
71
- agentName: string;
72
- defaultModel: string;
73
- models: string[];
74
- keyName: string;
75
- };
76
- };
77
- export type ReplicateModel = `${string}/${string}`;
78
- export declare const provider2MovieAgent: {
79
- replicate: {
80
- agentName: string;
81
- defaultModel: ReplicateModel;
82
- keyName: string;
83
- models: string[];
84
- modelParams: Record<ReplicateModel, {
85
- durations: number[];
86
- start_image: string | undefined;
87
- last_image?: string;
88
- price_per_sec: number;
89
- }>;
90
- };
91
- google: {
92
- agentName: string;
93
- defaultModel: string;
94
- models: string[];
95
- keyName: string;
96
- modelParams: {
97
- "veo-3.1-generate-preview": {
98
- durations: number[];
99
- };
100
- "veo-3.0-generate-001": {
101
- durations: number[];
102
- };
103
- "veo-2.0-generate-001": {
104
- durations: number[];
105
- };
106
- };
107
- };
108
- mock: {
109
- agentName: string;
110
- defaultModel: string;
111
- models: string[];
112
- keyName: string;
113
- modelParams: {};
114
- };
115
- };
116
- export declare const provider2SoundEffectAgent: {
117
- replicate: {
118
- agentName: string;
119
- defaultModel: ReplicateModel;
120
- keyName: string;
121
- models: ReplicateModel[];
122
- modelParams: Record<ReplicateModel, {
123
- identifier?: `${string}/${string}:${string}`;
124
- }>;
125
- };
126
- };
127
- export declare const provider2LipSyncAgent: {
128
- replicate: {
129
- agentName: string;
130
- defaultModel: ReplicateModel;
131
- keyName: string;
132
- models: ReplicateModel[];
133
- modelParams: Record<ReplicateModel, {
134
- identifier?: `${string}/${string}:${string}` | `${string}/${string}`;
135
- video?: string;
136
- audio: string;
137
- image?: string;
138
- }>;
139
- };
140
- };
141
- export declare const provider2LLMAgent: {
142
- readonly openai: {
143
- readonly agentName: "openAIAgent";
144
- readonly defaultModel: "gpt-5";
145
- readonly keyName: "OPENAI_API_KEY";
146
- readonly baseURLKeyName: "OPENAI_BASE_URL";
147
- readonly max_tokens: 8192;
148
- readonly models: readonly ["gpt-5", "gpt-5-nano", "gpt-5-mini", "gpt-4.1", "gpt-4.1-mini", "gpt-4.1-nano", "o3", "o3-mini", "o3-pro", "o1", "o1-pro", "gpt-4o", "gpt-4o-mini"];
149
- };
150
- readonly anthropic: {
151
- readonly agentName: "anthropicAgent";
152
- readonly defaultModel: "claude-3-7-sonnet-20250219";
153
- readonly max_tokens: 8192;
154
- readonly models: readonly ["claude-opus-4-1-20250805", "claude-opus-4-20250514", "claude-sonnet-4-20250514", "claude-3-7-sonnet-20250219", "claude-3-haiku-20240307"];
155
- readonly keyName: "ANTHROPIC_API_KEY";
156
- readonly apiKeyNameOverride: "ANTHROPIC_API_TOKEN";
157
- };
158
- readonly gemini: {
159
- readonly agentName: "geminiAgent";
160
- readonly defaultModel: "gemini-2.5-flash";
161
- readonly max_tokens: 8192;
162
- readonly models: readonly ["gemini-2.5-pro", "gemini-2.5-flash", "gemini-2.5-flash-lite", "gemini-2.0-flash"];
163
- readonly keyName: "GEMINI_API_KEY";
164
- };
165
- readonly groq: {
166
- readonly agentName: "groqAgent";
167
- readonly defaultModel: "llama-3.1-8b-instant";
168
- readonly keyName: "GROQ_API_KEY";
169
- readonly max_tokens: 4096;
170
- readonly models: readonly ["llama-3.1-8b-instant", "llama-3.3-70b-versatile", "deepseek-r1-distill-llama-70b", "openai/gpt-oss-120b", "openai/gpt-oss-20b"];
171
- };
172
- readonly mock: {
173
- readonly agentName: "mediaMockAgent";
174
- readonly defaultModel: "mock";
175
- readonly max_tokens: 4096;
176
- readonly models: readonly ["mock"];
177
- };
178
- };
179
- export declare const defaultProviders: {
180
- tts: keyof typeof provider2TTSAgent;
181
- text2image: keyof typeof provider2ImageAgent;
182
- text2movie: keyof typeof provider2MovieAgent;
183
- text2Html: keyof typeof provider2LLMAgent;
184
- llm: keyof typeof provider2LLMAgent;
185
- soundEffect: keyof typeof provider2SoundEffectAgent;
186
- lipSync: keyof typeof provider2LipSyncAgent;
187
- };
188
- export declare const llm: (keyof typeof provider2LLMAgent)[];
189
- export type LLM = keyof typeof provider2LLMAgent;
190
- export declare const htmlLLMProvider: string[];
191
- export declare const getModelDuration: (provider: keyof typeof provider2MovieAgent, model: string, movieDuration?: number) => number | undefined;