LICENSE
README.md
pyproject.toml
src/movie_narrator/__init__.py
src/movie_narrator/cli.py
src/movie_narrator/config.py
src/movie_narrator/contract.py
src/movie_narrator/imitate.py
src/movie_narrator/models.py
src/movie_narrator/plugin_loader.py
src/movie_narrator/race.py
src/movie_narrator.egg-info/PKG-INFO
src/movie_narrator.egg-info/SOURCES.txt
src/movie_narrator.egg-info/dependency_links.txt
src/movie_narrator.egg-info/entry_points.txt
src/movie_narrator.egg-info/requires.txt
src/movie_narrator.egg-info/top_level.txt
src/movie_narrator/cloud/__init__.py
src/movie_narrator/cloud/api.py
src/movie_narrator/cloud/artifact_store.py
src/movie_narrator/cloud/checkpoint.py
src/movie_narrator/cloud/daemon.py
src/movie_narrator/cloud/distributed.py
src/movie_narrator/cloud/dlq.py
src/movie_narrator/cloud/health.py
src/movie_narrator/cloud/lifecycle.py
src/movie_narrator/cloud/metrics.py
src/movie_narrator/cloud/models.py
src/movie_narrator/cloud/openapi.py
src/movie_narrator/cloud/queue.py
src/movie_narrator/cloud/remote_provider.py
src/movie_narrator/cloud/remote_queue.py
src/movie_narrator/cloud/scheduler.py
src/movie_narrator/cloud/storage.py
src/movie_narrator/cloud/worker.py
src/movie_narrator/pipeline/__init__.py
src/movie_narrator/pipeline/_align_backend.py
src/movie_narrator/pipeline/align.py
src/movie_narrator/pipeline/assets.py
src/movie_narrator/pipeline/bgm.py
src/movie_narrator/pipeline/errors.py
src/movie_narrator/pipeline/export_clips.py
src/movie_narrator/pipeline/match.py
src/movie_narrator/pipeline/preflight.py
src/movie_narrator/pipeline/qa.py
src/movie_narrator/pipeline/qa_gate.py
src/movie_narrator/pipeline/registry.py
src/movie_narrator/pipeline/render.py
src/movie_narrator/pipeline/research.py
src/movie_narrator/pipeline/resolve.py
src/movie_narrator/pipeline/runner.py
src/movie_narrator/pipeline/scene_filter.py
src/movie_narrator/pipeline/scenes.py
src/movie_narrator/pipeline/script.py
src/movie_narrator/pipeline/script_export.py
src/movie_narrator/pipeline/subtitle.py
src/movie_narrator/pipeline/translate.py
src/movie_narrator/pipeline/tts.py
src/movie_narrator/presets/__init__.py
src/movie_narrator/presets/base.py
src/movie_narrator/presets/bilibili_long.py
src/movie_narrator/presets/douyin_fast.py
src/movie_narrator/presets/mainstream_dry.py
src/movie_narrator/presets/registry.py
src/movie_narrator/providers/__init__.py
src/movie_narrator/providers/registry.py
src/movie_narrator/providers/tmdb.py
src/movie_narrator/reliability/__init__.py
src/movie_narrator/reliability/circuit_breaker.py
src/movie_narrator/reliability/retry.py
src/movie_narrator/tts/__init__.py
src/movie_narrator/tts/base.py
src/movie_narrator/tts/cache.py
src/movie_narrator/tts/edge.py
src/movie_narrator/tts/factory.py
src/movie_narrator/tts/mimo_provider.py
src/movie_narrator/tts/openai_provider.py
src/movie_narrator/tts/protocol.py
src/movie_narrator/tts/voice_map.py
src/movie_narrator/utils/__init__.py
src/movie_narrator/utils/alignment_qa.py
src/movie_narrator/utils/async_utils.py
src/movie_narrator/utils/audio_mix.py
src/movie_narrator/utils/audio_qa.py
src/movie_narrator/utils/console.py
src/movie_narrator/utils/cost_tracker.py
src/movie_narrator/utils/deliverable_qa.py
src/movie_narrator/utils/environment.py
src/movie_narrator/utils/errors.py
src/movie_narrator/utils/font.py
src/movie_narrator/utils/glossary.py
src/movie_narrator/utils/gpu_detect.py
src/movie_narrator/utils/json_parser.py
src/movie_narrator/utils/llm.py
src/movie_narrator/utils/log.py
src/movie_narrator/utils/logging_config.py
src/movie_narrator/utils/match_quality.py
src/movie_narrator/utils/metadata_export.py
src/movie_narrator/utils/optional_deps.py
src/movie_narrator/utils/preview.py
src/movie_narrator/utils/prompts.py
src/movie_narrator/utils/prosody.py
src/movie_narrator/utils/qa_report.py
src/movie_narrator/utils/quality_dashboard.py
src/movie_narrator/utils/retention.py
src/movie_narrator/utils/sanitize.py
src/movie_narrator/utils/subtitle_qa.py
src/movie_narrator/utils/text_anim.py
src/movie_narrator/utils/text_image.py
src/movie_narrator/utils/transitions.py
src/movie_narrator/utils/video_layout.py
src/movie_narrator/utils/video_qa.py
src/movie_narrator/utils/warnings.py
src/movie_narrator/vision/__init__.py
src/movie_narrator/vision/factory.py
src/movie_narrator/vision/protocol.py
src/movie_narrator/vision/stub.py
src/movie_narrator/vision/vlm.py
src/movie_narrator/workflow/__init__.py
src/movie_narrator/workflow/errors.py
src/movie_narrator/workflow/load.py
src/movie_narrator/workflow/merge.py
src/movie_narrator/workflow/schema.py
tests/test_align.py
tests/test_assets.py
tests/test_audio_mix.py
tests/test_audit_integration.py
tests/test_bgm.py
tests/test_bgm_emotion.py
tests/test_cli_config.py
tests/test_cli_debug.py
tests/test_cli_resolve.py
tests/test_context.py
tests/test_contract.py
tests/test_cost_tracker.py
tests/test_deliverable_qa.py
tests/test_e2e_smoke.py
tests/test_ep1_weighted_acts.py
tests/test_ep5_completion.py
tests/test_errors.py
tests/test_gpu_detect.py
tests/test_imitate.py
tests/test_json_parser.py
tests/test_judge_feedback.py
tests/test_m5_community.py
tests/test_match.py
tests/test_optional_deps.py
tests/test_pipeline_cancel.py
tests/test_pipeline_pause.py
tests/test_plugin_discovery.py
tests/test_plugin_registry.py
tests/test_preflight.py
tests/test_presets.py
tests/test_preview.py
tests/test_qa.py
tests/test_race.py
tests/test_render.py
tests/test_render_real.py
tests/test_render_template.py
tests/test_research.py
tests/test_resolve.py
tests/test_rhythm_scoring.py
tests/test_runner_strict.py
tests/test_runner_workflow_metadata.py
tests/test_scenes.py
tests/test_script.py
tests/test_script_export.py
tests/test_settings.py
tests/test_step_retry.py
tests/test_text_anim.py
tests/test_text_image.py
tests/test_tmdb_provider.py
tests/test_transitions.py
tests/test_translate.py
tests/test_tts_cache.py
tests/test_tts_cache_flag_order.py
tests/test_tts_providers.py
tests/test_v0510_subtitle.py
tests/test_v0511_match_align.py
tests/test_v0512_holistic_qa.py
tests/test_v056_edge_cases.py
tests/test_v058_quality.py
tests/test_v059_audio.py
tests/test_v060_task_queue.py
tests/test_v061_remote.py
tests/test_v062_gap6_concurrency.py
tests/test_v080_api_auth.py
tests/test_v080_format_rename.py
tests/test_v080_real_scenedetect.py
tests/test_v080_render_template.py
tests/test_v081_logging.py
tests/test_v081_metrics.py
tests/test_v082_health.py
tests/test_v082_openapi.py
tests/test_v083_artifact_store.py
tests/test_v083_lifecycle.py
tests/test_v084_container.py
tests/test_v091_reliability.py
tests/test_v092_lifecycle.py
tests/test_v093_batch_schedule.py
tests/test_v094_dlq_distributed.py
tests/test_v095_input_sanitization.py
tests/test_v096_i18n_pipeline.py
tests/test_v096_voice_map.py
tests/test_video_layout.py
tests/test_vision.py
tests/test_workflow_errors.py
tests/test_workflow_load.py
tests/test_workflow_merge.py
tests/test_workflow_schema.py
tests/test_workflow_steps.py
tests/test_wp6_scene_filter.py