free-short-video 7.0.0 → 7.0.1

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 (70) hide show
  1. package/README.md +19 -36
  2. package/core/config.py +1 -1
  3. package/core/i18n_backend.py +731 -0
  4. package/core/pipelines/anchor_video.py +16 -13
  5. package/core/pipelines/creative/steps_audio.py +9 -7
  6. package/core/pipelines/creative/steps_frames.py +16 -4
  7. package/core/pipelines/creative/steps_script.py +44 -21
  8. package/core/pipelines/creative/steps_video.py +14 -14
  9. package/core/pipelines/manuscript_video.py +30 -13
  10. package/core/pipelines/multi_scene.py +17 -11
  11. package/core/pipelines/poetry_video.py +9 -5
  12. package/core/pipelines/simple_video.py +7 -7
  13. package/core/screenwriter/__init__.py +16 -4
  14. package/package.json +1 -1
  15. package/static/assets/ar-CT5Vb96u.js +1 -0
  16. package/static/assets/bn-BRFSrmpr.js +1 -0
  17. package/static/assets/de-BfbzdWS4.js +1 -0
  18. package/static/assets/es-DI_YGUav.js +1 -0
  19. package/static/assets/fa-CLlBTWBD.js +1 -0
  20. package/static/assets/fr-CrJe-R-B.js +1 -0
  21. package/static/assets/hi-Biw0K-wF.js +1 -0
  22. package/static/assets/id-CD_7Mjc4.js +1 -0
  23. package/static/assets/index-D3X3fptl.css +1 -0
  24. package/static/assets/index-Da6mRnWp.js +45 -0
  25. package/static/assets/it-c6SdEfC4.js +1 -0
  26. package/static/assets/ja-C1nVdqg3.js +1 -0
  27. package/static/assets/ko-DJJcPzZ7.js +1 -0
  28. package/static/assets/ms-BVvY5UaD.js +1 -0
  29. package/static/assets/nl-BFMVg2IF.js +1 -0
  30. package/static/assets/pt-Br9EP1M-.js +1 -0
  31. package/static/assets/ru-BXIDO_lx.js +1 -0
  32. package/static/assets/th-qi227Ckr.js +1 -0
  33. package/static/assets/tl-CI-FZE-c.js +1 -0
  34. package/static/assets/tr-4WitX2Ji.js +1 -0
  35. package/static/assets/ur-CYLssynd.js +1 -0
  36. package/static/assets/vi-oji0SPGU.js +1 -0
  37. package/static/index.html +2 -2
  38. package/web/helpers.py +23 -9
  39. package/web/routes/config_routes.py +37 -26
  40. package/web/routes/gallery_routes.py +4 -3
  41. package/web/routes/image_routes.py +6 -3
  42. package/web/routes/preset_routes.py +4 -3
  43. package/web/routes/preview_routes.py +38 -11
  44. package/web/routes/task_creation_routes.py +91 -24
  45. package/web/routes/utility_routes.py +8 -7
  46. package/web/routes/video_routes.py +4 -4
  47. package/web/routes/voice_routes.py +3 -2
  48. package/web/routes/workspace_routes.py +7 -6
  49. package/static/assets/ar-DVEg_H6f.js +0 -1
  50. package/static/assets/bn-BiFSnXzB.js +0 -1
  51. package/static/assets/de-uhexDoxx.js +0 -1
  52. package/static/assets/es-DUPqgRup.js +0 -1
  53. package/static/assets/fa-CNvLTccz.js +0 -1
  54. package/static/assets/fr-BagKMN93.js +0 -1
  55. package/static/assets/hi-DeWOhJ1q.js +0 -1
  56. package/static/assets/id-nGPSnGvK.js +0 -1
  57. package/static/assets/index-CJDvYGjk.css +0 -1
  58. package/static/assets/index-CfGG_wN-.js +0 -45
  59. package/static/assets/it-BJGGcHvC.js +0 -1
  60. package/static/assets/ja-cR8f9YPd.js +0 -1
  61. package/static/assets/ko-C0xGw09S.js +0 -1
  62. package/static/assets/ms-Cgs1dWE8.js +0 -1
  63. package/static/assets/nl-Cwg9KBwg.js +0 -1
  64. package/static/assets/pt-B9Hhu0CQ.js +0 -1
  65. package/static/assets/ru-CafubBrt.js +0 -1
  66. package/static/assets/th-2Muse1NU.js +0 -1
  67. package/static/assets/tl-DGVTGEV4.js +0 -1
  68. package/static/assets/tr-BPcMq5fF.js +0 -1
  69. package/static/assets/ur-BTthCgqj.js +0 -1
  70. package/static/assets/vi-Bi-nuXdz.js +0 -1
package/README.md CHANGED
@@ -1,52 +1,35 @@
1
1
  ---
2
2
 
3
- # What's New in v7.0.0
3
+ # What's New in v7.0.1
4
4
 
5
5
  ## What's New
