ITADN

feat: user-configurable concurrency for image/movie/audio generation

#1333Closedisamu 创建于 2026-04-05
I
isamucommented
## Problem When generating movies with Veo 3 across multiple beats, all `movieGenerator` nodes run concurrently and hit API rate limits. Currently, concurrency is determined automatically by provider, but users cannot override it. ## Solution Add `concurrency` field to `imageParams`, `movieParams`, and `audioParams` in MulmoScript schema. User-specified values take precedence over provider-based auto-detection. ### Schema ```json { "imageParams": { "concurrency": 8 }, "movieParams": { "concurrency": 2 }, "audioParams": { "concurrency": 4 } } ``` All optional. When unspecified, existing provider-based logic is used. ### Implementation | Action | Graph | Concurrency Logic | |---|---|---| | **images** | `images_graph_data` | `min(imageParams.concurrency, movieParams.concurrency)` — takes the smaller value since image and movie share the same graph. Falls back to existing provider detection | | **audio** | `audio_graph_data` | `audioParams.concurrency` — falls back to existing provider detection (elevenlabs → 1, others → 8) | ### Changes 1. **`schema.ts`**: Add `concurrency` (positive integer, optional) to `mulmoImageParamsSchema`, `mulmoMovieParamsSchema`, `audioParamsSchema` 2. **`mulmo_presentation_style.ts`**: `getConcurrency()` checks user-specified concurrency first, falls back to provider-based logic 3. **`audio.ts`**: `getConcurrency()` checks `audioParams.concurrency` first, falls back to provider-based logic ### Current concurrency defaults (unchanged when not specified) | Provider | Current Concurrency | |---|---| | OpenAI gpt-image-1 | 16 | | Other image providers | 4 | | ElevenLabs / Kotodama TTS | 1 | | Other TTS providers | 8 | ## User Prompt - 各ビートにmoviePromptを持つscriptをveo3で映像化しようとすると、rate limitに引っかかって失敗する - image/movie/audio それぞれのconcurrencyをcontextで指定できるようにしたい - imagesのほうはimageParams/movieParamsの小さい方の値を使う
关闭于 2026-04-05 0 条评论