AI 生成: 一个基于 AI 的全自动短视频生成工具,输入主题即可自动生成脚本、配音、字幕和合成视频。使用 Python + Flask 提供 Web 界面,支持命令行模式。

This commit is contained in:
eeuse
2026-09-28 22:31:39 +08:00
commit 751c99a865
12 changed files with 570 additions and 0 deletions
+46
View File
@@ -0,0 +1,46 @@
const btn = document.getElementById('btn');
const statusEl = document.getElementById('status');
const resultEl = document.getElementById('result');
const videoEl = document.getElementById('video');
const downloadEl = document.getElementById('download');
const scriptEl = document.getElementById('script');
btn.addEventListener('click', async () => {
const topic = document.getElementById('topic').value.trim();
const scenes = parseInt(document.getElementById('scenes').value, 10) || 5;
const rate = parseInt(document.getElementById('rate').value, 10) || 160;
if (!topic) {
statusEl.textContent = '请填写主题';
return;
}
btn.disabled = true;
resultEl.classList.add('hidden');
statusEl.textContent = '生成中,请稍候(可能需要 1-3 分钟)...';
try {
const res = await fetch('/api/generate', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({ topic, scenes, rate }),
});
const data = await res.json();
if (!data.ok) throw new Error(data.error || '生成失败');
statusEl.textContent = '完成!';
videoEl.src = '/' + data.video;
downloadEl.href = '/' + data.video;
scriptEl.innerHTML = '';
data.script.forEach((s) => {
const li = document.createElement('li');
li.textContent = s.text;
scriptEl.appendChild(li);
});
resultEl.classList.remove('hidden');
} catch (e) {
statusEl.textContent = '错误:' + e.message;
} finally {
btn.disabled = false;
}
});