6
6
 
7
7
  ### Features & Improvements
8
8
 
9
- - **Custom text model providers (OpenAI-compatible / Anthropic-compatible).** Configure any
10
- LLM endpoint with `base URL + API key` and two supported wire protocols
11
- (`openai-completions`, `anthropic-messages`). Once selected, every text call — screenplay
12
- breakdown, scene planning, poetry segmentation, image-prompt rewriting — is routed to your
13
- provider automatically. The built-in Agnes provider is always available, cannot be deleted,
14
- and keeps the previous behaviour when no custom provider is selected.
15
- - **Provider management panel.** A dedicated settings section lists all text providers, lets
16
- you add, edit and delete them, and keeps the Agnes key/domain editing inside the provider
17
- modal. Keys are masked in the UI, and the provider's model list is a single editable list:
18
- fetch it from the endpoint or type model ids by hand. Model selection is a two-level
19
- provider → model picker that merges the models of all providers.
20
- - **Interface-language aware backend messages.** Task progress messages, failure panels, HTTP
21
- error details and the diagnostics report are now localized according to the UI language
22
- instead of being hard-coded Chinese. The UI language travels with every request
23
- (`X-Agnes-UI-Lang`, falling back to `Accept-Language`), is snapshotted into each task at
24
- creation time, and therefore does not drift if the user switches language later. Chinese and
25
- English are covered; the remaining languages fall back to the existing behaviour.
26
- - **Clearer network failure diagnosis.** TLS handshake resets (`connection reset`) are now
27
- attributed to local-connection problems, and the diagnostics report shows the interface
28
- language of the reporting user, making failure reports easier to triage.
9
+ - **Provider setup guidance in Settings.** When adding a third-party text model provider, the
10
+ configuration panel now shows practical notes with a recommended provider (AMD Radeon
11
+ Cloud) and its OpenAI-compatible endpoint, plus a link to a step-by-step guide for
12
+ collecting free tokens. Available in all 22 UI languages.
13
+ - **Localized backend messages everywhere.** The localization framework shipped in v7.0.0 has
14
+ been extended from high-impact messages to the complete set: ~120 remaining strings across
15
+ all six task types — progress updates for every pipeline step, task-creation and preview
16
+ validation errors, config/provider validation, voice-compatibility warnings and cleanup
17
+ tooling messages — are rendered in the task's UI language.
29
18
 
30
19
  ### Refactoring & Optimizations
31
20
 
32
- - **Decoupled text-generation layer.** A new protocol-client layer
33
- (`core/api/providers/` → base / OpenAI / Anthropic) plus a provider factory replaces the two
34
- hard-coded Agnes chat client constructions, so pipelines and the screenwriter are untouched
35
- while the underlying model source becomes pluggable. Custom providers reuse the existing
36
- shared rate limiter and exponential-backoff retry policy, and failures are recorded in the
37
- same error log as before.
38
- - **Backend i18n runtime.** A new translation runtime plus request-scoped language middleware
39
- gives the FastAPI side the same localization guarantees the frontend already had, with a
40
- safe fallback chain that never turns a missing translation into a request failure.
21
+ - **Single bilingual message catalog for the backend.** All user-facing backend strings now
22
+ live in one translation catalog (~200 keys) with CI-enforced Chinese/English parity and a
23
+ documented contributor convention (domain-based key naming, keyword placeholders, per-request
24
+ vs per-task language sources), making the interface-language behavior a maintained invariant
25
+ rather than an ad-hoc practice.
41
26
 
42
27
  ### Bug Fixes
43
28
 
44
- - Model pulling for an already saved provider now reuses its stored credentials instead of
45
- falling back to the Agnes key.
46
- - The built-in Agnes provider no longer appears twice in the provider picker and is now
47
- labelled as text-only.
48
- - Non-Chinese interfaces no longer receive hard-coded Chinese network-diagnosis and task
49
- messages (issue #64).
29
+ - English-interface users no longer receive Chinese progress messages and validation errors
30
+ in simple, creative, manuscript, anchor and poetry video tasks (follow-up to issue #64).
31
+ - Reference-image analysis failures ("image analysis failed (Start Frame)") are reported in
32
+ the task's UI language instead of hard-coded Chinese (issue #65 follow-up).
50
33
 
51
34
  ---
52
35
 
package/core/config.py CHANGED
@@ -18,7 +18,7 @@ CONFIG_FILE = os.path.join(CONFIG_DIR, "config.json")
18
18
  # ═══════════════════════════════════════════════════
19
19
  # 应用版本号(v6.1 新增:发版时同步更新,见 docs/dev/release_process.md)
20
20
  # ═══════════════════════════════════════════════════
21
- APP_VERSION = "7.0.0"
21
+ APP_VERSION = "7.0.1"
22
22
 
23
23
  # 未配置 API Key 时的统一报错文案(含免费获取与在线体验兜底,全站路由共用)
24
24
  #