gitextract_1wpinv12/ ├── .dockerignore ├── .github/ │ ├── pull_request_template.md │ ├── release-drafter.yml │ └── workflows/ │ ├── auto-release-generator.yml │ ├── codeReview.yml │ └── discord-release-notification.yml ├── .gitignore ├── Dockerfile ├── LICENSE ├── Makefile ├── README-en.md ├── README.md ├── app/ │ ├── __init__.py │ ├── config/ │ │ ├── __init__.py │ │ ├── audio_config.py │ │ ├── config.py │ │ └── ffmpeg_config.py │ ├── models/ │ │ ├── __init__.py │ │ ├── const.py │ │ ├── exception.py │ │ └── schema.py │ ├── services/ │ │ ├── SDE/ │ │ │ └── short_drama_explanation.py │ │ ├── SDP/ │ │ │ ├── generate_script_short.py │ │ │ └── utils/ │ │ │ ├── short_schema.py │ │ │ ├── step1_subtitle_analyzer_openai.py │ │ │ ├── step5_merge_script.py │ │ │ └── utils.py │ │ ├── __init__.py │ │ ├── audio_merger.py │ │ ├── audio_normalizer.py │ │ ├── clip_video.py │ │ ├── generate_narration_script.py │ │ ├── generate_video.py │ │ ├── llm/ │ │ │ ├── __init__.py │ │ │ ├── base.py │ │ │ ├── config_validator.py │ │ │ ├── exceptions.py │ │ │ ├── litellm_provider.py │ │ │ ├── manager.py │ │ │ ├── migration_adapter.py │ │ │ ├── providers/ │ │ │ │ └── __init__.py │ │ │ ├── test_litellm_integration.py │ │ │ ├── test_llm_service.py │ │ │ ├── unified_service.py │ │ │ └── validators.py │ │ ├── llm.py │ │ ├── material.py │ │ ├── merger_video.py │ │ ├── prompts/ │ │ │ ├── __init__.py │ │ │ ├── base.py │ │ │ ├── documentary/ │ │ │ │ ├── __init__.py │ │ │ │ ├── frame_analysis.py │ │ │ │ └── narration_generation.py │ │ │ ├── exceptions.py │ │ │ ├── manager.py │ │ │ ├── registry.py │ │ │ ├── short_drama_editing/ │ │ │ │ ├── __init__.py │ │ │ │ ├── plot_extraction.py │ │ │ │ └── subtitle_analysis.py │ │ │ ├── short_drama_narration/ │ │ │ │ ├── __init__.py │ │ │ │ ├── plot_analysis.py │ │ │ │ └── script_generation.py │ │ │ ├── template.py │ │ │ └── validators.py │ │ ├── script_service.py │ │ ├── state.py │ │ ├── subtitle.py │ │ ├── subtitle_merger.py │ │ ├── subtitle_text.py │ │ ├── task.py │ │ ├── update_script.py │ │ ├── upload_validation.py │ │ ├── video.py │ │ ├── video_service.py │ │ ├── voice.py │ │ └── youtube_service.py │ └── utils/ │ ├── check_script.py │ ├── ffmpeg_utils.py │ ├── gemini_analyzer.py │ ├── gemini_openai_analyzer.py │ ├── qwenvl_analyzer.py │ ├── script_generator.py │ ├── utils.py │ └── video_processor.py ├── config.example.toml ├── docker-compose.yml ├── docker-deploy.sh ├── docker-entrypoint.sh ├── docs/ │ └── voice-list.txt ├── project_version ├── requirements.txt ├── resource/ │ ├── fonts/ │ │ └── fonts_in_here.txt │ ├── public/ │ │ └── index.html │ ├── scripts/ │ │ └── script_in_here.txt │ ├── songs/ │ │ └── song_in_here.txt │ ├── srt/ │ │ └── srt_in_here.txt │ └── videos/ │ └── video_in_here.txt ├── webui/ │ ├── __init__.py │ ├── components/ │ │ ├── __init__.py │ │ ├── audio_settings.py │ │ ├── basic_settings.py │ │ ├── ffmpeg_diagnostics.py │ │ ├── script_settings.py │ │ ├── subtitle_settings.py │ │ ├── system_settings.py │ │ └── video_settings.py │ ├── config/ │ │ └── settings.py │ ├── i18n/ │ │ ├── __init__.py │ │ ├── en.json │ │ └── zh.json │ ├── tools/ │ │ ├── base.py │ │ ├── generate_script_docu.py │ │ ├── generate_script_short.py │ │ └── generate_short_summary.py │ └── utils/ │ ├── cache.py │ ├── file_utils.py │ └── vision_analyzer.py └── webui.py