wizards 0.5.7 → 0.5.8

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 (108) hide show
  1. package/apps/runtime/dist/agents/architect.js +13 -26
  2. package/apps/runtime/dist/agents/studio-assistant.js +19 -22
  3. package/apps/runtime/dist/agents/subscription.js +10 -9
  4. package/apps/runtime/dist/app.js +6 -6
  5. package/apps/runtime/dist/assistant/knows.js +10 -9
  6. package/apps/runtime/dist/connectors/external.js +3 -3
  7. package/apps/runtime/dist/connectors/index.js +23 -23
  8. package/apps/runtime/dist/connectors/via-account.js +6 -6
  9. package/apps/runtime/dist/documents/parse.js +3 -3
  10. package/apps/runtime/dist/engine/input.js +11 -11
  11. package/apps/runtime/dist/engine/requirements.js +7 -8
  12. package/apps/runtime/dist/engine/runner.js +10 -14
  13. package/apps/runtime/dist/engine/steps.js +6 -6
  14. package/apps/runtime/dist/engine/surface.js +2 -2
  15. package/apps/runtime/dist/film/step.js +5 -5
  16. package/apps/runtime/dist/harness/apple.js +2 -1
  17. package/apps/runtime/dist/harness/claude.js +2 -2
  18. package/apps/runtime/dist/harness/codex.js +2 -2
  19. package/apps/runtime/dist/harness/model.js +4 -5
  20. package/apps/runtime/dist/harness/terminal.js +4 -4
  21. package/apps/runtime/dist/media/conversation.js +18 -35
  22. package/apps/runtime/dist/media/transcribe.js +2 -1
  23. package/apps/runtime/dist/model-errors.js +1 -1
  24. package/apps/runtime/dist/models.js +32 -40
  25. package/apps/runtime/dist/plugins/runs.js +3 -5
  26. package/apps/runtime/dist/routes/api.js +9 -9
  27. package/apps/runtime/dist/routes/lang.js +14 -9
  28. package/apps/runtime/dist/routes/runs.js +5 -5
  29. package/apps/runtime/dist/routes/studio.js +38 -37
  30. package/apps/runtime/dist/services/access.js +4 -4
  31. package/apps/runtime/dist/services/architect.js +3 -12
  32. package/apps/runtime/dist/services/assistant-chats.js +2 -2
  33. package/apps/runtime/dist/services/brand.js +3 -3
  34. package/apps/runtime/dist/services/cloud.js +5 -5
  35. package/apps/runtime/dist/services/errors.js +2 -2
  36. package/apps/runtime/dist/services/knowledge-model.js +3 -3
  37. package/apps/runtime/dist/services/marketplace.js +3 -3
  38. package/apps/runtime/dist/services/package-file.js +9 -11
  39. package/apps/runtime/dist/services/package.js +8 -9
  40. package/apps/runtime/dist/services/profile.js +2 -1
  41. package/apps/runtime/dist/services/project-files.js +13 -13
  42. package/apps/runtime/dist/services/projects.js +7 -11
  43. package/apps/runtime/dist/services/runners.js +4 -4
  44. package/apps/runtime/dist/services/runs.js +7 -10
  45. package/apps/runtime/dist/services/shares.js +2 -2
  46. package/apps/runtime/dist/services/site.js +8 -11
  47. package/apps/runtime/dist/services/space-categories.js +7 -7
  48. package/apps/runtime/dist/services/space-data.js +20 -20
  49. package/apps/runtime/dist/services/spaces.js +7 -9
  50. package/apps/runtime/dist/services/wizards.js +11 -13
  51. package/apps/runtime/dist/store/index.js +2 -2
  52. package/apps/runtime/dist/texts.js +195 -0
  53. package/apps/runtime/dist/tools/plugin.js +7 -3
  54. package/apps/runtime/dist/widgets/step.js +2 -2
  55. package/apps/web/dist/assets/AboutDialog-BcTtA42P.js +1 -0
  56. package/apps/web/dist/assets/{ChangelogDialog-rAtYZjxz.js → ChangelogDialog-DMOWV_Iu.js} +1 -1
  57. package/apps/web/dist/assets/ChatView-CrnrYHjp.js +10 -0
  58. package/apps/web/dist/assets/EditorPage-DpEw3eOu.js +3 -0
  59. package/apps/web/dist/assets/{FlowPreview--3-yI51e.js → FlowPreview-CzmH4JUQ.js} +1 -1
  60. package/apps/web/dist/assets/{Harness-B9tvFe0U.js → Harness-DipH0Vec.js} +2 -2
  61. package/apps/web/dist/assets/{NewWizardChannels-BxrBhC9U.js → NewWizardChannels-DShu0PP6.js} +1 -1
  62. package/apps/web/dist/assets/NewWizardPage-HSa6PNJs.js +7 -0
  63. package/apps/web/dist/assets/{OnboardingPage-DPdH9sSj.js → OnboardingPage-CPADMs4c.js} +1 -1
  64. package/apps/web/dist/assets/ProjectPage-DMPcrhgt.js +1 -0
  65. package/apps/web/dist/assets/{PublicRunner-Bv3TMKw4.js → PublicRunner-DZ5sWmtg.js} +1 -1
  66. package/apps/web/dist/assets/{ReadOnly-CmqIrOAR.js → ReadOnly-B9xaq_M3.js} +1 -1
  67. package/apps/web/dist/assets/RunDrawer-9nMGhbSm.js +4 -0
  68. package/apps/web/dist/assets/{RunnerView-Cd1VAlIA.js → RunnerView-NSSP3tc6.js} +1 -1
  69. package/apps/web/dist/assets/SettingsPage-Dy9MbwQh.js +1 -0
  70. package/apps/web/dist/assets/SetupPage-kemgI7v5.js +1 -0
  71. package/apps/web/dist/assets/{SharePage-BT80wI1I.js → SharePage-CQfIdcwy.js} +1 -1
  72. package/apps/web/dist/assets/changelog-BW40vzI6.js +1 -0
  73. package/apps/web/dist/assets/{esm-BTVd6EFo.js → esm-BF1nonbH.js} +1 -1
  74. package/apps/web/dist/assets/index-DQ9qAB4v.js +14 -0
  75. package/apps/web/dist/assets/{lock-ByHFI96G.js → lock-DVvM6IsA.js} +1 -1
  76. package/apps/web/dist/assets/{phone-KPwxAM1R.js → phone-3fG1okFs.js} +1 -1
  77. package/apps/web/dist/assets/{settings-menu-K5bg3QE3.js → settings-menu-D9fbi1Z0.js} +1 -1
  78. package/apps/web/dist/assets/ui-EuR3jezP.js +134 -0
  79. package/apps/web/dist/assets/{upload-BsIL8tNR.js → upload-BsMUhEfX.js} +1 -1
  80. package/apps/web/dist/index.html +2 -2
  81. package/apps/web/dist/mcp/flow.html +77 -77
  82. package/node_modules/@engenty-wizards/shared/dist/definition.d.ts +26 -9
  83. package/node_modules/@engenty-wizards/shared/dist/definition.js +125 -3
  84. package/node_modules/@engenty-wizards/shared/dist/marketplace-entry.d.ts +1 -1
  85. package/node_modules/@engenty-wizards/shared/dist/marketplace-entry.js +9 -8
  86. package/node_modules/@engenty-wizards/shared/dist/marketplace-search.js +6 -6
  87. package/node_modules/@engenty-wizards/shared/dist/marketplace.d.ts +78 -205
  88. package/node_modules/@engenty-wizards/shared/dist/marketplace.js +167 -68
  89. package/node_modules/@engenty-wizards/shared/dist/projects.d.ts +3 -6
  90. package/node_modules/@engenty-wizards/shared/dist/projects.js +9 -9
  91. package/node_modules/@engenty-wizards/shared/dist/providers.d.ts +33 -7
  92. package/node_modules/@engenty-wizards/shared/dist/providers.js +88 -37
  93. package/node_modules/@engenty-wizards/shared/dist/run.d.ts +298 -365
  94. package/node_modules/@engenty-wizards/shared/dist/run.js +582 -240
  95. package/node_modules/@engenty-wizards/shared/dist/texts.d.ts +36 -0
  96. package/node_modules/@engenty-wizards/shared/dist/texts.js +46 -0
  97. package/package.json +1 -1
  98. package/apps/web/dist/assets/AboutDialog-t9bayaIs.js +0 -1
  99. package/apps/web/dist/assets/ChatView-C3VqLT98.js +0 -10
  100. package/apps/web/dist/assets/EditorPage-D3Ef24b9.js +0 -3
  101. package/apps/web/dist/assets/NewWizardPage-C1_hsQPr.js +0 -7
  102. package/apps/web/dist/assets/ProjectPage-P40R1cPE.js +0 -1
  103. package/apps/web/dist/assets/RunDrawer-9qG1G-OY.js +0 -4
  104. package/apps/web/dist/assets/SettingsPage-DFz4UMfo.js +0 -1
  105. package/apps/web/dist/assets/SetupPage-B0UBNMB9.js +0 -1
  106. package/apps/web/dist/assets/changelog-BpSBMjpm.js +0 -1
  107. package/apps/web/dist/assets/index-D8vwgldH.js +0 -14
  108. package/apps/web/dist/assets/ui-4bQx9I1f.js +0 -134
