🧑 角色库
角色
场景
{{ ch.name || '未命名' }}✕
♂ 男
♀ 女
⚧ 中性
{{ opt.label }}
{{ opt.label }}
{{ opt.label }}
{{ opt.label }}
{{ opt.label }}
{{ opt.label }}
{{ ft.label }}
{{ opt.label }}
🔧 高级设置
还没有角色,点击右上角「+ 新建角色」开始
🌄 场景库
角色
场景
{{ sc.name || '未命名' }}✕
{{ opt.label }}
{{ opt.label }}
{{ w.label }}
{{ opt.label }}
{{ opt.label }}
{{ opt.label }}
🔧 高级设置
还没有场景,点击右上角「+ 新建场景」开始
🎬 镜头序列
可视编辑
文本编辑
🎬 {{ filteredShots.length }} 个镜头
✏️ {{ filteredShots.filter(s => s.editMode === 'text').length }} 文本
🖼️ {{ filteredShots.filter(s => s.startFrameFileId).length }} 含参考图
👉 {{ selectedShotId ? '#' + (shots.indexOf(currentShot) + 1) : '未选中' }}
#{{ i + 1 }}
{{ shotTypeLabel(st.shotType) || '?' }}
🎬 {{ st.actionCn.substring(0, 24) }}{{ st.actionCn.length > 24 ? '…' : '' }}
⏸ 无动作描述
{{ shotEditMode(st) === 'text' ? '📝 文本' : '🎚️ 可视' }}
镜头 #{{ shots.indexOf(currentShot) + 1 }} 编辑
📐 镜头基础
开
关
📍 空间与构图
偏左
居中
偏右
左三分线
右三分线
极左
极右
正对镜头
左侧对
右侧对
背对镜头
四分之三侧
贴近背景
中等距离
远离背景
左侧留白
右侧留白
上方留白
无留白
🎬 媒体参考 (视频 0~3 个,2-15s/个;音频 0~3 个,2-15s/个;各自总时长≤15s)
{{ vr.duration ? vr.duration.toFixed(1)+'s' : '--' }}
{{ ar.duration ? ar.duration.toFixed(1)+'s' : '--' }}
🎭 角色调度
{{ ch.name || '未命名' }}
角色库为空,先去创建角色
场景库为空,先去创建场景
还没有台词,点击「+ 添加台词」开始
💡 光效
前方平光
侧光
侧逆光
逆光
顶光
底光
柔光箱
窗光
暖色
冷色
中性
混合
无
正面补光
侧补光
反光板
无
轮廓光
背景染色
聚光斑
🌦️ 环境覆写 (可选,覆盖场景库的天气/时间)
{{ opt.label }}
{{ opt.label }}
镜头 #{{ shots.indexOf(currentShot) + 1 }} 提示词
直接编辑完整提示词,修改将覆盖自动组装的结果
🎬 媒体参考 (视频 0~3 个,2-15s/个;音频 0~3 个,2-15s/个;各自总时长≤15s)
{{ vr.duration ? vr.duration.toFixed(1)+'s' : '--' }}
{{ ar.duration ? ar.duration.toFixed(1)+'s' : '--' }}
🖼️ 参考图 ({{ allRefCount() }}/9)
⠿
参考图库
✕ 收起
暂无图片,请先上传
📸 临时形象图 (不入资产库,仅当前镜头使用)
还没有镜头,点击右上角「+ 新建镜头」开始
提示:先在角色库和场景库中创建内容,镜头可以引用它们
🖼️ 图片/音频生成
最多可选 5 张参考图
加载中...
{{ imageGenSize() }}
开
关
⚠️ 请先在全局设置中配置图片生成 Webhook URL
✅ 生成结果
📋 生成记录
暂无记录
| # | 状态 | 提示词 | 参数 | 结果 | 时间 |
|---|---|---|---|---|---|
| {{ t.id }} | {{ statusLabel(t.status) }} | {{ t.prompt || '-' }} |
{{ t.params ? (JSON.parse(t.params).size || '') : '' }}
|
|
{{ t.created_at }} |
共 {{ imageGenTasksTotal }} 条
{{ imageGenTasksPage }}
🎵 音频生成
⚠️ 请先在全局设置中配置音频生成 Webhook URL
✅ 生成结果
#{{ i+1 }}
⬇ 下载
📋 生成记录
暂无记录
| # | 状态 | 提示词 | 参数 | 结果 | 时间 |
|---|---|---|---|---|---|
| {{ t.id }} | {{ statusLabel(t.status) }} | {{ t.prompt || '-' }} |
⏱ {{ JSON.parse(t.params).duration_seconds || '?' }}s
📝 {{ JSON.parse(t.params).lyrics.substring(0,30) }}{{ JSON.parse(t.params).lyrics.length > 30 ? '…' : '' }}
|
🎵 已生成 {{ t.error_message || '失败' }} - | {{ t.created_at }} |
共 {{ audioGenTasksTotal }} 条
{{ audioGenTasksPage }}
⚙️ 全局设置
🖥 横屏 16:9
📱 竖屏 9:16
⬜ 方形 1:1
📺 4:3
📱 3:4
🎬 超宽 21:9
🇨🇳 中文
🇬🇧 英文
开
关
👥 用户管理
新建用户
| ID | 用户名 | 显示名称 | 角色 | 状态 | 创建时间 | 操作 |
|---|---|---|---|---|---|---|
| {{ u.id }} | {{ u.username }} | {{ u.display_name || '-' }} | {{ u.is_active ? '正常' : '已禁用' }} | {{ u.created_at }} |
暂无用户数据
📋 任务列表
全部 {{ tasks.length }}
⏳ 进行中 {{ tasks.filter(t => t.status === 'pending' || t.status === 'running').length }}
✅ 已完成 {{ tasks.filter(t => t.status === 'completed').length }}
❌ 失败 {{ tasks.filter(t => t.status === 'failed').length }}
| #{{ sortIcon('id') }} | 状态{{ sortIcon('status') }} | 项目{{ sortIcon('project_name') }} | 镜头{{ sortIcon('shot_index') }} | 时间{{ sortIcon('created_at') }} | 操作 |
|---|---|---|---|---|---|
| {{ t.id }} | {{ statusLabel(t.status) }} | {{ t.project_name || '-' }} | 🎬 合成镜头 #{{ t.shot_index }} | {{ t.created_at }} |
暂无任务记录。提交镜头后将自动创建。
🎬 生成结果 (Take)
🎬 镜头 #{{ g.shotIndex + 1 }}
⭐ 最佳 Take
✅
❌
⏳
{{ t.created_at }}
✏️ 提示词生成结果
🎬 镜头 #{{ g.shotIndex + 1 }}
{{ formatPromptOutput(s) }}
✏️ 提示词审阅
已提交 {{ batchCompletedCount() }}/{{ batchPrompts.length }}
⏳ 正在调用 AI 生成提示词...
这可能需要 10-30 秒,请稍候
❌ 提示词生成失败:{{ promptGenError }}
🎬 镜头 #{{ pdata.shotIndex + 1 }}
⏳ 待提交
🟡 排队中
🔵 生成中
✅ 已完成
❌ 失败
没有可审阅的提示词。
请在「预览并提交」中选择镜头后点击「✏️ 生成提示词」。