{{ t.heroEyebrow }}
{{ t.heroTitle }}
{{ t.heroLead }}
{{ heroItem.title }}
{{ k.value }}
{{ k.label }}
{{ k.sub }}
{{ t.whyTitle }}
| ComfyUI | {{ t.comfyN }} | ReelFlow | |
|---|---|---|---|
| {{ row[0] }} | {{ c[0] }}{{ c.slice(1) }}{{ c }} |
{{ t.matrixNote }}
{{ t.featuresTitle }}
{{ f.title }}
{{ f.body }}
- {{ b }}
{{ t.archTitle }}
{{ t.comfyTitle }}
{{ t.comfyLead }}
{{ t['vs_' + hd.id][0] }}
{{ fmt(hd.ratio, 2) }}×
{{ t['vs_' + hd.id][1] }}
{{ t['vs_' + hd.id][2] }}
{{ t.comfyNote }}
{{ t.extTitle }}
{{ t.extLead }}
{{ m.tag }}{{ m.stateText }}
{{ m.name }}
{{ m.desc }}
{{ m.adapter }}
⇢
{{ t.extCore }}
✓ {{ c }}
{{ i + 1 }}
{{ st[0] }}
{{ st[1] }}
{{ t.futureTitle }}
BoNsai
{{ t.futureBody }}
- {{ b }}
{{ t.futureNote }}
▶ ReelFlow
{{ t.adminOnly }}
{{ mode === 'online' ? t.onlineHint : t.batchHint }}
{{ w.label[lang] }}
{{ wf.desc[lang] }}
{{ t.myJobs }}
{{ terminal(row.status) ? '—' : '···' }}
{{ cleanPrompt(row.first_prompt) }}
{{ jobSummary.total }}{{ t.totalTime }}
{{ jobSummary.gpus }}{{ t.gpusUsed }}
{{ jobSummary.gpuTime }}{{ t.gpuTime }}
{{ jobSummary.parallel }}{{ t.parallelism }}
{{ job.outputs.length }}{{ t.outputs }}
{{ t.waterfall }} {{ t.waterfallHint }}
{{ t.outputs }}
{{ terminal(job.status) ? t.noOutputs : t.waitingOutputs }}
{{ t.tasks }}
{{ t.promptsTitle }}
- {{ p }}
{{ t.engineStats }}
{{ JSON.stringify(job.stats, null, 1) }}
{{ sysOnline }}/{{ (sys.gpus || []).length }}
{{ t.gpusOnline }}
{{ sysBusy }}
{{ t.workersBusy }}
{{ (sys.task_counts || {}).PENDING || 0 }}
{{ t.queued }}
{{ (sys.task_counts || {}).DISPATCHED || 0 }}
{{ t.running }}
{{ (sys.task_counts || {}).DONE || 0 }}
{{ t.done }}
{{ (sys.task_counts || {}).FAILED || 0 }}
{{ t.failed }}
{{ t.gpuPool }}
GPU {{ row.gpu.index }}{{ row.gpu.name }}
{{ workerState(row) }}
{{ t.util }}{{ fmt(row.gpu.util_pct, 0) }}%
{{ t.mem }}{{ fmt(row.gpu.mem_used_mib / 1024, 0) }}/{{ fmt(row.gpu.mem_total_mib / 1024, 0) }} GB
{{ t.worker }} {{ row.worker.id }} · {{ row.worker.alias }}
{{ t.noWorker }}
▶ {{ taskOwner[tk.task_id].tenant }} · {{ wfLabel(taskOwner[tk.task_id].workflow) }}{{ tk.task_id.slice(0, 13) }} · {{ dur(tk.started_ts, null) }}
{{ t.stop }}
{{ t.cached }}: {{ row.worker.cached_models.join(', ') }}
{{ t.remoteWorkers }}
{{ t.timeline }} {{ t.timelineHint }}
{{ t.tenants }}
{{ t.recentTasks }}
{{ t.showcaseEmpty }}
{{ scItem.title }}
{{ f.value }}{{ f.label }}
{{ t.prompt }}
{{ scItem.prompt }}
{{ k }}: {{ v }}
{{ scItem.note }}