free-short-video 6.4.5 → 6.4.7

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 (56) hide show
  1. package/.env.example +17 -5
  2. package/README.md +16 -7
  3. package/core/api/agnes_chat.py +2 -1
  4. package/core/compositor/concatenator/audio_overlay.py +66 -8
  5. package/core/config.py +1 -1
  6. package/core/pipelines/anchor_video.py +2 -1
  7. package/core/pipelines/creative/pipeline.py +2 -1
  8. package/core/pipelines/manuscript_video.py +2 -1
  9. package/core/pipelines/poetry_video.py +2 -1
  10. package/core/pipelines/simple_video.py +2 -1
  11. package/core/screenwriter/__init__.py +2 -2
  12. package/package.json +1 -1
  13. package/static/assets/ar-BZhlza-n.js +1 -0
  14. package/static/assets/bn-ByLuYLhB.js +1 -0
  15. package/static/assets/de-DJf0B4cJ.js +1 -0
  16. package/static/assets/es-BADiTsKe.js +1 -0
  17. package/static/assets/fa-DNskfzx9.js +1 -0
  18. package/static/assets/fr-Cm91535F.js +1 -0
  19. package/static/assets/hi-CktS1qs9.js +1 -0
  20. package/static/assets/id-C8XvjAv-.js +1 -0
  21. package/static/assets/index-BPFgQEhy.js +45 -0
  22. package/static/assets/{index-BNSSpVol.css → index-BiQ6yyBH.css} +1 -1
  23. package/static/assets/it-CXBiHwFk.js +1 -0
  24. package/static/assets/ja-DUBZfoQL.js +1 -0
  25. package/static/assets/ko-BPdz3ZHm.js +1 -0
  26. package/static/assets/ms-BSc-jhxk.js +1 -0
  27. package/static/assets/nl-BeuLztYX.js +1 -0
  28. package/static/assets/pt-aHYjCkU8.js +1 -0
  29. package/static/assets/ru-CK9ubHNB.js +1 -0
  30. package/static/assets/th-DrJLJhwl.js +1 -0
  31. package/static/assets/tl-BWCT0cOD.js +1 -0
  32. package/static/assets/tr-BW34em8V.js +1 -0
  33. package/static/assets/ur-Dw_PLjxa.js +1 -0
  34. package/static/assets/vi-C8eywKuN.js +1 -0
  35. package/static/index.html +2 -2
  36. package/static/assets/ar-CQYg2nGj.js +0 -1
  37. package/static/assets/bn-GRmExguM.js +0 -1
  38. package/static/assets/de-BC7M_3b2.js +0 -1
  39. package/static/assets/es-B4nBYimU.js +0 -1
  40. package/static/assets/fa-BmlqC2rs.js +0 -1
  41. package/static/assets/fr-pidgrwQZ.js +0 -1
  42. package/static/assets/hi-BLey3CdD.js +0 -1
  43. package/static/assets/id-qgAFE4x8.js +0 -1
  44. package/static/assets/index-N-jLGcpC.js +0 -45
  45. package/static/assets/it-AkzVx0c6.js +0 -1
  46. package/static/assets/ja-5UwAsDwf.js +0 -1
  47. package/static/assets/ko-DKS32eFu.js +0 -1
  48. package/static/assets/ms-DSRBo61e.js +0 -1
  49. package/static/assets/nl-D90WoBj4.js +0 -1
  50. package/static/assets/pt-BF-gpCqr.js +0 -1
  51. package/static/assets/ru-BY7yjapB.js +0 -1
  52. package/static/assets/th-D1q4ZJcr.js +0 -1
  53. package/static/assets/tl-COEGFxts.js +0 -1
  54. package/static/assets/tr-EAmZYFuY.js +0 -1
  55. package/static/assets/ur-DeZ35cwW.js +0 -1
  56. package/static/assets/vi-2944d5L1.js +0 -1
package/.env.example CHANGED
@@ -16,22 +16,32 @@
16
16
 
17
17
  # ── 1. API Key(必填)──────────────────────────────────────────────
18
18
  # 从 https://platform.agnes-ai.com 获取免费 Key
19
+ # ⚠️ 主 Key 的变量名不带序号(就是 AGNES_API_KEY,没有 AGNES_API_KEY_1 这个槽位)
19
20
  AGNES_API_KEY=your-api-key-here
20
21
 
21
22
 
22
23
  # ── 2. 多 Key 轮询(可选,推荐)────────────────────────────────────
23
24
  # 每个 Key 的配额独立,总量 ≈ 20 × Key 数 / 分钟。
24
- # 命名规则:AGNES_API_KEY_2、AGNES_API_KEY_3 ... 序号依次递增,中间不可断号
25
- # (断号之后的 Key 不会被加载)。
25
+ # 命名规则:主 Key 用 AGNES_API_KEY,额外 Key 从 AGNES_API_KEY_2 起序号依次递增
26
+ # (_2、_3、_4 ...),中间不可断号(断号之后的 Key 不会被加载)。
26
27
  # 遇到 429 会自动轮换到下一个 Key;限速配额与并发上限随 Key 数线性放大。
27
28
  # AGNES_API_KEY_2=your-second-api-key
28
29
  # AGNES_API_KEY_3=your-third-api-key
30
+ # AGNES_API_KEY_4=your-fourth-api-key
31
+ # AGNES_API_KEY_5=your-fifth-api-key
29
32
 
30
33
 
31
- # ── 3. 服务地址 ────────────────────────────────────────────────────
34
+ # ── 3. 本地服务监听地址(非 Agnes API 地址)─────────────────────────
32
35
  HOST=0.0.0.0
33
36
  PORT=8765
34
37
 
38
+ # 注:Agnes API 走哪个站点(国际站 / 国内站)**不通过环境变量配置**
39
+ # (AGNES_BASE_URL 已废弃,代码中不再读取)。请在 Web 设置页的 API Key 面板
40
+ # 选择域名,或用「自动探测域名」逐 Key 补全匹配域名(每个 Key 可绑定各自域名)。
41
+ # 可选域名:com = apihub.agnes-ai.com(国际站)、cn = api.agnes-ai.cn(国内站,
42
+ # 需国内站专属 Key)、cn_bak = apihub.agnes-ai.cn(备用,国际站 Key 亦可用)。
43
+ # 跨站使用 Key 会得到 HTTP 401 / 无效的令牌。
44
+
35
45
 
36
46
  # ── 4. 限速(可选)─────────────────────────────────────────────────
37
47
  # 共享桶:Chat / 图片生成 / 图片上传 / 结果轮询 共用
@@ -54,8 +64,10 @@ PORT=8765
54
64
 
55
65
 
56
66
  # ── 5. 图生图模型(可选)───────────────────────────────────────────
57
- # i2i 默认与 t2i 同模型(agnes-image-2.1-flash);如需回退到 2.0:
58
- # AGNES_IMAGE_I2I_MODEL=agnes-image-2.0
67
+ # i2i 默认与 t2i 同模型(当前默认 agnes-image-2.5-flash);如需为 i2i 固定旧版:
68
+ # AGNES_IMAGE_I2I_MODEL=agnes-image-2.1-flash
69
+ # (真实模型 ID 形如 agnes-image-2.5-flash / agnes-image-2.1-flash /
70
+ # agnes-image-2.0-flash,不带 -flash 后缀的写法无效)
59
71
  #
60
72
  # 注:视频 / 图片主模型请通过 Web UI 或 POST /api/config 选择,
61
73
  # 不再通过环境变量配置(AGNES_VIDEO_MODEL、AGNES_IMAGE_MODEL、
package/README.md CHANGED
@@ -1,20 +1,20 @@
1
1
  ---
2
2
 
3
- # What's New in v6.4.5
3
+ # What's New in v6.4.7
4
4
 
5
5
  ## What's New
6
6
 
7
7
  ### Features & Improvements
8
8
 
9
- * **Agnes 3.0 Flash as default text model** — all LLM-powered features (AI screenwriting, scene prompt generation, poetry splitting, manuscript segmentation) now use `agnes-3.0-flash`, Agnes AI's latest reasoning model. It delivers more stable end-to-end task execution, stronger instruction following in long contexts, and higher-quality structured JSON output compared to the previous `agnes-2.5-flash`.
9
+ * **General functional optimizations** across the web interface for a smoother and more reliable experience.
10
10
 
11
- * **Reasoning capability (transparent)** — Agnes 3.0 Flash is a reasoning model that internally performs chain-of-thought before generating output. This happens transparently with no configuration needed; the API response format remains fully backward-compatible (`choices[0].message.content`).
11
+ ### Bug Fixes
12
12
 
13
- * **Fallback model list updated** — when the `/v1/models` endpoint is unreachable, the application now falls back to `["agnes-3.0-flash", "agnes-2.5-flash"]` for text model selection, ensuring graceful degradation.
13
+ * Minor fixes and polish for a more stable experience in common workflows.
14
14
 
15
15
  ---
16
16
 
17
- The `agnes-2.5-flash` model remains available in the model selector for users who prefer it. No action is required after upgrading.
17
+ No action is required after upgrading.
18
18
 
19
19
  ---
20
20
 
@@ -37,7 +37,7 @@ free-short-video
37
37
 
