DEMAND AI / {{ L('保存中…','Saving…') }} {{ L('已保存','Saved') }} {{ statusLabel }}
{{ L(`免费 ${freeRemaining}/${freeLimit}`, `Free ${freeRemaining}/${freeLimit}`) }}
{{ g.title }}
{{ e.label }}
{{ nodeTitle(n) }} · {{ n.data.duration }}s
{{ a.role || a.title }}
{{ L('点击选择角色','Pick characters') }}
{{ L('角色将作为参考图片传给视频模型','Used as reference images by the video model') }}
{{ L('上传产品图','Upload product image') }}
{{ L('连接到剧本节点后自动切换为广告模式','Switches the script to Ad mode when connected') }}
{{ typeLabel(n.data.videoType) }} {{ n.data.numSegments }} {{ L('段','shots') }} × {{ n.data.durationPer }}s {{ L('手动','Manual') }} {{ L('生成中','Working') }}
{{ L('角色','Characters') }}
{{ c.ref || '#'+(i+1) }} {{ c.name }}
{{ s.id }}{{ s.description || s.dialogue || s.prompt || '—' }}
…{{ L('共','total') }} {{ chainSegments(n).length }} {{ L('段','shots') }}
{{ n.data.manual ? L('在右侧的分镜节点里手动填写每段的画面描述与台词。','Fill each shot node on the right with its description and dialogue.') : L('连接文本 / 角色 / 产品图,然后点击生成剧本。AI 会写出连贯的多段分镜和台词。','Connect text / characters / product, then Generate. AI writes a coherent multi-shot script with dialogue.') }}
{{ taskLabel(n) }}
{{ n.data.description || L('(未填写画面描述)','(no description yet)') }}
{{ n.data.dialogue }}
{{ n.data.errorMsg }}
{{ n.data.progressText }}
{{ L('分镜','Shots') }}{{ chainVideos(n).length }} · {{ totalDuration(n) }}s · 720p 9:16
{{ L('预估费用','Est. cost') }}{{ priceDisplay }}
{{ L('状态','Status') }}{{ outputStatusLabel(n) }}
{{ L('下载成片','Download') }}
{{ L('双击画布 自由生成节点','Double-click to add a node') }} · Tab
{{ nodeTitle(panelNode) }}
{{ L('已下单,不可编辑','Ordered · read-only') }}
{{ (panelNode.data.text||'').length }}/500
{{ L('已选','Selected') }} {{ panelNode.data.avatars.length }} · {{ L('最多 2 个效果最佳','up to 2 works best') }}
{{ a.occupation || a.title }}
{{ L('上传中','Uploading') }} {{ L('已上传','Uploaded') }}
{{ L('支持 JPG / PNG / WebP,建议清晰的产品主体照。','JPG / PNG / WebP. A clear product shot works best.') }}
{{ vt.icon }} {{ L(vt.zh,vt.en) }}
{{ k }}
{{ d }}s
{{ c.ref || '#'+(i+1) }}
{{ panelNode.data.review }}
{{ L(`免费剧本剩余 ${freeRemaining}/${freeLimit}`, `${freeRemaining}/${freeLimit} free scripts left`) }}
{{ taskLabel(panelNode) }} {{ L('第','Shot') }} {{ panelNode.data.segId }} {{ L('段','') }}
{{ d }}s
{{ L('模型提示词(高级)','Model prompt (advanced)') }}
{{ Math.round(vp.k*100) }}%
{{ toast.msg }}