@@ -1,3 +1,4 @@
1
+ import { textOf } from "./texts.js";
1
2
  /**
2
3
  * What a wizard asks models for, as a person thinks of it. Each stands for model classes; the
3
4
  * names are the marketplace's capabilities.
@@ -46,12 +47,62 @@ export const PROVIDER_IDS = [
46
47
  "replicate",
47
48
  "gateway",
48
49
  ];
49
- const note = (de, en) => ({ de, en });
50
+ const PROVIDER_EN = {
51
+ "about.openai": "GPT models, GPT Image and voices.",
52
+ fast: "fast",
53
+ thorough: "thorough",
54
+ versatile: "versatile",
55
+ lowCost: "low cost",
56
+ fastLowCost: "fast, low cost",
57
+ "about.anthropic": "The Claude models.",
58
+ strongest: "strongest",
59
+ "about.google": "Gemini, Veo for video and voices – one key from AI Studio.",
60
+ fastEditsPhotos: "fast, edits photos",
61
+ bestQuality: "best quality",
62
+ withSound: "with sound",
63
+ "about.fal": "Hundreds of image, video and audio models with one key: FLUX, Recraft, Veo, Luma, MiniMax.",
64
+ highQuality: "high quality",
65
+ graphicsLogosTextIn: "graphics, logos, text in images",
66
+ photorealistic: "photorealistic",
67
+ "about.elevenlabs": "Natural voices in many languages and accurate transcripts.",
68
+ naturalManyLanguages: "natural, many languages",
69
+ expressive: "expressive",
70
+ veryAccurate: "very accurate",
71
+ "about.replicate": "Open image and video models, billed per run.",
72
+ "about.gateway": "One key for many providers' models, billed by Vercel.",
73
+ };
74
+ const PROVIDER_DE = {
75
+ "about.openai": "GPT-Modelle, GPT Image und Stimmen.",
76
+ fast: "schnell",
77
+ thorough: "gründlich",
78
+ versatile: "vielseitig",
79
+ lowCost: "günstig",
80
+ fastLowCost: "schnell, günstig",
81
+ "about.anthropic": "Die Claude-Modelle.",
82
+ strongest: "am stärksten",
83
+ "about.google": "Gemini, Veo für Videos und Stimmen – ein Key aus dem AI Studio.",
84
+ fastEditsPhotos: "schnell, bearbeitet Fotos",
85
+ bestQuality: "beste Qualität",
86
+ withSound: "mit Ton",
87
+ "about.fal": "Hunderte Bild-, Video- und Audio-Modelle mit einem Key: FLUX, Recraft, Veo, Luma, MiniMax.",
88
+ highQuality: "hohe Qualität",
89
+ graphicsLogosTextIn: "Grafiken, Logos, Text im Bild",
90
+ photorealistic: "fotorealistisch",
91
+ "about.elevenlabs": "Natürliche Stimmen in vielen Sprachen und genaue Transkripte.",
92
+ naturalManyLanguages: "natürlich, viele Sprachen",
93
+ expressive: "ausdrucksstark",
94
+ veryAccurate: "sehr genau",
95
+ "about.replicate": "Offene Bild- und Video-Modelle, abgerechnet pro Lauf.",
96
+ "about.gateway": "Ein Key für die Modelle vieler Anbieter, abgerechnet bei Vercel.",
97
+ };
98
+ export const PROVIDER_TEXTS = { en: PROVIDER_EN, de: PROVIDER_DE };
99
+ /** A line about a provider or a model, in a language. */
100
+ export const providerText = (key, lang) => textOf(PROVIDER_TEXTS, key, lang);
50
101
  export const PROVIDERS = [
51
102
  {
52
103
  id: "openai",
53
104
  name: "OpenAI",
54
- about: note("GPT-Modelle, GPT Image und Stimmen.", "GPT models, GPT Image and voices."),
105
+ about: "about.openai",
55
106
  keyUrl: "https://platform.openai.com/api-keys",
56
107
  keyPlaceholder: "sk-…",
57
108
  text: {
@@ -62,29 +113,29 @@ export const PROVIDERS = [
62
113
  },
63
114
  models: {
64
115
  text: [
65
- { ref: "openai:gpt-5.4-mini", label: "GPT-5.4 mini", note: note("schnell", "fast") },
66
- { ref: "openai:gpt-5.5", label: "GPT-5.5", note: note("gründlich", "thorough") },
116
+ { ref: "openai:gpt-5.4-mini", label: "GPT-5.4 mini", note: "fast" },
117
+ { ref: "openai:gpt-5.5", label: "GPT-5.5", note: "thorough" },
67
118
  ],
68
119
  image: [
69
- { ref: "openai:gpt-image-2", label: "GPT Image 2", note: note("vielseitig", "versatile") },
120
+ { ref: "openai:gpt-image-2", label: "GPT Image 2", note: "versatile" },
70
121
  {
71
122
  ref: "openai:gpt-image-1-mini",
72
123
  label: "GPT Image 1 mini",
73
- note: note("günstig", "low cost"),
124
+ note: "lowCost",
74
125
  },
75
126
  ],
76
127
  speech: [
77
128
  {
78
129
  ref: "openai:gpt-4o-mini-tts",
79
130
  label: "GPT-4o mini TTS",
80
- note: note("günstig", "low cost"),
131
+ note: "lowCost",
81
132
  },
82
133
  ],
83
134
  listening: [
84
135
  {
85
136
  ref: "openai:gpt-4o-mini-transcribe",
86
137
  label: "GPT-4o mini Transcribe",
87
- note: note("schnell, günstig", "fast, low cost"),
138
+ note: "fastLowCost",
88
139
  },
89
140
  { ref: "openai:whisper-1", label: "Whisper" },
90
141
  ],
@@ -93,7 +144,7 @@ export const PROVIDERS = [
93
144
  {
94
145
  id: "anthropic",
95
146
  name: "Anthropic",
96
- about: note("Die Claude-Modelle.", "The Claude models."),
147
+ about: "about.anthropic",
97
148
  keyUrl: "https://console.anthropic.com/settings/keys",
98
149
  keyPlaceholder: "sk-ant-…",
99
150
  text: {
@@ -107,13 +158,13 @@ export const PROVIDERS = [
107
158
  {
108
159
  ref: "anthropic:claude-haiku-4-5",
109
160
  label: "Claude Haiku 4.5",
110
- note: note("schnell", "fast"),
161
+ note: "fast",
111
162
  },
112
163
  { ref: "anthropic:claude-sonnet-5-5", label: "Claude Sonnet 5.5" },
113
164
  {
114
165
  ref: "anthropic:claude-opus-5-5",
115
166
  label: "Claude Opus 5.5",
116
- note: note("am stärksten", "strongest"),
167
+ note: "strongest",
117
168
  },
118
169
  ],
119
170
  },
@@ -121,7 +172,7 @@ export const PROVIDERS = [
121
172
  {
122
173
  id: "google",
123
174
  name: "Google Gemini",
124
- about: note("Gemini, Veo für Videos und Stimmen – ein Key aus dem AI Studio.", "Gemini, Veo for video and voices – one key from AI Studio."),
175
+ about: "about.google",
125
176
  keyUrl: "https://aistudio.google.com/apikey",
126
177
  keyPlaceholder: "AIza…",
127
178
  text: {
@@ -135,37 +186,37 @@ export const PROVIDERS = [
135
186
  {
136
187
  ref: "google:gemini-flash-lite-latest",
137
188
  label: "Gemini Flash-Lite",
138
- note: note("günstig", "low cost"),
189
+ note: "lowCost",
139
190
  },
140
191
  { ref: "google:gemini-flash-latest", label: "Gemini Flash" },
141
192
  {
142
193
  ref: "google:gemini-pro-latest",
143
194
  label: "Gemini Pro",
144
- note: note("gründlich", "thorough"),
195
+ note: "thorough",
145
196
  },
146
197
  ],
147
198
  image: [
148
199
  {
149
200
  ref: "google:gemini-3.1-flash-image-preview",
150
201
  label: "Gemini 3.1 Flash Image",
151
- note: note("schnell, bearbeitet Fotos", "fast, edits photos"),
202
+ note: "fastEditsPhotos",
152
203
  },
153
204
  {
154
205
  ref: "google:gemini-3-pro-image-preview",
155
206
  label: "Gemini 3 Pro Image",
156
- note: note("beste Qualität", "best quality"),
207
+ note: "bestQuality",
157
208
  },
158
209
  ],
159
210
  video: [
160
211
  {
161
212
  ref: "google:veo-3.1-fast-generate-preview",
162
213
  label: "Veo 3.1 Fast",
163
- note: note("mit Ton", "with sound"),
214
+ note: "withSound",
164
215
  },
165
216
  {
166
217
  ref: "google:veo-3.1-generate-preview",
167
218
  label: "Veo 3.1",
168
- note: note("beste Qualität", "best quality"),
219
+ note: "bestQuality",
169
220
  },
170
221
  ],
171
222
  speech: [{ ref: "google:gemini-3.8-flash-tts", label: "Gemini Flash TTS" }],
@@ -175,7 +226,7 @@ export const PROVIDERS = [
175
226
  {
176
227
  id: "fal",
177
228
  name: "fal.ai",
178
- about: note("Hunderte Bild-, Video- und Audio-Modelle mit einem Key: FLUX, Recraft, Veo, Luma, MiniMax.", "Hundreds of image, video and audio models with one key: FLUX, Recraft, Veo, Luma, MiniMax."),
229
+ about: "about.fal",
179
230
  keyUrl: "https://fal.ai/dashboard/keys",
180
231
  keyPlaceholder: "xxxxxxxx-…:…",
181
232
  models: {
@@ -183,39 +234,39 @@ export const PROVIDERS = [
183
234
  {
184
235
  ref: "fal:fal-ai/flux/schnell",
185
236
  label: "FLUX.1 schnell",
186
- note: note("schnell, günstig", "fast, low cost"),
237
+ note: "fastLowCost",
187
238
  },
188
239
  {
189
240
  ref: "fal:fal-ai/flux-pro/v1.1",
190
241
  label: "FLUX 1.1 pro",
191
- note: note("hohe Qualität", "high quality"),
242
+ note: "highQuality",
192
243
  },
193
244
  {
194
245
  ref: "fal:fal-ai/recraft/v3/text-to-image",
195
246
  label: "Recraft V3",
196
- note: note("Grafiken, Logos, Text im Bild", "graphics, logos, text in images"),
247
+ note: "graphicsLogosTextIn",
197
248
  },
198
249
  {
199
250
  ref: "fal:fal-ai/imagen4/preview",
200
251
  label: "Imagen 4",
201
- note: note("fotorealistisch", "photorealistic"),
252
+ note: "photorealistic",
202
253
  },
203
254
  ],
204
255
  video: [
205
- { ref: "fal:veo3/fast", label: "Veo 3 Fast", note: note("mit Ton", "with sound") },
206
- { ref: "fal:luma-ray-2-flash", label: "Luma Ray 2 Flash", note: note("schnell", "fast") },
256
+ { ref: "fal:veo3/fast", label: "Veo 3 Fast", note: "withSound" },
257
+ { ref: "fal:luma-ray-2-flash", label: "Luma Ray 2 Flash", note: "fast" },
207
258
  { ref: "fal:minimax-video", label: "MiniMax Hailuo" },
208
259
  ],
209
260
  speech: [
210
261
  {
211
262
  ref: "fal:fal-ai/minimax/speech-02-turbo",
212
263
  label: "MiniMax Speech-02 Turbo",
213
- note: note("schnell", "fast"),
264
+ note: "fast",
214
265
  },
215
266
  { ref: "fal:fal-ai/minimax/speech-02-hd", label: "MiniMax Speech-02 HD" },
216
267
  ],
217
268
  listening: [
218
- { ref: "fal:wizper", label: "Wizper", note: note("schnell", "fast") },
269
+ { ref: "fal:wizper", label: "Wizper", note: "fast" },
219
270
  { ref: "fal:whisper", label: "Whisper" },
220
271
  ],
221
272
  },
@@ -223,7 +274,7 @@ export const PROVIDERS = [
223
274
  {
224
275
  id: "elevenlabs",
225
276
  name: "ElevenLabs",
226
- about: note("Natürliche Stimmen in vielen Sprachen und genaue Transkripte.", "Natural voices in many languages and accurate transcripts."),
277
+ about: "about.elevenlabs",
227
278
  keyUrl: "https://elevenlabs.io/app/settings/api-keys",
228
279
  keyPlaceholder: "sk_…",
229
280
  models: {
@@ -231,24 +282,24 @@ export const PROVIDERS = [
231
282
  {
232
283
  ref: "elevenlabs:eleven_multilingual_v2",
233
284
  label: "Multilingual v2",
234
- note: note("natürlich, viele Sprachen", "natural, many languages"),
285
+ note: "naturalManyLanguages",
235
286
  },
236
287
  {
237
288
  ref: "elevenlabs:eleven_flash_v2_5",
238
289
  label: "Flash v2.5",
239
- note: note("schnell, günstig", "fast, low cost"),
290
+ note: "fastLowCost",
240
291
  },
241
292
  {
242
293
  ref: "elevenlabs:eleven_v3",
243
294
  label: "Eleven v3",
244
- note: note("ausdrucksstark", "expressive"),
295
+ note: "expressive",
245
296
  },
246
297
  ],
247
298
  listening: [
248
299
  {
249
300
  ref: "elevenlabs:scribe_v2",
250
301
  label: "Scribe v2",
251
- note: note("sehr genau", "very accurate"),
302
+ note: "veryAccurate",
252
303
  },
253
304
  ],
254
305
  },
@@ -256,7 +307,7 @@ export const PROVIDERS = [
256
307
  {
257
308
  id: "replicate",
258
309
  name: "Replicate",
259
- about: note("Offene Bild- und Video-Modelle, abgerechnet pro Lauf.", "Open image and video models, billed per run."),
310
+ about: "about.replicate",
260
311
  keyUrl: "https://replicate.com/account/api-tokens",
261
312
  keyPlaceholder: "r8_…",
262
313
  models: {
@@ -264,7 +315,7 @@ export const PROVIDERS = [
264
315
  {
265
316
  ref: "replicate:black-forest-labs/flux-schnell",
266
317
  label: "FLUX.1 schnell",
267
- note: note("schnell, günstig", "fast, low cost"),
318
+ note: "fastLowCost",
268
319
  },
269
320
  { ref: "replicate:black-forest-labs/flux-1.1-pro", label: "FLUX 1.1 pro" },
270
321
  { ref: "replicate:recraft-ai/recraft-v3", label: "Recraft V3" },
@@ -275,7 +326,7 @@ export const PROVIDERS = [
275
326
  {
276
327
  id: "gateway",
277
328
  name: "Vercel AI Gateway",
278
- about: note("Ein Key für die Modelle vieler Anbieter, abgerechnet bei Vercel.", "One key for many providers' models, billed by Vercel."),
329
+ about: "about.gateway",
279
330
  keyUrl: "https://vercel.com/d?to=%2F%5Bteam%5D%2F%7E%2Fai-gateway%2Fapi-keys",
280
331
  keyPlaceholder: "vck_…",
281
332
  text: {
@@ -289,7 +340,7 @@ export const PROVIDERS = [
289
340
  {
290
341
  ref: "anthropic/claude-haiku-4.5",
291
342
  label: "Claude Haiku 4.5",
292
- note: note("schnell", "fast"),
343
+ note: "fast",
293
344
  },
294
345
  { ref: "anthropic/claude-sonnet-5.5", label: "Claude Sonnet 5.5" },
295
346
  { ref: "openai/gpt-5.5", label: "GPT-5.5" },
@@ -300,7 +351,7 @@ export const PROVIDERS = [
300
351
  {
301
352
  ref: "google/veo-3.1-fast-generate-001",
302
353
  label: "Veo 3.1 Fast",
303
- note: note("mit Ton", "with sound"),
354
+ note: "withSound",
304
355
  },
305
356
  ],
306
357
  speech: [{ ref: "google/gemini-3.8-flash-tts", label: "Gemini Flash TTS" }],