"ViMax: Agentic Video Generation (Director, Screenwriter, Producer, and Video Generator All-in-One)"
240 matches across 10 categories. Click a row to expand file-level details.
| Severity | File | Line | Snippet |
|---|---|---|---|
| HIGH | readme.md | 411 | api_key: <YOUR_API_KEY> |
| HIGH | readme.md | 411 | api_key: <YOUR_API_KEY> |
| HIGH | readme.md | 417 | api_key: <YOUR_API_KEY> |
| HIGH | readme.md | 417 | api_key: <YOUR_API_KEY> |
| HIGH | readme.md | 422 | api_key: <YOUR_API_KEY> |
| HIGH | readme.md | 422 | api_key: <YOUR_API_KEY> |
| HIGH | README_ZH.md | 387 | api_key: <YOUR_API_KEY> |
| HIGH | README_ZH.md | 387 | api_key: <YOUR_API_KEY> |
| HIGH | README_ZH.md | 393 | api_key: <YOUR_API_KEY> |
| HIGH | README_ZH.md | 393 | api_key: <YOUR_API_KEY> |
| HIGH | README_ZH.md | 398 | api_key: <YOUR_API_KEY> |
| HIGH | README_ZH.md | 398 | api_key: <YOUR_API_KEY> |
| HIGH | configs/idea2video_minimax.yaml | 23 | api_key: <YOUR_API_KEY> |
| HIGH | configs/idea2video_minimax.yaml | 23 | api_key: <YOUR_API_KEY> |
| HIGH | configs/idea2video_minimax.yaml | 30 | api_key: <YOUR_API_KEY> |
| HIGH | configs/idea2video_minimax.yaml | 30 | api_key: <YOUR_API_KEY> |
| HIGH | configs/script2video_minimax.yaml | 23 | api_key: <YOUR_API_KEY> |
| HIGH | configs/script2video_minimax.yaml | 23 | api_key: <YOUR_API_KEY> |
| HIGH | configs/script2video_minimax.yaml | 30 | api_key: <YOUR_API_KEY> |
| HIGH | configs/script2video_minimax.yaml | 30 | api_key: <YOUR_API_KEY> |
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | tools/video_generator_veo_yunwu_api.py | 2 | |
| LOW | tools/__init__.py | 2 | |
| LOW | tools/__init__.py | 2 | |
| LOW | tools/__init__.py | 3 | |
| LOW | tools/__init__.py | 6 | |
| LOW | tools/__init__.py | 7 | |
| LOW | tools/__init__.py | 8 | |
| LOW | tools/__init__.py | 11 | |
| LOW | tools/__init__.py | 14 | |
| LOW | tools/__init__.py | 15 | |
| LOW | tools/__init__.py | 16 | |
| LOW | tools/reranker_bge_silicon_api.py | 1 | |
| LOW | tools/reranker_bge_silicon_api.py | 4 | |
| LOW | tests/test_minimax_integration.py | 15 | |
| LOW | agents/reference_image_selector.py | 7 | |
| LOW | agents/scene_extractor.py | 1 | |
| LOW | agents/scene_extractor.py | 5 | |
| LOW | agents/scene_extractor.py | 5 | |
| LOW | agents/scene_extractor.py | 6 | |
| LOW | agents/scene_extractor.py | 6 | |
| LOW | agents/scene_extractor.py | 6 | |
| LOW | agents/scene_extractor.py | 6 | |
| LOW | agents/global_information_planner.py | 1 | |
| LOW | agents/global_information_planner.py | 3 | |
| LOW | agents/global_information_planner.py | 4 | |
| LOW | agents/global_information_planner.py | 4 | |
| LOW | agents/global_information_planner.py | 4 | |
| LOW | agents/global_information_planner.py | 9 | |
| LOW | agents/global_information_planner.py | 10 | |
| LOW | agents/event_extractor.py | 1 | |
| LOW | agents/event_extractor.py | 3 | |
| LOW | agents/event_extractor.py | 8 | |
| LOW | agents/event_extractor.py | 8 | |
| LOW | agents/character_portraits_generator.py | 1 | |
| LOW | agents/character_portraits_generator.py | 2 | |
| LOW | agents/character_portraits_generator.py | 3 | |
| LOW | agents/character_portraits_generator.py | 4 | |
| LOW | agents/character_portraits_generator.py | 5 | |
| LOW | agents/character_portraits_generator.py | 6 | |
| LOW | agents/character_portraits_generator.py | 7 | |
| LOW | agents/character_portraits_generator.py | 8 | |
| LOW | agents/character_portraits_generator.py | 8 | |
| LOW | agents/character_portraits_generator.py | 9 | |
| LOW | agents/character_portraits_generator.py | 9 | |
| LOW | agents/character_portraits_generator.py | 9 | |
| LOW | agents/character_portraits_generator.py | 12 | |
| LOW | agents/character_portraits_generator.py | 12 | |
| LOW | agents/character_extractor.py | 1 | |
| LOW | agents/character_extractor.py | 2 | |
| LOW | agents/character_extractor.py | 4 | |
| LOW | agents/character_extractor.py | 5 | |
| LOW | agents/screenwriter.py | 1 | |
| LOW | agents/screenwriter.py | 2 | |
| LOW | agents/screenwriter.py | 4 | |
| LOW | agents/screenwriter.py | 6 | |
| LOW | agents/screenwriter.py | 8 | |
| LOW | agents/screenwriter.py | 8 | |
| LOW | agents/__init__.py | 1 | |
| LOW | agents/__init__.py | 2 | |
| LOW | agents/__init__.py | 3 | |
| 64 more matches not shown… | |||
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | tools/video_generator_doubao_seedance_yunwu_api.py | 23 | async def create_video_generation_task( |
| LOW | tools/video_generator_doubao_seedance_yunwu_api.py | 109 | async def query_video_generation_task( |
| LOW | tests/test_provider_presets.py | 17 | def test_minimax_preset_exists(self): |
| LOW | tests/test_provider_presets.py | 20 | def test_minimax_preset_base_url(self): |
| LOW | tests/test_provider_presets.py | 26 | def test_minimax_preset_env_key(self): |
| LOW | tests/test_provider_presets.py | 29 | def test_minimax_preset_default_model(self): |
| LOW | tests/test_provider_presets.py | 32 | def test_minimax_preset_has_models_list(self): |
| LOW | tests/test_provider_presets.py | 39 | def test_minimax_preset_temperature_range(self): |
| LOW | tests/test_provider_presets.py | 48 | def test_unknown_provider_passes_through(self): |
| LOW | tests/test_provider_presets.py | 55 | def test_no_model_provider_passes_through(self): |
| LOW | tests/test_provider_presets.py | 60 | def test_minimax_rewrites_provider_to_openai(self): |
| LOW | tests/test_provider_presets.py | 65 | def test_minimax_sets_base_url(self): |
| LOW | tests/test_provider_presets.py | 70 | def test_minimax_preserves_custom_base_url(self): |
| LOW | tests/test_provider_presets.py | 80 | def test_minimax_defaults_model(self): |
| LOW | tests/test_provider_presets.py | 85 | def test_minimax_preserves_explicit_model(self): |
| LOW | tests/test_provider_presets.py | 91 | def test_minimax_reads_api_key_from_env(self): |
| LOW | tests/test_provider_presets.py | 96 | def test_minimax_prefers_explicit_api_key_over_env(self): |
| LOW | tests/test_provider_presets.py | 102 | def test_minimax_clamps_temperature_above_max(self): |
| LOW | tests/test_provider_presets.py | 107 | def test_minimax_clamps_temperature_below_min(self): |
| LOW | tests/test_provider_presets.py | 112 | def test_minimax_passes_valid_temperature(self): |
| LOW | tests/test_provider_presets.py | 117 | def test_minimax_temperature_zero_allowed(self): |
| LOW | tests/test_provider_presets.py | 122 | def test_minimax_no_temperature_key(self): |
| LOW | tests/test_provider_presets.py | 127 | def test_minimax_temperature_none_ignored(self): |
| LOW | tests/test_provider_presets.py | 132 | def test_original_dict_not_mutated(self): |
| LOW | tests/test_provider_presets.py | 137 | def test_empty_model_string_gets_default(self): |
| LOW | tests/test_provider_presets.py | 151 | def test_returns_none_when_no_keys(self): |
| LOW | tests/test_novel2movie_pipeline_init.py | 18 | def test_initializes_runtime_dependencies(self): |
| LOW | tests/test_minimax_integration.py | 52 | def test_full_minimax_config_resolution(self): |
| LOW | tests/test_minimax_integration.py | 60 | def test_minimax_highspeed_model(self): |
| LOW | tests/test_minimax_integration.py | 72 | def test_env_key_fallback_in_config(self): |
| LOW | tests/test_minimax_integration.py | 80 | def test_openrouter_config_unchanged(self): |
| LOW | tests/test_minimax_integration.py | 93 | def test_init_chat_model_receives_openai_provider(self): |
| LOW | tests/test_minimax_integration.py | 101 | def test_temperature_clamping_in_pipeline_flow(self): |
| LOW | tests/test_minimax_integration.py | 106 | def test_extra_kwargs_preserved(self): |
| LOW | tests/test_minimax_integration.py | 150 | def test_existing_openrouter_config_still_works(self, mock_backend, mock_init): |
| LOW | agents/reference_image_selector.py | 151 | async def select_reference_images_and_generate_prompt( |
| LOW | agents/global_information_planner.py | 158 | async def merge_characters_across_scenes_in_event( |
| LOW | agents/global_information_planner.py | 220 | def merge_characters_to_existing_characters_in_novel( |
| LOW | agents/global_information_planner.py | 280 | # def merge_characters_across_events_in_novel( |
| LOW | agents/global_information_planner.py | 342 | # async def extract_static_feature_for_character_in_novel( |
| LOW | agents/screenwriter.py | 139 | async def write_script_based_on_story( |
| LOW | agents/storyboard_artist.py | 214 | async def decompose_visual_description( |
| LOW | agents/camera_image_generator.py | 153 | async def generate_transition_video( |
| LOW | agents/novel_compressor.py | 125 | async def compress_single_novel_chunk( |
| LOW | pipelines/script2video_pipeline.py | 162 | async def generate_frames_for_single_camera( |
| LOW | pipelines/script2video_pipeline.py | 310 | async def generate_video_for_single_shot( |
| LOW | pipelines/script2video_pipeline.py | 335 | async def generate_frame_for_single_shot( |
| LOW | pipelines/script2video_pipeline.py | 448 | async def generate_character_portraits( |
| LOW | pipelines/script2video_pipeline.py | 480 | async def generate_portraits_for_single_character( |
| LOW | pipelines/script2video_pipeline.py | 564 | async def decompose_visual_descriptions( |
| LOW | pipelines/script2video_pipeline.py | 578 | async def decompose_visual_description_for_single_shot_brief_description( |
| LOW | pipelines/idea2video_pipeline.py | 74 | async def generate_character_portraits( |
| LOW | pipelines/idea2video_pipeline.py | 128 | async def write_script_based_on_story( |
| LOW | pipelines/idea2video_pipeline.py | 146 | async def generate_portraits_for_single_character( |
| LOW | pipelines/novel2movie_pipeline.py | 335 | async def merge_characters_across_scenes_in_event(sem, event_idx, scenes): |
| LOW | pipelines/novel2movie_pipeline.py | 429 | async def generate_portrait_for_character(sem, character: CharacterInNovel): |
| LOW | pipelines/novel2movie_pipeline.py | 462 | async def generate_portrait_for_character_in_scene( |
| LOW | utils/provider_presets.py | 35 | def resolve_chat_model_config(init_args: Dict[str, Any]) -> Dict[str, Any]: |
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | tools/video_generator_veo_yunwu_api.py | 85 | except Exception as e: |
| LOW | tools/video_generator_veo_yunwu_api.py | 105 | except Exception as e: |
| LOW | tools/video_generator_doubao_seedance_yunwu_api.py | 100 | except Exception as e: |
| LOW | tools/video_generator_doubao_seedance_yunwu_api.py | 133 | except Exception as e: |
| LOW | tools/image_generator_doubao_seedream_yunwu_api.py | 64 | except Exception as e: |
| LOW | agents/reference_image_selector.py | 184 | except Exception as e: |
| LOW | agents/reference_image_selector.py | 221 | except Exception as e: |
| LOW | agents/script_enhancer.py | 118 | except Exception as e: |
| LOW | agents/script_planner.py | 427 | except Exception as e: |
| LOW | utils/video.py | 20 | except Exception as e: |
| MEDIUM | utils/video.py | 7 | def download_video(url, save_path): |
| LOW | utils/image.py | 23 | except Exception as e: |
| MEDIUM | utils/image.py | 11 | def download_image(url, save_path): |
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | pipelines/novel2movie_pipeline.py | 58 | # Step 1: Compress the novel text |
| LOW | pipelines/novel2movie_pipeline.py | 126 | # Step 2: Extract events from the compressed novel |
| LOW | pipelines/novel2movie_pipeline.py | 170 | # Step 3: Extract relevant chunks for each event |
| LOW | pipelines/novel2movie_pipeline.py | 257 | # Step 4: Extract scenes for each event, design the script for each scene |
| LOW | pipelines/novel2movie_pipeline.py | 323 | # Step 5: Merge characters from scene-level to event-level, then to novel-level |
| LOW | pipelines/novel2movie_pipeline.py | 417 | # Step 6: Generate the portrait for all characters in the novel |
| LOW | pipelines/novel2movie_pipeline.py | 535 | # Step 7: Generate video for each scene |
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | agents/global_information_planner.py | 281 | # self, |
| LOW | agents/global_information_planner.py | 301 | |
| LOW | agents/global_information_planner.py | 321 | # # check the output is valid |
| LOW | agents/global_information_planner.py | 341 | |
| LOW | agents/global_information_planner.py | 361 | # character_name=character.identifier_in_novel, |
| LOW | interfaces/scene.py | 41 | # description="The index of the scene within the event, starting from 0" |
| LOW | interfaces/shot_description.py | 41 | # default=None, |
| LOW | interfaces/shot_description.py | 61 | # False, |
| LOW | interfaces/shot_description.py | 161 | # audio |
| LOW | interfaces/shot_description.py | 181 | # ) |
| Severity | File | Line | Snippet |
|---|---|---|---|
| MEDIUM | utils/provider_presets.py | 15 | # --------------------------------------------------------------------------- |
| MEDIUM | utils/provider_presets.py | 17 | # --------------------------------------------------------------------------- |
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | pipelines/script2video_pipeline.py | 162 | |
| LOW | pipelines/novel2movie_pipeline.py | 51 | |
| LOW | pipelines/novel2movie_pipeline.py | 198 | |
| LOW | utils/rate_limiter.py | 39 |
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | tools/video_generator_veo_google_api.py | 91 | # Check if operation completed successfully |
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | agents/global_information_planner.py | 353 | # parser = None # no need to parse the output, just return the text |