38
38
  [![中文](https://img.shields.io/badge/CN-中文-red)](/README_ZH.md)
39
39
  [![GitHub Stars](https://img.shields.io/github/stars/lcy362/agnes-video-generator?style=social)](https://github.com/lcy362/agnes-video-generator)
40
- [![License](https://img.shields.io/github/license/lcy362/agnes-video-generator)](https://github.com/lcy362/agnes-video-generator/blob/main/LICENSE)
40
+ [![License](https://img.shields.io/github/license/lcy362/agnes-video-generator)](https://github.com/lcy362/agnes-video-generator/blob/HEAD/LICENSE)
41
41
  [![Python](https://img.shields.io/badge/python-3.10+-blue)](https://www.python.org/)
42
42
  [![Website](https://img.shields.io/badge/website-video.lichuanyang.top-8A2BE2)](https://video.lichuanyang.top)
43
43
  [![Docker Hub](https://img.shields.io/docker/pulls/lcy362/free-short-video?label=docker%20pulls)](https://hub.docker.com/r/lcy362/free-short-video)
@@ -122,6 +122,7 @@ Agnes Video Generator is and will always remain completely free and open-source.
122
122
  If you find this project helpful, here are a few ways to support its continued development:
123
123
 
124
124
  - **⭐ Star on GitHub** — Star the [repository](https://github.com/lcy362/agnes-video-generator) to help others discover this project.
125
+ - **🪨 Star the author's new project [Flint](https://github.com/lcy362/flint)** — a local-first AI skills manager for your Claude Code / Cursor / other agents. Centralize, tag and reuse the skills you keep building.
125
126
  - **🌐 Whitelist the official website** — Turn off your ad blocker on [video.lichuanyang.top](https://video.lichuanyang.top) and click on an ad if something catches your eye. A small gesture that makes a real difference.
126
127
  - **📢 Share your creations** — Post videos made with Agnes Video Generator on social media (Douyin, YouTube, Xiaohongshu, etc.) and tag the project. More exposure means more users, more feedback, and a better tool for everyone.
127
128
 
@@ -194,8 +195,16 @@ Full walkthrough: [Getting Started → Configure API Key](docs/public/getting-st
194
195
  - **[Getting Started](docs/public/getting-started.md)** — Install and deploy in 4 ways: Manual (`start.sh`), Docker, npm (`npx free-short-video`), or AI-Agent assisted.
195
196
  - **[Usage Guide](docs/public/usage.md)** — Configure your API key, pick a video mode, resume from checkpoints, the three chaining modes, and logs & output layout.
196
197
  - **[Architecture](docs/public/architecture.md)** — Project structure and tech stack.
197
- - **[API Reference](docs/public/api.md)** — Full REST + WebSocket endpoint list.
198
+ - **[API Reference](docs/public/api.md)** — Full REST endpoint list (progress via polling, no WebSocket).
198
199
  - **[FAQ](docs/public/faq.md)** — Frequently asked questions.
199
200
  - **[About & License](docs/public/about.md)** — Acknowledgments and the MIT license.
200
201
 
202
+ ## 🌐 Related Projects
203
+
204
+ More projects by the same author:
205
+
206
+ - **[Agnes Video Generator](https://github.com/lcy362/agnes-video-generator)** — Completely free AI video generator (this project).
207
+ - **[FreeShortVideoStudio](https://github.com/lcy362/free-short-video-studio)** — Fully online, in-browser video studio.
208
+ - **[Flint](https://github.com/lcy362/flint)** — Local-first AI skills manager: centralize, tag, deduplicate and deploy your Skills into any agent or project directory. If it helps you, a star is very welcome! ⭐
209
+
201
210
  **Keywords**: free AI video generator, AI video generation tool, text to video AI, free AI video maker, AI video creator, open source video generator, Agnes AI, text-to-video, image-to-video, keyframes video, AI narration, auto subtitles, multi-scene video, zero cost AI video, no subscription AI video tool, digital anchor, self-hosted AI video generator, open source alternative to Runway
@@ -16,6 +16,7 @@ import requests
16
16
 
17
17
  from core.api.error_collector import collect_error, collect_error_from_exception
18
18
  from core.api.rate_limiter import get_rate_limiter, request_with_key_rotation
19
+ from core.config import DEFAULT_TEXT_MODEL
19
20
 
20
21
  logger = logging.getLogger(__name__)
21
22
 
@@ -58,7 +59,7 @@ def strip_code_fence(text: str) -> str:
58
59
  class AgnesChatAPI:
59
60
  """Agnes LLM Chat API 封装(text + multimodal)。"""
60
61
 
61
- def __init__(self, api_key: str, model: str = "agnes-3.0-flash"):
62
+ def __init__(self, api_key: str, model: str = DEFAULT_TEXT_MODEL):
62
63
  self.api_key = api_key
63
64
  self.model = model
64
65
  # 基础 headers(不含 Authorization):每次请求前经 _auth_headers() 注入当前 Key
@@ -7,6 +7,7 @@ import itertools
7
7
  import json
8
8
  import logging
9
9
  import os
10
+ import re
10
11
  import subprocess
11
12
  from typing import List, Optional, Tuple
12
13
 
@@ -771,6 +772,69 @@ class AudioOverlayMixin:
771
772
  logger.warning(f"[Compositor] merge scene srts failed: {e}")
772
773
  return False
773
774
 
775
+ @staticmethod
776
+ def _probe_clip_duration(path: str, default: float = 5.0) -> float:
777
+ """探测媒体文件时长(秒),三级兜底。
778
+
779
+ 修复 Issue #54:Docker 镜像仅暴露 imageio-ffmpeg 自带的 ``ffmpeg``,
780
+ 不含 ``ffprobe``,``resolve_binary("ffprobe")`` 返回 ``None``;若直接传入
781
+ ``subprocess.run([None, ...])`` 会在 ``os.path.dirname(None)`` 处抛
782
+ ``TypeError``。此处按可用性依次尝试:
783
+
784
+ 1. ``ffprobe``(解析到真实路径时才用);
785
+ 2. ``ffmpeg -i`` 的 stderr ``Duration:`` 行(ffmpeg 为硬依赖,镜像必有);
786
+ 3. 调用方给定的 ``default``。
787
+
788
+ Args:
789
+ path: 媒体文件路径。
790
+ default: 全部探测失败时返回的兜底时长(秒)。
791
+
792
+ Returns:
793
+ 时长(秒);无法探测时返回 ``default``。
794
+ """
795
+ # 1) ffprobe(可能为 None,必须先判空)
796
+ ffprobe = resolve_binary("ffprobe")
797
+ if ffprobe:
798
+ try:
799
+ r = subprocess.run(
800
+ [ffprobe, "-v", "error", "-show_entries", "format=duration",
801
+ "-of", "csv=p=0", path],
802
+ stdin=subprocess.DEVNULL, capture_output=True, text=True, timeout=15,
803
+ )
804
+ val = float((r.stdout or "").strip() or 0)
805
+ if val > 0:
806
+ return val
807
+ except Exception as e:
808
+ logger.warning(f"[Compositor] ffprobe duration failed: {e}")
809
+
810
+ # 2) ffmpeg stderr 解析(ffmpeg 是硬依赖,Docker 镜像必有)
811
+ ffmpeg = resolve_binary("ffmpeg")
812
+ if ffmpeg:
813
+ try:
814
+ r = subprocess.run(
815
+ [ffmpeg, "-hide_banner", "-i", path],
816
+ stdin=subprocess.DEVNULL, capture_output=True, text=True, timeout=15,
817
+ )
818
+ m = re.search(
819
+ r"Duration:\s*(\d+):(\d+):(\d+(?:\.\d+)?)", r.stderr or ""
820
+ )
821
+ if m:
822
+ h, mi, s = m.groups()
823
+ val = int(h) * 3600 + int(mi) * 60 + float(s)
824
+ if val > 0:
825
+ logger.info(
826
+ f"[Compositor] duration via ffmpeg fallback: {val:.2f}s ({path})"
827
+ )
828
+ return val
829
+ except Exception as e:
830
+ logger.warning(f"[Compositor] ffmpeg duration probe failed: {e}")
831
+
832
+ # 3) 默认兜底
833
+ logger.warning(
834
+ f"[Compositor] duration probe unavailable for {path}, using default {default}s"
835
+ )
836
+ return default
837
+
774
838
  @staticmethod
775
839
  def composite_anchor_video(
776
840
  clip_path: str,
@@ -810,14 +874,8 @@ class AudioOverlayMixin:
810
874
  )
811
875
  os.makedirs(os.path.dirname(output_path) or ".", exist_ok=True)
812
876
 
813
- # Step 1: Get clip duration
814
- probe = subprocess.run(
815
- [resolve_binary("ffprobe"), "-v", "error", "-show_entries", "format=duration",
816
- "-of", "csv=p=0", clip_path],
817
- stdin=subprocess.DEVNULL,
818
- capture_output=True, text=True, timeout=15,
819
- )
820
- clip_duration = float(probe.stdout.strip() or 5.0)
877
+ # Step 1: Get clip duration(ffprobe 不可用时回退 ffmpeg,修复 Issue #54)
878
+ clip_duration = AudioOverlayMixin._probe_clip_duration(clip_path, default=5.0)
821
879
  if clip_duration <= 0:
822
880
  clip_duration = 5.0
823
881
 
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 = "6.4.5"
21
+ APP_VERSION = "6.4.7"
22
22
 
23
23
  # 未配置 API Key 时的统一报错文案(含免费获取与在线体验兜底,全站路由共用)
24
24
  API_KEY_MISSING_MSG = (
@@ -18,6 +18,7 @@ from typing import Callable, Optional
18
18
  from core.api.agnes_image import AgnesImageAPI
19
19
  from core.api.agnes_video import AgnesVideoAPI, VideoTaskCancelled
20
20
  from core.compositor.concatenator import VideoConcatenator
21
+ from core.config import DEFAULT_TEXT_MODEL
21
22
  from core.pipelines import MultiScenePipeline
22
23
  from core.screenwriter import Screenwriter
23
24
  from models.task import (
@@ -75,7 +76,7 @@ class AnchorPipeline(MultiScenePipeline):
75
76
  api_key: str,
76
77
  task_id: str,
77
78
  dir_name: Optional[str] = None,
78
- chat_model: str = "agnes-3.0-flash",
79
+ chat_model: str = DEFAULT_TEXT_MODEL,
79
80
  image_model: str = "agnes-image-2.5-flash",
80
81
  video_model: str = "agnes-video-v2.0",
81
82
  progress_callback: Optional[Callable] = None,
@@ -8,6 +8,7 @@ from typing import Callable, Optional
8
8
 
9
9
  from core.api.agnes_image import AgnesImageAPI
10
10
  from core.api.agnes_video import AgnesVideoAPI
11
+ from core.config import DEFAULT_TEXT_MODEL
11
12
  from core.pipelines import MultiScenePipeline
12
13
  from core.screenwriter import Screenwriter
13
14
  from models.task import CreativeVideoTask
@@ -47,7 +48,7 @@ class CreativeVideoPipeline(
47
48
  api_key: str,
48
49
  task_id: str,
49
50
  dir_name: Optional[str] = None,
50
- chat_model: str = "agnes-3.0-flash",
51
+ chat_model: str = DEFAULT_TEXT_MODEL,
51
52
  image_model: str = "agnes-image-2.5-flash",
52
53
  video_model: str = "agnes-video-v2.0",
53
54
  progress_callback: Optional[Callable] = None,
@@ -19,6 +19,7 @@ from core.api.agnes_video import AgnesVideoAPI, VideoTaskCancelled
19
19
  from core.async_io import read_text
20
20
  from core.audio.voices import duration_len, estimate_chars_per_sec
21
21
  from core.compositor.concatenator import VideoConcatenator
22
+ from core.config import DEFAULT_TEXT_MODEL
22
23
  from core.pipelines import MultiScenePipeline
23
24
  from core.screenwriter import Screenwriter, is_prompt_language_explicit
24
25
  from models.task import (
@@ -144,7 +145,7 @@ class ManuscriptVideoPipeline(MultiScenePipeline):
144
145
  api_key: str,
145
146
  task_id: str,
146
147
  dir_name: str = None,
147
- chat_model: str = "agnes-3.0-flash",
148
+ chat_model: str = DEFAULT_TEXT_MODEL,
148
149
  image_model: str = "agnes-image-2.5-flash",
149
150
  video_model: str = "agnes-video-v2.0",
150
151
  progress_callback: Optional[Callable] = None,
@@ -19,6 +19,7 @@ from core.api.agnes_video import AgnesVideoAPI
19
19
  from core.audio.subtitle import SubtitleGenerator
20
20
  from core.audio.tts import SilentTTSEngine
21
21
  from core.compositor.concatenator import VideoConcatenator
22
+ from core.config import DEFAULT_TEXT_MODEL
22
23
  from core.pipelines import MultiScenePipeline
23
24
  from core.screenwriter import Screenwriter, clean_narration_text
24
25
  from models.task import (
@@ -73,7 +74,7 @@ class PoetryVideoPipeline(MultiScenePipeline):
73
74
  api_key: str,
74
75
  task_id: str,
75
76
  dir_name: Optional[str] = None,
76
- chat_model: str = "agnes-3.0-flash",
77
+ chat_model: str = DEFAULT_TEXT_MODEL,
77
78
  video_model: str = "agnes-video-v2.0",
78
79
  progress_callback: Optional[callable] = None,
79
80
  shutdown_event: Optional = None,
@@ -11,6 +11,7 @@ import traceback
11
11
  from typing import Callable, Optional
12
12
 
13
13
  from core.api.agnes_video import AgnesVideoAPI
14
+ from core.config import DEFAULT_TEXT_MODEL
14
15
  from core.pipelines import BasePipeline, PipelineShutdown
15
16
  from models.task import SimpleVideoTask, StepStatus
16
17
 
@@ -37,7 +38,7 @@ class SimpleVideoPipeline(BasePipeline):
37
38
  api_key: str,
38
39
  task_id: str,
39
40
  dir_name: str = None,
40
- chat_model: str = "agnes-3.0-flash",
41
+ chat_model: str = DEFAULT_TEXT_MODEL,
41
42
  image_model: str = "agnes-image-2.5-flash",
42
43
  video_model: str = "agnes-video-v2.0",
43
44
  progress_callback: Optional[Callable] = None,
@@ -26,7 +26,7 @@ logger = logging.getLogger(__name__)
26
26
  # "zh" — 所有 meta-prompt 使用中文(默认)
27
27
  # "en" — 所有 meta-prompt 使用英文
28
28
  # 示例:export PROMPT_LANGUAGE=en
29
- from core.config import get_settings as _get_settings # noqa: I001 就地导入避免循环依赖
29
+ from core.config import DEFAULT_TEXT_MODEL, get_settings as _get_settings # noqa: I001 就地导入避免循环依赖
30
30
  PROMPT_LANGUAGE = _get_settings().prompt_language
31
31
 
32
32
 
@@ -112,7 +112,7 @@ class Screenwriter(
112
112
  对外接口与拆分前完全一致(mixin 组合,方法经 MRO 解析)。
113
113
  """
114
114
 
115
- def __init__(self, api_key: str, model: str = "agnes-3.0-flash", language: str = None):
115
+ def __init__(self, api_key: str, model: str = DEFAULT_TEXT_MODEL, language: str = None):
116
116
  self.api_key = api_key
117
117
  self.model = model
118
118
  self.language = language if language else PROMPT_LANGUAGE # "zh" 中文 / "en" 英文
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "free-short-video",
3
- "version": "6.4.5",
3
+ "version": "6.4.7",
4
4
  "description": "Free AI short-video generator — run the full free-short-video service locally with one command. Text-to-video, image generation, Edge-TTS narration, subtitles, and compositing, all free. Official site: https://video.lichuanyang.top",
5
5
  "bin": {
6
6
  "free-short-video": "bin/cli.js",
@@ -0,0 +1 @@
1
+ const e="فيديو بالذكاء الاصطناعي، بضغطة واحدة",t="إعداد مفتاح API",o="غير مهيأ",n="مهيأ",s="أدخل مفتاح Agnes API الخاص بك (احصل عليه مجانًا من platform.agnes-ai.com)",c="مهيأ (●●●)",a="حفظ",i="مسح",r="هل أنت متأكد من مسح مفتاح API المهيأ",l="مهيأ (متغير بيئة)",p="تم تعيين مفتاح API عبر متغير البيئة AGNES_API_KEY ولا يمكن مسحه من الواجهة. أزل متغير البيئة ثم أعد المحاولة.",d="اختيار النموذج",m="اختر نماذج Agnes للنص والصور والفيديو المستخدمة في التوليد.",u="نموذج النص / المحادثة",f="نموذج الصور",g="نموذج الفيديو",S="Video model",b="Video model capabilities",y="Capability",P="Price",v="Modes",h="Duration",C="Resolution",k="Negative prompt",R="Ref. video",T="Paid",A="Free",D="Yes",w="No",M="Modes",H="Durations",I="Resolution",L="Negative prompt",E="Ref images",F="Ref. video",x="Negative prompt is not supported by this model",K="Aspect ratio",N="Quality",V="Up to",G="Negative prompt not supported by this model",B="short edge px",U="720P = short edge 720px; output size scales with ratio",O="تحديث القائمة",q="غير متزامن",W="تم الحفظ",_="agnes-2.5-flash قيد الإصدار التجريبي: يتطلب مفتاح API مع صلاحية تجريبية، وإلا ستفشل الاستدعاءات.",z=" (تجريبي)",Q="نص",Y="صورة",j="فيديو",J="نموذج النص لا يمكن أن يكون فارغًا",X="فشل الجلب",Z="فشل الحفظ",$="دليل العمل",ee="غير محدد",te="نشط",oe="إضافة",ne='انقر على "تصفح" على اليمين لاختيار الدليل',se="الاسم (اختياري)",ce="تفعيل",ae="إزالة",ie="الحالي",re="مساحة العمل النشطة",le="تصفح…",pe="افتراضي",de="كل المساحات",me='انقر على "تفعيل" لتبديل دليل العمل الحالي',ue="هذه مساحة اختبار الانحدار، مقفلة بواسطة متغير البيئة ولا يمكن تعديلها من الواجهة.",fe="إزالة هذا الدليل من القائمة (لن يتم حذف الملفات من القرص)",ge="مهمة جديدة",Se="قائمة المهام",be="علامة مائية للفيديو",ye="أضف علامة Agnes Video Generator المائية لمساعدة المزيد من المبدعين على اكتشاف هذه الأداة",Pe="تم تفعيل العلامة المائية",ve="تم تعطيل العلامة المائية",he="صورة وفيديو",Ce="فيديو إبداعي",ke="فيديو مقال",Re="النوع",Te="🎬 فيديو",Ae="🖼️ صورة",De="إعدادات الفيديو البسيط",we="الإعدادات الإبداعية",Me="إعدادات المقال",He="وصف الفيديو",Ie="قطة برتقالية تغفو على عتبة النافذة بعد المطر، ضوء الشمس يتسلل عبر الزجاج، الستارة تتحرك مع النسيم، 4K واقعي",Le="وضع التوليد",Ee="نص إلى فيديو",Fe="صورة إلى فيديو",xe="إطارات مفتاحية",Ke="المدة",Ne="الدقة",Ve="عمودي 9:16",Ge="أفقي 16:9",Be="مربع 1:1",Ue="صورة مرجعية",Oe="صورة الإطار الأخير",qe="اختيار صورة",We="لم يتم الاختيار",_e="إعدادات متقدمة",ze="اختياري",Qe="اتركه فارغًا لعشوائية",Ye="العناصر المطلوب استبعادها",je="اسم المهمة",Je="اختياري، يولّد تلقائيًا إذا تركت فارغًا",Xe="وصف الفكرة",Ze="روبوت يسقي زهرة صغيرة في مدينة مهجورة، 3 مشاهد: اكتشاف الشتلة، إحضار الماء، تفتح الزهرة",$e="النمط البصري",et="3 مشاهد، كل مشهد 5 ثوانٍ، جودة سينمائية",tt="أسلوب واقعي سينمائي",ot="وضع التتابع",nt="keyframes (موصى به)",st="ti2vid (انتقال)",ct="none (مستقل)",at="صورة مرجعية (اختياري)",it="اختياري. إذا قدمتها، ستستخدمها جميع المشاهد كمرساة بصرية؛ وإلا ستولّد تلقائيًا من القصة.",rt="إطارات نهاية مخصصة",lt="تفعيل",pt="توليد من المرجع (i2i)",dt="إطار نهاية واحد لكل مشهد، بالترتيب.",mt="مشهد",ut="+ إضافة إطار نهاية",ft="إعدادات الصوت",gt="إعدادات الترجمة",St="التعليق الصوتي",bt="الترجمة",yt="الصوت",Pt="السرعة",vt="عادي",ht="اختيار الصوت",Ct="ابحث عن اسم الصوت أو الأسلوب...",kt="الحالي",Rt="تأكيد",Tt="إلغاء",At="تأكيد",Dt="معاينة",wt="إيقاف",Mt="فشلت المعاينة، قد لا يدعم هذا الصوت هذه اللغة",Ht="قد لا يكون هذا الصوت متوافقًا مع اللغة الحالية. هل تريد استخدامه",It="أنثى",Lt="ذكر",Et="لا توجد أصوات مطابقة",Ft="نمط الترجمة",xt="الخط",Kt="اللون",Nt="الحجم",Vt="الموضع",Gt="أسفل",Bt="أعلى",Ut="لون الحدود",Ot="سماكة الحدود",qt="لون الخلفية",Wt="وضع النمط",_t="ثابت",zt="ذكاء اصطناعي",Qt="تفضيلات النمط",Yt="صف كيف يجب أن تتغير الموضع واللون والحجم للترجمة. سيخصص الذكاء الاصطناعي نمطًا لكل ترجمة.",jt="نص المقال",Jt="الصق مقالك أو بيانك الصحفي أو تدوينتك. مثال: مقدمة منتج من 500 كلمة أو مقال سفر — سيقسم النظام تلقائيًا إلى مشاهد",Xt="حرف",Zt="بدء التوليد",$t="جارٍ الإرسال...",eo="المهمة قيد التنفيذ...",to="جارٍ التحميل...",oo="لا توجد مهام",no="فشل التحميل",so="التقدم",co="إيقاف المهمة",ao="إرسال",io="توليد الفيديو",ro="تهيئة",lo="إعداد المشاهد",po="تحليل الصور",mo="القصة",uo="مرجع الشخصية",fo="السيناريو",go="أوامر الإطار الأخير",So="توليد الإطار الأخير",bo="توليد الفيديو",yo="الصوت",Po="الترجمة",vo="الدمج",ho="تقسيم النص",Co="أوامر المشاهد",ko="توليد الفيديو",Ro="الصوت",To="الترجمة",Ao="الدمج",Do="اكتمل توليد الفيديو!",wo="اكتملت المهمة",Mo="معرف المهمة",Ho="الدليل",Io="الفكرة",Lo="عدد المشاهد",Eo="التتابع",Fo="إعداد المشاهد",xo="مصدر معلومات المشاهد",Ko="يدوي",No="استخراج من الفكرة",Vo="حدد عدد المشاهد ومدتها يدويًا",Go="سيحلل الذكاء الاصطناعي عدد المشاهد ومدتها من الفكرة",Bo="مدة المشاهد",Uo="موحد",Oo="مستقل",qo="ثانية",Wo="الناتج",_o="فقرات",zo="مكتمل",Qo="قيد التنفيذ",Yo="فشل",jo="قيد الانتظار",Jo="في الطابور",Xo="تحليل الصور",Zo="القصة",$o="السيناريو",en="مرجع الشخصية",tn="مطالبات الإطار النهائي",on="الإطارات النهائية",nn="معلومات المهمة",sn="الفكرة",cn="نص المخطوطة",an="نص التقديم",rn="وصف المذيع",ln="نص القصيدة",pn="المطالبة",dn="العرض",mn="الارتفاع",un="عدد المشاهد",fn="عدد الفقرات",gn="وضع التسلسل",Sn="النمط",bn="وضع الصوت",yn="الوضع",Pn="المدة",vn="نقاط الإيقاف",hn="اختر نقاط التحقق للتوقف في الوضع اليدوي؛ غير المحددة تُمرَّر تلقائياً",Cn="القصة المصورة",kn="الصور المرجعية",Rn="مقاطع الفيديو",Tn="التعليق الصوتي",An="الترجمة النصية",Dn="التركيب",wn="هذا النوع من المهام لا يدعم الوضع اليدوي",Mn="جارٍ تغيير وضع التنفيذ...",Hn="تم تغيير وضع التنفيذ",In="فشل تغيير الوضع",Ln="التبديل إلى تلقائي",En="التبديل إلى يدوي",Fn="التبديل إلى الوضع التلقائي سيمسح نقاط الإيقاف وينفذ حتى النهاية. متابعة؟",xn="التبديل إلى الوضع اليدوي سيتوقف عند نقطة التحقق التالية لمراجعتك. متابعة؟",Kn="في انتظارك",Nn="المهمة متوقفة عند نقطة تحقق؛ راجع أو عدّل المخرجات ثم تابع",Vn="نقطة التحقق",Gn="تم",Bn="قيد الانتظار",Un="قيد التشغيل",On="كيفية معالجة نقطة التحقق هذه",qn="تعديل بالذكاء الاصطناعي",Wn="صف التغيير؛ سيقوم النظام بتعديل المخرجات تلقائياً",_n="تعديل بنفسي",zn="اطلع على المسارات، عدّل الملفات محلياً، ثم أكّد",Qn="وكيل خارجي",Yn="انسخ الأمر والمطالبة، استخدم وكيلاً محلياً، ثم أكّد",jn="🗂️ احفظ سير عملك والـ prompts كـ Skills وأدرها بـ Flint",Jn="طلب التعديل",Xn="مثال: اجعل سرد المشهد 2 أكثر عامية",Zn="بدء التعديل",$n="الذكاء الاصطناعي يعدّل...",es="نتيجة التعديل",ts="تطبيق وتأكيد",os="تجاهل",ns="مسار المخرَج",ss="متطلبات التنسيق",cs="الأثر بعد التعديل",as="تم التعديل، متابعة",is="الأمر",rs="المطالبة",ls="تم، متابعة",ps="🔗 المزيد من أدوات الذكاء الاصطناعي المجانية",ds="نسخ",ms="لا توجد مخرجات قابلة للتعديل في نقطة التحقق هذه",us="فشل التعديل بالذكاء الاصطناعي",fs="فشل المتابعة",gs="تم التأكيد، جارٍ المتابعة",Ss="فشل إعادة الإنشاء",bs="إعادة إنشاء",ys="ستُحذف المخرجات المتأثرة وتُعاد إنشاؤها؛ غير المتأثرة تُحتفظ بها",Ps="يرجى مراجعة وتحسين مخرجات نقطة التحقق هذه في دليل المهمة {dir}. أبلغني بالنتيجة عند الانتهاء، وسأضغط «تم التعديل، متابعة» في واجهة الويب.\\\\n\\\\nالمتطلبات:\\\\n1. حافظ على تنسيق المخرجات وبنيتها\\\\n2. عدّل المحتوى الدلالي فقط\\\\n3. أبلغ عن الملفات التي تم تغييرها",vs="سيُحذف ويُعاد تشغيله",hs="مُحتفظ به، بدون إعادة تشغيل",Cs="تأكيد الحذف وإعادة التشغيل",ks="إلغاء",Rs="لا توجد مخرجات متأثرة؛ تابع مباشرة",Ts="معلمات المهمة",As="الدقة",Ds="الصوت",ws="cd {dir} && traework\\ncd {dir} && opencode\\n# or another local agent (workbuddy / CodeBuddy CLI, etc.)",Ms="Awaiting you",Hs="Back",Is="Stages",Ls="Expand",Es="Collapse",Fs="Waiting",xs="عرض",Ks="التقدم",Ns="استئناف",Vs="إيقاف",Gs=" مشهد",Bs=" فقرة",Us="بسيط",Os="إبداعي",qs="مقال",Ws="صورة",_s="إيقاف المهمة الحالية يمكن استئنافها من قائمة المهام.",zs="إيقاف هذه المهمة يمكن استئنافها لاحقًا.",Qs="تم إيقاف المهمة، يمكن استئنافها من القائمة",Ys="تم إيقاف المهمة",js="الرجاء إدخال مفتاح API",Js="الرجاء وصف الفيديو",Xs="الرجاء وصف فكرتك",Zs="الرجاء إدخال نص المقال",$s="هناك مهمة قيد التنفيذ أو في الطابور بالفعل",ec="فشل الإنشاء",tc="فشل الاستئناف",oc="فشل التحميل",nc="فشل الإيقاف",sc="جارٍ الإيقاف...",cc="تم إرسال المهمة، الرجاء الانتظار",ac="تم استئناف المهمة، الرجاء الانتظار",ic="يرجى مراقبة سجلات وحدة التحكم والانتظار بصبر.",rc="المهمة",lc="فشلت المهمة",pc="افحص سجلات وحدة التحكم، ثم استأنف من قائمة المهام.",dc="الانتقال إلى قائمة المهام",mc="انقطع الاتصال",uc="انقطع الاتصال الفوري مع الخادم. قد لا يزال الخادم يعمل في الخلفية. تحقق من الحالة في قائمة المهام.",fc="الانتقال إلى قائمة المهام",gc="انقطع الاتصال، جارٍ إعادة المحاولة...",Sc="مذيع رقمي",bc="نطاق Agnes",yc="اختر نطاق الوصول إلى Agnes API. في الصين يُنصح باستخدام .cn للحصول على اتصال أكثر استقرارًا.",Pc="دولي",vc="الصين (موصى به)",hc="الصين احتياطي (غير مذكور في الوثائق الرسمية، قد يُحذف)",Cc="تم الحفظ",kc="فشل الحفظ",Rc="فيديو شعر",Tc="إعدادات الشعر",Ac="نص القصيدة",Dc="أدخل نص القصيدة كاملاً",wc="يمكن أن تكون عدة مقاطع، مفصولة بسطر جديد أو علامات ترقيم. سيقسم الذكاء الاصطناعي إلى مشاهد حسب المعنى.",Mc="أوامر المشاهد (اختياري)",Hc="التنسيق: بيت | وصف بصري (مشهد واحد في كل سطر)",Ic='اختياري. مشهد واحد في كل سطر، بتنسيق ثابت "بيت | وصف بصري". الطريقتان تعطيان نفس النتيجة: ① اتركه فارغًا، سيولده النظام؛ ② انسخ الأمر أدناه إلى أي ذكاء اصطناعي وألصق النتيجة هنا.',Lc="مثال: الربيع لا يدرك الفجر... | صباح ربيعي ضبابي، غناء العصافير",Ec="توليد المشاهد بذكاء اصطناعي آخر",Fc="عرض الأمر",xc="يتضمن الأمر عدد المشاهد ومدتها المضبوطين أعلاه، مطابق تمامًا لأمر النظام. انسخه إلى أي ذكاء اصطناعي، أدخل قصيدتك، ودعه يولّد المشاهد، ثم ألصق النتيجة في المربع أعلاه.",Kc="إدخال القصيدة ونسخ الأمر",Nc="المدة الإجمالية",Vc="0=تلقائي",Gc="تستخدم ترجمة الشعر نمطًا ثابتًا عامًا (أسفل المنتصف، نص أبيض بحدود سوداء) — يمكن التبديل فقط، دون تخصيص.",Bc="تقسيم المشاهد",Uc="توليد الفيديو",Oc="الإلقاء",qc="الترجمة",Wc="الدمج",_c="الرجاء إدخال نص القصيدة",zc="صورة بسيطة",Qc="إعدادات الصورة",Yc="وصف الصورة",jc="بحيرة عند سفح جبال ثلجية، ضباب الصباح، انعكاس الجبال في الماء، إضاءة سينمائية، أفقي",Jc="حجم الصورة",Xc="اختياري. ارفع لتوليد أشكال مختلفة؛ اتركه فارغًا لتوليد بالذكاء الاصطناعي الخالص.",Zc="توليد الصورة",$c="اكتمل توليد الصورة!",ea="جارٍ التوليد...",ta="الرجاء إدخال وصف الصورة",oa="إعدادات المذيع الرقمي",na="وصف المذيع",sa="مذيع أخبار محترف يرتدي بدلة، يجلس في استوديو أخبار حديث...",ca="صورة مرجعية (اختياري)",aa="اختياري. ارفع لضبط مظهر المذيع؛ اتركه فارغًا لتوليد بالذكاء الاصطناعي الخالص.",ia="نص التعليق",ra="مرحبًا بكم في نشرة الأخبار التقنية اليوم. الخبر الأول: دخل توليد الفيديو بالذكاء الاصطناعي عصرًا مجانيًا...",la="عمودي 9:16 (HD)",pa="متطلبات موضع الترجمة",da="ضع الترجمة في الثلث السفلي من الشاشة، وتجنب تغطية وجه المذيع",ma="مذيع",ua="مصدر الصوت",fa="صوت ما بعد التركيب",ga="جودة الصوت قابلة للتحكم (الصوت، السرعة)، لكن مطابقة الشفاه أصعب",Sa="صوت النموذج",ba="الصوت يتحكم فيه النموذج، التأثير غير قابل للتنبؤ؛ لا توجد خيارات للصوت/السرعة",ya="توليد صورة المذيع",Pa="تقسيم النص",va="توليد أوامر المقاطع",ha="توليد فيديو المقاطع",Ca="توليد الصوت",ka="توليد الترجمة",Ra="دمج الفيديو",Ta="أمر النظام",Aa="تعليمات إضافية للنموذج (مثل الأسلوب والجودة)، لا تؤثر على وصف المحتوى الرئيسي",Da="النواتج الوسيطة",wa="تحليل الصور",Ma="القصة",Ha="مرجع الشخصية",Ia="السيناريو",La="أوامر الإطار الأخير",Ea="إطار نهاية المشهد {index}",Fa="فيديو المشهد {index}",xa="صوت التعليق",Ka="الترجمة",Na="الفيديو النهائي",Va="صورة المذيع",Ga="أوامر المقطع",Ba="مقطع فيديو",Ua="فيديو الفقرة {index}",Oa="أوامر المشاهد",qa="حذف هذا الناتج ستحذف جميع النواتج اللاحقة وسيتم إرجاع حالة المهمة.",Wa="سيتم حذف الملفات التالية",_a="سيتم إعادة تعيين الخطوات التالية",za="تم حذف الناتج",Qa="فشل الحذف",Ya="انقر للمعاينة",ja="جارٍ بدء المهمة...",Ja="احصل على مفتاح API مجانًا",Xa="دليل الإعداد",Za="جرّبه عبر الإنترنت",$a="🎯 نصائح الأوامر",ei="🧠 مقارنة النماذج",ti="📋 أمثلة أوامر الفيديو البسيط",oi="📋 أمثلة أوامر الفيديو الإبداعي",ni="📋 أمثلة فيديو المقال",si="📋 أمثلة المذيع الرقمي",ci="💡 أثناء الانتظار، شاهد ما ينشئه الآخرون بـ Agnes",ai="📈 خطط وسائل التواصل",ii="🎬 المزيد من اتجاهات الإبداع",ri="⭐ ادعم المشروع",li="مجاني بالكامل ومفتوح المصدر، لا رسوم أبدًا. ادعم المشروع:",pi="⭐ امنح نجمة",di="ساعد المزيد من الناس على اكتشاف هذه الأداة",mi="🔓 تعطيل AdBlock",ui="أوقف حظر الإعلانات على الموقع الرسمي",fi="👆 اضغط على إعلان",gi="نقرة صغيرة، دعم حقيقي",Si="شكرًا لدعمك ❤️",bi="المزيد من الموارد",yi="🏠 الصفحة الرئيسية للمشروع",Pi="🎬 تجربة مباشرة",vi="📖 دليل الاستخدام",hi="❓ الأسئلة الشائعة",Ci="📋 وثائق API",ki="🎯 حالات الاستخدام",Ri="🔗 روابط سريعة",Ti="📖 نصائح الأوامر",Ai="📚 نظرة عامة على النماذج",Di="📘 استدعاء API",wi="-30% (بطيء)",Mi="+30% (سريع)",Hi="-15% (إلقاء القصيدة أبطأ)",Ii="أفقي 16:9 (HD)",Li="عمودي 9:18",Ei="أفقي 18:9",Fi="الماندرين · أنثى",xi="خطأ في الشبكة",Ki="تم النسخ ✓",Ni="توسيع",Vi="طي",Gi="تحديث",Bi="إغلاق",Ui="شعر",Oi="الكلمات المهمة بخط أحمر كبير، والسرد العادي بخط أبيض صغير في الأسفل",qi="إضافة مفتاح",Wi="الصق مفتاح API جديد (يُضاف تلقائيًا إلى المفاتيح الموجودة)",_i="حذف",zi="حذف هذه المهمة وجميع الملفات المُنشأة؟ لا يمكن التراجع عن هذا الإجراء!",Qi="تم حذف المهمة",Yi="وضع التنفيذ",ji="⚡ تلقائي",Ji="✋ يدوي",Xi="الوضع التلقائي يعمل حتى النهاية دون تدخل؛ الوضع اليدوي يتوقف عند كل نقطة تحقق للتأكيد أو التعديل، ويمكن استخدامه مع أدوات الذكاء الاصطناعي الخارجية. يمكن التبديل في أي وقت.",Zi="فشل الحذف",$i="فشل الإزالة",er="المفاتيح المُعدة",tr="ENV",or="CONFIG",nr="من متغير البيئة؛ عدّله في بيئة التشغيل/.env",sr="المفتاح ما زال فعّالًا (موجود في env)",cr="تم تفعيل تناوب المفاتيح المتعددة",ar="إزالة هذا المفتاح",ir="هل تريد إزالة هذا المفتاح؟",rr="تمت إزالة المفتاح",lr="ارفع صورة مرجعية لكل مشهد؛ سيستخدمها الفيديو كنقطة بداية بصرية (مع تخطي توليد لوحة القصة بالذكاء الاصطناعي لذلك المشهد). المشاهد دون رفع تستخدم صورًا من الذكاء الاصطناعي.",pr="الصور المرجعية للمشاهد (اختياري)",dr="فشل الحفظ",mr="تم حفظ القطعة",ur="قارن",fr="✅ المتابعة دون تغييرات",gr="الاحتفاظ بالقطع الحالية والمتابعة",Sr="بعد الحفظ، ستُعاد توليد القطع السفلية المتأثرة",br="تعديل القطع",yr="فتح نافذة التحرير",Pr="أدخل المحتوى المعدل هنا...",vr="💾 حفظ التغييرات",hr="الرئيسية",Cr="💻 التحرير عبر الإنترنت",kr="حرّر القطع النصية في نافذة واحفظها، وقارن بالأصل في أي وقت",Rr="هذا النموذج مدفوع، يُفوتر حسب الاستخدام. تأكد من فتح حصة الدفع.",Tr=" (مدفوع)",Ar="لا توجد قطع نصية قابلة للتحرير في نقطة التحقق هذه",Dr="الأصل",wr="جارٍ استئناف التنفيذ...",Mr="تغيير اللغة",Hr="✅ تأكيد ومتابعة",Ir="انقر على «تأكيد ومتابعة» بالأعلى لتطبيق التغييرات",Lr="يحتاج إلى استئناف",Er="استئناف المهمة",Fr="المهمة لا تعمل",xr="انقر على «استئناف المهمة» أعلى اليمين",Kr="يمكن تحرير القطع النصية فقط عبر الإنترنت",Nr="Generation failures are often caused by transient factors. Please retry first (resumes from the failed step).",Vr="Retry Task",Gr="Retried {n} time(s)",Br="Still failing after multiple retries? Report the issue",Ur="Still failing after {n} retries. Please report with diagnostic info.",Or="This looks like a deterministic issue caused by parameters or content. Retrying may not help.",qr="Diagnostic Info",Wr="Copy Diagnostic Info",_r="Copied. Please paste it into the GitHub Issue.",zr="Check the FAQ first",Qr="Open an Issue on GitHub",Yr="Please review before submitting (your prompt text is not included)",jr="Prefilled content was too long and shortened. Please paste the full diagnostic info.",Jr="Generating diagnostic info…",Xr="Copy failed, please try again",Zr="## Diagnostic Info (Agnes Video Generator)",$r="App Version",el="Task ID",tl="Task Type",ol="Generation Mode",nl="Failed Step",sl="Retry Count",cl="Key Configs",al="Environment",il="unknown",rl="### Error Message",ll="#### التتبع الكامل",pl="### Reproduction Steps",dl="<!-- Please fill in: operations and related config -->",ml="### Expected Behavior",ul="<!-- Please fill in -->",fl="…(content was too long and truncated, please paste the full diagnostic info)",gl="[Bug] {taskType} task failed at {failedStep}",Sl="[Bug] {taskType} generation failed",bl="#### Model call error {n}",yl="Time",Pl="Model",vl="API",hl="Error Type",Cl="Status Code",kl="Error Message",Rl="الخصوصية",Tl="إيقاف الإحصائيات المجهولة",Al="عند التفعيل، لا يتم تحميل أي نصوص تحليلات (Google Analytics 4) ولا يتم إرسال أي بيانات.",Dl="عند تشغيل التحليلات، يتم إرسال ما يلي بشكل مجهول",wl="أحداث المهام: إنشاء، إكمال، فشل، إيقاف، حذف",Ml="نوع المهمة ووضع التوليد (مثل: فيديو بسيط/t2v، فيديو إبداعي)",Hl="إجراءات الواجهة والإعدادات: تبديل نوع المهمة، اختيار النماذج، حفظ/مسح مفاتيح API، النطاق، تبديل العلامة المائية (يتم تسجيل الإجراء فقط، وليس المفتاح نفسه)",Il="ملخص أخطاء الواجهة الأمامية: رسالة الخطأ (مقتطعة إلى 500 حرف)",Ll="لن يتم رفع ما يلي أبدًا بغض النظر عن حالة المفتاح",El="المحتوى الإبداعي مثل المطالبات والمخطوطات والنصوص الشعرية؛ مفاتيح API؛ الصور المرجعية. يتم استبدال جميع حقول المحتوى بعلامة <redacted> قبل الإرسال، ويتم اقتطاع النصوص الطويلة تلقائيًا، ولا يدخل شيء إلى نظام التحليلات.",Fl="الإحصائيات مفعّلة",xl="الإحصائيات متوقفة",Kl="未设置域名",Nl="该 Key 尚未绑定域名,将回退到全局配置。建议为每个 Key 选择匹配的域名。",Vl="为该 Key 选择绑定域名(空=跟随全局)",Gl="跟随全局",Bl="Key 域名已保存",Ul="保存 Key 域名失败",Ol="自动探测域名",ql="探测中…",Wl="自动为每个 Key 探测并补写匹配的域名",_l="域名探测完成,已更新",zl="探测正在进行或触发过于频繁,请稍候再试",Ql="域名探测失败",Yl="⭐ امنح نجمة لمشروع Flint الجديد",jl="ادعم مدير المهارات الجديد للمؤلف",Jl="🪨 Flint · مدير المهارات",Xl={subtitle:e,apiKeyTitle:t,apiKeyNotConfigured:o,apiKeyConfigured:n,apiKeyPlaceholder:s,apiKeyMasked:c,save:a,clear:i,clearConfirm:r,apiKeyFromEnv:l,clearEnvHint:p,modelTitle:d,modelHint:m,modelTextLabel:u,modelImageLabel:f,modelVideoLabel:g,vmModelSelect:S,vmDiffTitle:b,vmColCapability:y,vmColPrice:P,vmColMode:v,vmColDuration:h,vmColResolution:C,vmColNegative:k,vmColRefVideo:R,vmTagPaid:T,vmTagFree:A,vmYes:D,vmNo:w,vmModelModesLabel:M,vmModelDurationsLabel:H,vmModelResLabel:I,vmModelNegativeLabel:L,vmModelRefImagesLabel:E,vmModelRefVideoLabel:F,vmModelNegativeUnsupported:x,vmRatioLabel:K,vmSizeLabel:N,vmRefImagesHint:V,vmNegativeDisabledPlaceholder:G,vmRatioHint:B,vm720pHint:U,modelSync:O,modelSyncIdle:q,modelSaved:W,modelBetaHint:_,modelBetaTag:z,modelTagText:Q,modelTagImage:Y,modelTagVideo:j,modelTextRequired:J,modelSyncFailed:X,modelSaveFailed:Z,workspaceTitle:$,workspaceNone:ee,workspaceActive:te,workspaceAdd:oe,workspacePathPlaceholder:ne,workspaceNamePlaceholder:se,workspaceActivate:ce,workspaceRemove:ae,workspaceActiveBadge:ie,workspaceCurrentActive:re,workspaceBrowse:le,workspaceDefault:pe,workspaceListTitle:de,workspaceListHint:me,workspaceRegressionHint:ue,workspaceRemoveConfirm:fe,tabCreate:ge,tabList:Se,watermarkTitle:be,watermarkPromo:ye,watermarkEnabled:Pe,watermarkDisabled:ve,ttSimple:he,ttCreative:Ce,ttManuscript:ke,subModeLabel:Re,subModeVideo:Te,subModeImage:Ae,simpleSettings:De,creativeSettings:we,manuscriptSettings:Me,promptLabel:He,promptPlaceholder:Ie,genMode:Le,modeT2v:Ee,modeI2v:Fe,modeKeyframesSimple:xe,duration:Ke,resolution:Ne,resPortrait:Ve,resLandscape:Ge,resSquare:Be,refImageSimple:Ue,endFrameImage:Oe,chooseImage:qe,notSelected:We,advancedSettings:_e,optional:ze,seedPlaceholder:Qe,negativePlaceholder:Ye,taskName:je,taskNamePlaceholder:Je,ideaLabel:Xe,ideaPlaceholder:Ze,visualStyle:$e,requirementDefault:et,styleDefault:tt,chainingMode:ot,modeKeyframes:nt,modeTi2vid:st,modeNone:ct,referenceImage:at,refDescription:it,customEndFrames:rt,enableCustomEndFrames:lt,genEndFramesFromRef:pt,endFrameDesc:dt,scene_:mt,addEndFrame:ut,audioConfig:ft,subtitleConfig:gt,enableNarration:St,enableSubtitle:bt,voiceRole:yt,speechRate:Pt,rateNormal:vt,selectVoice:ht,searchVoice:Ct,currentSelection:kt,confirmSelection:Rt,cancel:Tt,confirm:At,previewPlay:Dt,previewStop:wt,previewFailed:Mt,voiceCompatWarning:Ht,voiceGenderFemale:It,voiceGenderMale:Lt,voiceEmpty:Et,subtitleStyle:Ft,subFont:xt,subColor:Kt,subSize:Nt,subPosition:Vt,posBottom:Gt,posTop:Bt,subStrokeColor:Ut,subStrokeWidth:Ot,subBgColor:qt,subStyleMode:Wt,subStyleFixed:_t,subStyleLLM:zt,subStyleHints:Qt,subStyleHintsHint:Yt,manuscriptText:jt,manuscriptPlaceholder:Jt,charCount:Xt,startGenerate:Zt,submitting:$t,taskRunning:eo,loading:to,noTasks:oo,loadFailed:no,progress:so,stopTask:co,sStepSubmit:ao,sStepVideoGen:io,cStepInit:ro,cStepSceneConfig:lo,cStepImageAnalysis:po,cStepStory:mo,cStepCharacterRef:uo,cStepScript:fo,cStepEndFramePrompts:go,cStepEndFrameGen:So,cStepVideoGen:bo,cStepAudio:yo,cStepSubtitle:Po,cStepConcat:vo,mStepSplit:ho,mStepScenePrompts:Co,mStepVideoGen:ko,mStepAudio:Ro,mStepSubtitle:To,mStepConcat:Ao,videoComplete:Do,taskComplete:wo,taskId:Mo,dir:Ho,idea_:Io,sceneCount:Lo,chainingMode_:Eo,sceneConfig:Fo,durationSource:xo,sourceManual:Ko,sourcePrompt:No,sourceManualHint:Vo,sourcePromptHint:Go,durationMode:Bo,uniformDuration:Uo,independentDuration:Oo,seconds:qo,artifact:Wo,paragraphCount:_o,statusCompleted:zo,statusRunning:Qo,statusFailed:Yo,statusPending:jo,statusQueued:Jo,cpImageAnalysis:Xo,cpStory:Zo,cpScript:$o,cpCharacterRef:en,cpEndFramePrompts:tn,cpEndFrameGen:on,taskInfo:nn,tiIdea:sn,tiManuscript:cn,tiScript:an,tiAnchorPrompt:rn,tiPoem:ln,tiPrompt:pn,tiWidth:dn,tiHeight:mn,tiScenes:un,tiParagraphs:fn,tiChaining:gn,tiStyle:Sn,tiAudioSource:bn,tiMode:yn,tiDuration:Pn,pausePoints:vn,pausePointsHint:hn,cpScenes:Cn,cpReferences:kn,cpVideos:Rn,cpAudio:Tn,cpSubtitle:An,cpFinal:Dn,manualUnsupported:wn,modeSwitching:Mn,modeSwitched:Hn,failSwitchMode:In,switchToAuto:Ln,switchToManual:En,switchToAutoConfirm:Fn,switchToManualConfirm:xn,awaitingUser:Kn,awaitingUserTip:Nn,checkpointTitle:Vn,cpDone:Gn,cpPending:Bn,cpRunning:Un,howToHandle:On,handleAi:qn,handleAiDesc:Wn,handleSelf:_n,handleSelfDesc:zn,handleAgent:Qn,handleAgentDesc:Yn,handleAgentFlint:jn,aiModifyRequest:Jn,aiModifyRequestPlaceholder:Xn,aiModifyStart:Zn,aiModifyApplying:$n,aiModifyResult:es,applyAndContinue:ts,discard:os,selfEditPath:ns,selfEditSchemaHint:ss,selfEditAffected:cs,selfEditDone:as,agentCommand:is,agentPrompt:rs,agentDone:ls,agentMoreTools:ps,copy:ds,noEditableArtifact:ms,aiModifyFailed:us,failContinue:fs,continued:gs,failRegen:Ss,regenCurrent:bs,selfEditAffectedHint:ys,agentPromptTemplate:Ps,impactTitle:vs,impactRetained:hs,impactConfirm:Cs,impactCancel:ks,noAffected:Rs,paramUpdates:Ts,paramResolution:As,paramVoice:Ds,agentCommandLines:ws,statusAwaitingUser:Ms,progressBack:Hs,ppStages:Is,ppExpand:Ls,ppCollapse:Es,ppWaiting:Fs,btnView:xs,btnViewProgress:Ks,btnResume:Ns,btnStop:Vs,sceneUnit:Gs,paraUnit:Bs,typeSimple:Us,typeCreative:Os,typeManuscript:qs,typeImage:Ws,stopConfirm:_s,stopConfirmById:zs,stopped:Qs,stoppedById:Ys,enterApiKey:js,enterPrompt:Js,enterIdea:Xs,enterText:Zs,taskRunningWarn:$s,failCreate:ec,failResume:tc,failLoad:oc,failStop:nc,stopping:sc,submitted:cc,resumed:ac,watchLog:ic,task_:rc,genFailed:lc,genFailedMsg:pc,gotoResume:dc,connLost:mc,connLostMsg:uc,gotoList:fc,reconnecting:gc,ttAnchor:Sc,domainTitle:bc,domainHint:yc,domainComLabel:Pc,domainCnLabel:vc,domainCnBakLabel:hc,domainSaved:Cc,domainSaveFailed:kc,ttPoetry:Rc,poetrySettings:Tc,poemLabel:Ac,poemPlaceholder:Dc,poemHint:wc,scenePromptsOptional:Mc,scenePromptsPlaceholder:Hc,scenePromptsHint:Ic,scenePromptsExample:Lc,scenePromptTool:Ec,showPrompt:Fc,scenePromptToolHint:xc,copyPromptWithPoem:Kc,totalDuration:Nc,sceneCountAuto:Vc,poetrySubtitleFixed:Gc,pStepBuildScenes:Bc,pStepVideoGen:Uc,pStepAudio:Oc,pStepSubtitle:qc,pStepConcat:Wc,enterPoem:_c,ttImage:zc,imageSettings:Qc,imagePrompt:Yc,imagePromptPlaceholder:jc,imageSize:Jc,refImageHint:Xc,imgGenerate:Zc,imgComplete:$c,generating:ea,enterImagePrompt:ta,anchorSettings:oa,anchorPrompt:na,anchorPromptPlaceholder:sa,anchorRefImage:ca,anchorRefImageHint:aa,scriptText:ia,scriptTextPlaceholder:ra,resPortraitHD:la,subPositionHints:pa,subPositionHintsPlaceholder:da,typeAnchor:ma,audioSource:ua,audioPostStitch:fa,audioPostStitchDesc:ga,audioModel:Sa,audioModelDesc:ba,aStepGenerateAnchor:ya,aStepSplit:Pa,aStepClipPrompts:va,aStepClipGen:ha,aStepAudio:Ca,aStepSubtitle:ka,aStepConcat:Ra,systemPrompt:Ta,systemPromptPlaceholder:Aa,artTitle:Da,artImageAnalysis:wa,artStory:Ma,artCharacterRef:Ha,artScript:Ia,artEndFramePrompts:La,artEndFrame:Ea,artVideo:Fa,artAudio:xa,artSubtitle:Ka,artFinalVideo:Na,artAnchorImage:Va,artClipPrompts:Ga,artClip:Ba,artParaVideo:Ua,artScenePrompts:Oa,deleteArtifactConfirm:qa,willDelete:Wa,willResetSteps:_a,artifactDeleted:za,artifactDeleteFailed:Qa,clickToPreview:Ya,taskStarting:ja,apiKeyGetLink:Ja,apiKeyGuideLink:Xa,apiKeyDemoLink:Za,formTipTips:$a,formTipModels:ei,exampleLinkSimple:ti,exampleLinkCreative:oi,exampleLinkManuscript:ni,exampleLinkAnchor:si,waitTip:ci,doneTipTiktok:ai,doneTipMore:ii,adSupportTitle:ri,adSupportDesc:li,adStar:pi,adStarDesc:di,adAdblock:mi,adAdblockDesc:ui,adClick:fi,adClickDesc:gi,adThanks:Si,moreResources:bi,projectHome:yi,onlineDemo:Pi,usageGuide:vi,faqTitle:hi,apiDocs:Ci,appScenarios:ki,quickLinks:Ri,promptTips:Ti,modelOverview:Ai,apiCall:Di,rateSlow:wi,rateFast:Mi,ratePoem:Hi,resLandscapeHD:Ii,resPortraitTall:Li,resLandscapeWide:Ei,voiceDefaultDesc:Fi,networkError:xi,copied:Ki,expand:Ni,collapse:Vi,refresh:Gi,close:Bi,typePoetry:Ui,subStyleHintsPlaceholder:Oi,addKey:qi,apiKeyAppendPlaceholder:Wi,deleteTask:_i,deleteTaskConfirm:zi,deletedTask:Qi,execMode:Yi,execAuto:ji,execManual:Ji,execModeHint:Xi,failDelete:Zi,failRemoveKey:$i,keyCountLabel:er,keySrcEnv:tr,keySrcConfig:or,keySrcEnvHint:nr,keyStillActive:sr,multiKeyActive:cr,removeKeyBtn:ar,removeKeyConfirm:ir,removedKey:rr,sceneRefDesc:lr,sceneReferenceImages:pr,artifactSaveFailed:dr,artifactSaved:mr,compare:ur,continueNoChange:fr,continueNoChangeHint:gr,editArtifactHint:Sr,editModalTitle:br,editOpen:yr,editPlaceholder:Pr,editSave:vr,goHome:hr,handleEdit:Cr,handleEditDesc:kr,modelPaidHint:Rr,modelPaidTag:Tr,noEditableText:Ar,originalContent:Dr,resuming:wr,langSwitch:Mr,continueConfirm:Hr,continueToApply:Ir,statusNeedsResume:Lr,resumeTaskBtn:Er,taskNotRunning:Fr,taskNotRunningHint:xr,editTextOnly:Kr,fbRetryHint:Nr,fbRetryBtn:Vr,fbRetriedN:Gr,fbCollapsedHint:Br,fbExpandedHint:Ur,fbDeterministicHint:Or,fbDiagTitle:qr,fbCopy:Wr,fbCopied:_r,fbFaq:zr,fbGithub:Qr,fbPrivacyHint:Yr,fbUrlTooLong:jr,fbDiagLoading:Jr,fbCopyFailed:Xr,fbRepTitle:Zr,fbRepAppVersion:$r,fbRepTaskId:el,fbRepTaskType:tl,fbRepMode:ol,fbRepFailedStep:nl,fbRepRetryCount:sl,fbRepConfigs:cl,fbRepEnv:al,fbRepUnknown:il,fbRepErrorTitle:rl,fbRepTraceback:ll,fbRepReproSteps:pl,fbRepReproHint:dl,fbRepExpected:ml,fbRepExpectedHint:ul,fbRepTruncated:fl,fbRepIssueTitleStep:gl,fbRepIssueTitleNoStep:Sl,fbRepErrHeading:bl,fbRepErrTime:yl,fbRepErrModel:Pl,fbRepErrApi:vl,fbRepErrType:hl,fbRepErrStatusCode:Cl,fbRepErrInfo:kl,privacyTitle:Rl,gaOptOutLabel:Tl,gaOptOutHint:Al,gaReportTitle:Dl,gaReportItem1:wl,gaReportItem2:Ml,gaReportItem3:Hl,gaReportItem4:Il,gaNeverUploadTitle:Ll,gaNeverUploadText:El,gaStatOn:Fl,gaStatOff:xl,keyDomainNotSet:Kl,keyDomainNotSetHint:Nl,keyDomainSelectTitle:Vl,keyDomainAuto:Gl,keyDomainSaved:Bl,failSaveKeyDomain:Ul,detectKeysBtn:Ol,detectKeysRunning:ql,detectKeysHint:Wl,detectKeysDone:_l,detectKeysBusy:zl,failDetectKeys:Ql,adSkewStar:Yl,adSkewStarDesc:jl,flintLinkLabel:Jl};export{Ca as aStepAudio,ha as aStepClipGen,va as aStepClipPrompts,Ra as aStepConcat,ya as aStepGenerateAnchor,Pa as aStepSplit,ka as aStepSubtitle,mi as adAdblock,ui as adAdblockDesc,fi as adClick,gi as adClickDesc,Yl as adSkewStar,jl as adSkewStarDesc,pi as adStar,di as adStarDesc,li as adSupportDesc,ri as adSupportTitle,Si as adThanks,ut as addEndFrame,qi as addKey,_e as advancedSettings,is as agentCommand,ws as agentCommandLines,ls as agentDone,ps as agentMoreTools,rs as agentPrompt,Ps as agentPromptTemplate,$n as aiModifyApplying,us as aiModifyFailed,Jn as aiModifyRequest,Xn as aiModifyRequestPlaceholder,es as aiModifyResult,Zn as aiModifyStart,na as anchorPrompt,sa as anchorPromptPlaceholder,ca as anchorRefImage,aa as anchorRefImageHint,oa as anchorSettings,Di as apiCall,Ci as apiDocs,Wi as apiKeyAppendPlaceholder,n as apiKeyConfigured,Za as apiKeyDemoLink,l as apiKeyFromEnv,Ja as apiKeyGetLink,Xa as apiKeyGuideLink,c as apiKeyMasked,o as apiKeyNotConfigured,s as apiKeyPlaceholder,t as apiKeyTitle,ki as appScenarios,ts as applyAndContinue,Va as artAnchorImage,xa as artAudio,Ha as artCharacterRef,Ba as artClip,Ga as artClipPrompts,Ea as artEndFrame,La as artEndFramePrompts,Na as artFinalVideo,wa as artImageAnalysis,Ua as artParaVideo,Oa as artScenePrompts,Ia as artScript,Ma as artStory,Ka as artSubtitle,Da as artTitle,Fa as artVideo,Wo as artifact,Qa as artifactDeleteFailed,za as artifactDeleted,dr as artifactSaveFailed,mr as artifactSaved,ft as audioConfig,Sa as audioModel,ba as audioModelDesc,fa as audioPostStitch,ga as audioPostStitchDesc,ua as audioSource,Kn as awaitingUser,Nn as awaitingUserTip,Ns as btnResume,Vs as btnStop,xs as btnView,Ks as btnViewProgress,yo as cStepAudio,uo as cStepCharacterRef,vo as cStepConcat,So as cStepEndFrameGen,go as cStepEndFramePrompts,po as cStepImageAnalysis,ro as cStepInit,lo as cStepSceneConfig,fo as cStepScript,mo as cStepStory,Po as cStepSubtitle,bo as cStepVideoGen,Tt as cancel,ot as chainingMode,Eo as chainingMode_,Xt as charCount,Vn as checkpointTitle,qe as chooseImage,i as clear,r as clearConfirm,p as clearEnvHint,Ya as clickToPreview,Bi as close,Vi as collapse,ur as compare,At as confirm,Rt as confirmSelection,mc as connLost,uc as connLostMsg,Hr as continueConfirm,fr as continueNoChange,gr as continueNoChangeHint,Ir as continueToApply,gs as continued,Ki as copied,ds as copy,Kc as copyPromptWithPoem,Tn as cpAudio,en as cpCharacterRef,Gn as cpDone,on as cpEndFrameGen,tn as cpEndFramePrompts,Dn as cpFinal,Xo as cpImageAnalysis,Bn as cpPending,kn as cpReferences,Un as cpRunning,Cn as cpScenes,$o as cpScript,Zo as cpStory,An as cpSubtitle,Rn as cpVideos,we as creativeSettings,kt as currentSelection,rt as customEndFrames,Xl as default,qa as deleteArtifactConfirm,_i as deleteTask,zi as deleteTaskConfirm,Qi as deletedTask,Ol as detectKeysBtn,zl as detectKeysBusy,_l as detectKeysDone,Wl as detectKeysHint,ql as detectKeysRunning,Ho as dir,os as discard,hc as domainCnBakLabel,vc as domainCnLabel,Pc as domainComLabel,yc as domainHint,kc as domainSaveFailed,Cc as domainSaved,bc as domainTitle,ii as doneTipMore,ai as doneTipTiktok,Ke as duration,Bo as durationMode,xo as durationSource,Sr as editArtifactHint,br as editModalTitle,yr as editOpen,Pr as editPlaceholder,vr as editSave,Kr as editTextOnly,lt as enableCustomEndFrames,St as enableNarration,bt as enableSubtitle,dt as endFrameDesc,Oe as endFrameImage,js as enterApiKey,Xs as enterIdea,ta as enterImagePrompt,_c as enterPoem,Js as enterPrompt,Zs as enterText,si as exampleLinkAnchor,oi as exampleLinkCreative,ni as exampleLinkManuscript,ti as exampleLinkSimple,ji as execAuto,Ji as execManual,Yi as execMode,Xi as execModeHint,Ni as expand,fs as failContinue,ec as failCreate,Zi as failDelete,Ql as failDetectKeys,oc as failLoad,Ss as failRegen,$i as failRemoveKey,tc as failResume,Ul as failSaveKeyDomain,nc as failStop,In as failSwitchMode,hi as faqTitle,Br as fbCollapsedHint,_r as fbCopied,Wr as fbCopy,Xr as fbCopyFailed,Or as fbDeterministicHint,Jr as fbDiagLoading,qr as fbDiagTitle,Ur as fbExpandedHint,zr as fbFaq,Qr as fbGithub,Yr as fbPrivacyHint,$r as fbRepAppVersion,cl as fbRepConfigs,al as fbRepEnv,vl as fbRepErrApi,bl as fbRepErrHeading,kl as fbRepErrInfo,Pl as fbRepErrModel,Cl as fbRepErrStatusCode,yl as fbRepErrTime,hl as fbRepErrType,rl as fbRepErrorTitle,ml as fbRepExpected,ul as fbRepExpectedHint,nl as fbRepFailedStep,Sl as fbRepIssueTitleNoStep,gl as fbRepIssueTitleStep,ol as fbRepMode,dl as fbRepReproHint,pl as fbRepReproSteps,sl as fbRepRetryCount,el as fbRepTaskId,tl as fbRepTaskType,Zr as fbRepTitle,ll as fbRepTraceback,fl as fbRepTruncated,il as fbRepUnknown,Gr as fbRetriedN,Vr as fbRetryBtn,Nr as fbRetryHint,jr as fbUrlTooLong,Jl as flintLinkLabel,ei as formTipModels,$a as formTipTips,El as gaNeverUploadText,Ll as gaNeverUploadTitle,Al as gaOptOutHint,Tl as gaOptOutLabel,wl as gaReportItem1,Ml as gaReportItem2,Hl as gaReportItem3,Il as gaReportItem4,Dl as gaReportTitle,xl as gaStatOff,Fl as gaStatOn,pt as genEndFramesFromRef,lc as genFailed,pc as genFailedMsg,Le as genMode,ea as generating,hr as goHome,fc as gotoList,dc as gotoResume,Qn as handleAgent,Yn as handleAgentDesc,jn as handleAgentFlint,qn as handleAi,Wn as handleAiDesc,Cr as handleEdit,kr as handleEditDesc,_n as handleSelf,zn as handleSelfDesc,On as howToHandle,Xe as ideaLabel,Ze as ideaPlaceholder,Io as idea_,Yc as imagePrompt,jc as imagePromptPlaceholder,Qc as imageSettings,Jc as imageSize,$c as imgComplete,Zc as imgGenerate,ks as impactCancel,Cs as impactConfirm,hs as impactRetained,vs as impactTitle,Oo as independentDuration,er as keyCountLabel,Gl as keyDomainAuto,Kl as keyDomainNotSet,Nl as keyDomainNotSetHint,Bl as keyDomainSaved,Vl as keyDomainSelectTitle,or as keySrcConfig,tr as keySrcEnv,nr as keySrcEnvHint,sr as keyStillActive,Mr as langSwitch,no as loadFailed,to as loading,Ro as mStepAudio,Ao as mStepConcat,Co as mStepScenePrompts,ho as mStepSplit,To as mStepSubtitle,ko as mStepVideoGen,wn as manualUnsupported,Jt as manuscriptPlaceholder,Me as manuscriptSettings,jt as manuscriptText,Fe as modeI2v,nt as modeKeyframes,xe as modeKeyframesSimple,ct as modeNone,Hn as modeSwitched,Mn as modeSwitching,Ee as modeT2v,st as modeTi2vid,_ as modelBetaHint,z as modelBetaTag,m as modelHint,f as modelImageLabel,Ai as modelOverview,Rr as modelPaidHint,Tr as modelPaidTag,Z as modelSaveFailed,W as modelSaved,O as modelSync,X as modelSyncFailed,q as modelSyncIdle,Y as modelTagImage,Q as modelTagText,j as modelTagVideo,u as modelTextLabel,J as modelTextRequired,d as modelTitle,g as modelVideoLabel,bi as moreResources,cr as multiKeyActive,Ye as negativePlaceholder,xi as networkError,Rs as noAffected,ms as noEditableArtifact,Ar as noEditableText,oo as noTasks,We as notSelected,Pi as onlineDemo,ze as optional,Dr as originalContent,Oc as pStepAudio,Bc as pStepBuildScenes,Wc as pStepConcat,qc as pStepSubtitle,Uc as pStepVideoGen,Bs as paraUnit,_o as paragraphCount,As as paramResolution,Ts as paramUpdates,Ds as paramVoice,vn as pausePoints,hn as pausePointsHint,wc as poemHint,Ac as poemLabel,Dc as poemPlaceholder,Tc as poetrySettings,Gc as poetrySubtitleFixed,Gt as posBottom,Bt as posTop,Es as ppCollapse,Ls as ppExpand,Is as ppStages,Fs as ppWaiting,Mt as previewFailed,Dt as previewPlay,wt as previewStop,Rl as privacyTitle,so as progress,Hs as progressBack,yi as projectHome,He as promptLabel,Ie as promptPlaceholder,Ti as promptTips,Ri as quickLinks,Mi as rateFast,vt as rateNormal,Hi as ratePoem,wi as rateSlow,gc as reconnecting,it as refDescription,Xc as refImageHint,Ue as refImageSimple,at as referenceImage,Gi as refresh,bs as regenCurrent,ar as removeKeyBtn,ir as removeKeyConfirm,rr as removedKey,et as requirementDefault,Ge as resLandscape,Ii as resLandscapeHD,Ei as resLandscapeWide,Ve as resPortrait,la as resPortraitHD,Li as resPortraitTall,Be as resSquare,Ne as resolution,Er as resumeTaskBtn,ac as resumed,wr as resuming,ao as sStepSubmit,io as sStepVideoGen,a as save,Fo as sceneConfig,Lo as sceneCount,Vc as sceneCountAuto,Ec as scenePromptTool,xc as scenePromptToolHint,Lc as scenePromptsExample,Ic as scenePromptsHint,Mc as scenePromptsOptional,Hc as scenePromptsPlaceholder,lr as sceneRefDesc,pr as sceneReferenceImages,Gs as sceneUnit,mt as scene_,ia as scriptText,ra as scriptTextPlaceholder,Ct as searchVoice,qo as seconds,Qe as seedPlaceholder,ht as selectVoice,cs as selfEditAffected,ys as selfEditAffectedHint,as as selfEditDone,ns as selfEditPath,ss as selfEditSchemaHint,Fc as showPrompt,De as simpleSettings,Ko as sourceManual,Vo as sourceManualHint,No as sourcePrompt,Go as sourcePromptHint,Pt as speechRate,Zt as startGenerate,Ms as statusAwaitingUser,zo as statusCompleted,Yo as statusFailed,Lr as statusNeedsResume,jo as statusPending,Jo as statusQueued,Qo as statusRunning,_s as stopConfirm,zs as stopConfirmById,co as stopTask,Qs as stopped,Ys as stoppedById,sc as stopping,tt as styleDefault,qt as subBgColor,Kt as subColor,xt as subFont,Ae as subModeImage,Re as subModeLabel,Te as subModeVideo,Vt as subPosition,pa as subPositionHints,da as subPositionHintsPlaceholder,Nt as subSize,Ut as subStrokeColor,Ot as subStrokeWidth,_t as subStyleFixed,Qt as subStyleHints,Yt as subStyleHintsHint,Oi as subStyleHintsPlaceholder,zt as subStyleLLM,Wt as subStyleMode,cc as submitted,$t as submitting,e as subtitle,gt as subtitleConfig,Ft as subtitleStyle,Ln as switchToAuto,Fn as switchToAutoConfirm,En as switchToManual,xn as switchToManualConfirm,Ta as systemPrompt,Aa as systemPromptPlaceholder,ge as tabCreate,Se as tabList,wo as taskComplete,Mo as taskId,nn as taskInfo,je as taskName,Je as taskNamePlaceholder,Fr as taskNotRunning,xr as taskNotRunningHint,eo as taskRunning,$s as taskRunningWarn,ja as taskStarting,rc as task_,rn as tiAnchorPrompt,bn as tiAudioSource,gn as tiChaining,Pn as tiDuration,mn as tiHeight,sn as tiIdea,cn as tiManuscript,yn as tiMode,fn as tiParagraphs,ln as tiPoem,pn as tiPrompt,un as tiScenes,an as tiScript,Sn as tiStyle,dn as tiWidth,Nc as totalDuration,Sc as ttAnchor,Ce as ttCreative,zc as ttImage,ke as ttManuscript,Rc as ttPoetry,he as ttSimple,ma as typeAnchor,Os as typeCreative,Ws as typeImage,qs as typeManuscript,Ui as typePoetry,Us as typeSimple,Uo as uniformDuration,vi as usageGuide,Do as videoComplete,$e as visualStyle,U as vm720pHint,y as vmColCapability,h as vmColDuration,v as vmColMode,k as vmColNegative,P as vmColPrice,R as vmColRefVideo,C as vmColResolution,b as vmDiffTitle,H as vmModelDurationsLabel,M as vmModelModesLabel,L as vmModelNegativeLabel,x as vmModelNegativeUnsupported,E as vmModelRefImagesLabel,F as vmModelRefVideoLabel,I as vmModelResLabel,S as vmModelSelect,G as vmNegativeDisabledPlaceholder,w as vmNo,B as vmRatioHint,K as vmRatioLabel,V as vmRefImagesHint,N as vmSizeLabel,A as vmTagFree,T as vmTagPaid,D as vmYes,Ht as voiceCompatWarning,Fi as voiceDefaultDesc,Et as voiceEmpty,It as voiceGenderFemale,Lt as voiceGenderMale,yt as voiceRole,ci as waitTip,ic as watchLog,ve as watermarkDisabled,Pe as watermarkEnabled,ye as watermarkPromo,be as watermarkTitle,Wa as willDelete,_a as willResetSteps,ce as workspaceActivate,te as workspaceActive,ie as workspaceActiveBadge,oe as workspaceAdd,le as workspaceBrowse,re as workspaceCurrentActive,pe as workspaceDefault,me as workspaceListHint,de as workspaceListTitle,se as workspaceNamePlaceholder,ee as workspaceNone,ne as workspacePathPlaceholder,ue as workspaceRegressionHint,ae as workspaceRemove,fe as workspaceRemoveConfirm,$ as workspaceTitle};