support pixabay
This commit is contained in:
@@ -320,15 +320,27 @@ if not config.app.get("hide_config", False):
|
||||
config.app[f"{llm_provider}_account_id"] = st_llm_account_id
|
||||
|
||||
with right_config_panel:
|
||||
pexels_api_keys = config.app.get("pexels_api_keys", [])
|
||||
if isinstance(pexels_api_keys, str):
|
||||
pexels_api_keys = [pexels_api_keys]
|
||||
pexels_api_key = ", ".join(pexels_api_keys)
|
||||
def get_keys_from_config(cfg_key):
|
||||
api_keys = config.app.get(cfg_key, [])
|
||||
if isinstance(api_keys, str):
|
||||
api_keys = [api_keys]
|
||||
api_key = ", ".join(api_keys)
|
||||
return api_key
|
||||
|
||||
|
||||
def save_keys_to_config(cfg_key, value):
|
||||
value = value.replace(" ", "")
|
||||
if value:
|
||||
config.app[cfg_key] = value.split(",")
|
||||
|
||||
|
||||
pexels_api_key = get_keys_from_config("pexels_api_keys")
|
||||
pexels_api_key = st.text_input(tr("Pexels API Key"), value=pexels_api_key, type="password")
|
||||
pexels_api_key = pexels_api_key.replace(" ", "")
|
||||
if pexels_api_key:
|
||||
config.app["pexels_api_keys"] = pexels_api_key.split(",")
|
||||
save_keys_to_config("pexels_api_keys", pexels_api_key)
|
||||
|
||||
pixabay_api_key = get_keys_from_config("pixabay_api_keys")
|
||||
pixabay_api_key = st.text_input(tr("Pixabay API Key"), value=pixabay_api_key, type="password")
|
||||
save_keys_to_config("pixabay_api_keys", pixabay_api_key)
|
||||
|
||||
panel = st.columns(3)
|
||||
left_panel = panel[0]
|
||||
@@ -392,16 +404,24 @@ with middle_panel:
|
||||
]
|
||||
video_sources = [
|
||||
(tr("Pexels"), "pexels"),
|
||||
(tr("Pixabay"), "pixabay"),
|
||||
(tr("Local file"), "local"),
|
||||
(tr("TikTok"), "douyin"),
|
||||
(tr("Bilibili"), "bilibili"),
|
||||
(tr("Xiaohongshu"), "xiaohongshu"),
|
||||
]
|
||||
|
||||
saved_video_source_name = config.app.get("video_source", "pexels")
|
||||
saved_video_source_index = [v[1] for v in video_sources].index(saved_video_source_name)
|
||||
|
||||
selected_index = st.selectbox(tr("Video Source"),
|
||||
options=range(len(video_sources)), # 使用索引作为内部选项值
|
||||
format_func=lambda x: video_sources[x][0] # 显示给用户的是标签
|
||||
options=range(len(video_sources)),
|
||||
format_func=lambda x: video_sources[x][0],
|
||||
index=saved_video_source_index
|
||||
)
|
||||
params.video_source = video_sources[selected_index][1]
|
||||
config.app["video_source"] = params.video_source
|
||||
|
||||
if params.video_source == 'local':
|
||||
_supported_types = FILE_TYPE_VIDEOS + FILE_TYPE_IMAGES
|
||||
uploaded_files = st.file_uploader("Upload Local Files",
|
||||
@@ -567,11 +587,21 @@ if start_button:
|
||||
scroll_to_bottom()
|
||||
st.stop()
|
||||
|
||||
if not config.app.get("pexels_api_keys", ""):
|
||||
if params.video_source not in ["pexels", "pixabay", "local"]:
|
||||
st.error(tr("Please Select a Valid Video Source"))
|
||||
scroll_to_bottom()
|
||||
st.stop()
|
||||
|
||||
if params.video_source == "pexels" and not config.app.get("pexels_api_keys", ""):
|
||||
st.error(tr("Please Enter the Pexels API Key"))
|
||||
scroll_to_bottom()
|
||||
st.stop()
|
||||
|
||||
if params.video_source == "pixabay" and not config.app.get("pixabay_api_keys", ""):
|
||||
st.error(tr("Please Enter the Pixabay API Key"))
|
||||
scroll_to_bottom()
|
||||
st.stop()
|
||||
|
||||
if uploaded_files:
|
||||
local_videos_dir = utils.storage_dir("local_videos", create=True)
|
||||
for file in uploaded_files:
|
||||
|
||||
@@ -53,7 +53,8 @@
|
||||
"Video Generation Failed": "Video Generierung fehlgeschlagen",
|
||||
"You can download the generated video from the following links": "Sie können das generierte Video über die folgenden Links herunterladen",
|
||||
"Basic Settings": "**Grunde Instellungen**",
|
||||
"Pexels API Key": "Pexels API Key (:red[Required] [Get API Key](https://www.pexels.com/api/))",
|
||||
"Pexels API Key": "Pexels API Key ([Get API Key](https://www.pexels.com/api/))",
|
||||
"Pixabay API Key": "Pixabay API Key ([Get API Key](https://pixabay.com/api/docs/#api_search_videos))",
|
||||
"Language": "Language",
|
||||
"LLM Provider": "LLM Provider",
|
||||
"API Key": "API Key (:red[Required])",
|
||||
@@ -61,6 +62,7 @@
|
||||
"Model Name": "Model Name",
|
||||
"Please Enter the LLM API Key": "Please Enter the **LLM API Key**",
|
||||
"Please Enter the Pexels API Key": "Please Enter the **Pexels API Key**",
|
||||
"Please Enter the Pixabay API Key": "Please Enter the **Pixabay API Key**",
|
||||
"Get Help": "If you need help, or have any questions, you can join discord for help: https://harryai.cc",
|
||||
"Video Source": "Video Source",
|
||||
"TikTok": "TikTok (TikTok support is coming soon)",
|
||||
|
||||
@@ -52,7 +52,8 @@
|
||||
"Video Generation Completed": "Video Generation Completed",
|
||||
"Video Generation Failed": "Video Generation Failed",
|
||||
"You can download the generated video from the following links": "You can download the generated video from the following links",
|
||||
"Pexels API Key": "Pexels API Key (:red[Required] [Get API Key](https://www.pexels.com/api/))",
|
||||
"Pexels API Key": "Pexels API Key ([Get API Key](https://www.pexels.com/api/))",
|
||||
"Pixabay API Key": "Pixabay API Key ([Get API Key](https://pixabay.com/api/docs/#api_search_videos))",
|
||||
"Basic Settings": "**Basic Settings** (:blue[Click to expand])",
|
||||
"Language": "Language",
|
||||
"LLM Provider": "LLM Provider",
|
||||
@@ -62,6 +63,7 @@
|
||||
"Model Name": "Model Name",
|
||||
"Please Enter the LLM API Key": "Please Enter the **LLM API Key**",
|
||||
"Please Enter the Pexels API Key": "Please Enter the **Pexels API Key**",
|
||||
"Please Enter the Pixabay API Key": "Please Enter the **Pixabay API Key**",
|
||||
"Get Help": "If you need help, or have any questions, you can join discord for help: https://harryai.cc",
|
||||
"Video Source": "Video Source",
|
||||
"TikTok": "TikTok (TikTok support is coming soon)",
|
||||
|
||||
@@ -52,7 +52,8 @@
|
||||
"Video Generation Completed": "Hoàn Tất Tạo Video",
|
||||
"Video Generation Failed": "Tạo Video Thất Bại",
|
||||
"You can download the generated video from the following links": "Bạn có thể tải video được tạo ra từ các liên kết sau",
|
||||
"Pexels API Key": "Khóa API Pexels (:red[Bắt Buộc] [Lấy Khóa API](https://www.pexels.com/api/))",
|
||||
"Pexels API Key": "Khóa API Pexels ([Lấy Khóa API](https://www.pexels.com/api/))",
|
||||
"Pixabay API Key": "Pixabay API Key ([Get API Key](https://pixabay.com/api/docs/#api_search_videos))",
|
||||
"Basic Settings": "**Cài Đặt Cơ Bản** (:blue[Nhấp để mở rộng])",
|
||||
"Language": "Ngôn Ngữ",
|
||||
"LLM Provider": "Nhà Cung Cấp LLM",
|
||||
@@ -62,6 +63,7 @@
|
||||
"Model Name": "Tên Mô Hình",
|
||||
"Please Enter the LLM API Key": "Vui lòng Nhập **Khóa API LLM**",
|
||||
"Please Enter the Pexels API Key": "Vui lòng Nhập **Khóa API Pexels**",
|
||||
"Please Enter the Pixabay API Key": "Vui lòng Nhập **Pixabay API Key**",
|
||||
"Get Help": "Nếu bạn cần giúp đỡ hoặc có bất kỳ câu hỏi nào, bạn có thể tham gia discord để được giúp đỡ: https://harryai.cc",
|
||||
"Video Source": "Video Source",
|
||||
"TikTok": "TikTok (TikTok support is coming soon)",
|
||||
|
||||
@@ -54,7 +54,8 @@
|
||||
"You can download the generated video from the following links": "你可以从以下链接下载生成的视频",
|
||||
"Basic Settings": "**基础设置** (:blue[点击展开])",
|
||||
"Language": "界面语言",
|
||||
"Pexels API Key": "Pexels API Key (:red[必填] [点击获取](https://www.pexels.com/api/))",
|
||||
"Pexels API Key": "Pexels API Key ([点击获取](https://www.pexels.com/api/))",
|
||||
"Pixabay API Key": "Pixabay API Key ([点击获取](https://pixabay.com/api/docs/#api_search_videos))",
|
||||
"LLM Provider": "大模型提供商",
|
||||
"API Key": "API Key (:red[必填,需要到大模型提供商的后台申请])",
|
||||
"Base Url": "Base Url (可选)",
|
||||
@@ -62,6 +63,7 @@
|
||||
"Model Name": "模型名称 (:blue[需要到大模型提供商的后台确认被授权的模型名称])",
|
||||
"Please Enter the LLM API Key": "请先填写大模型 **API Key**",
|
||||
"Please Enter the Pexels API Key": "请先填写 **Pexels API Key**",
|
||||
"Please Enter the Pixabay API Key": "请先填写 **Pixabay API Key**",
|
||||
"Get Help": "有任何问题或建议,可以加入 **微信群** 求助或讨论:https://harryai.cc",
|
||||
"Video Source": "视频来源",
|
||||
"TikTok": "抖音 (TikTok 支持中,敬请期待)",
|
||||
|
||||
Reference in New Issue
Block a user