diff --git a/.memory/worklog.json b/.memory/worklog.json index 6d1a3aa..8424868 100644 --- a/.memory/worklog.json +++ b/.memory/worklog.json @@ -1,11 +1,5 @@ { "entries": [ - { - "files_changed": 2, - "message": "Codex 会话活跃 · 最近命令:codex · 分支 main · 2 项未提交变更 · 最近提交:auto-save 2026-05-19 20:21 (~4)", - "ts": "2026-05-19T12:24:39Z", - "type": "session-heartbeat" - }, { "files_changed": 2, "hash": "00872db", @@ -3199,6 +3193,13 @@ "type": "session-end", "message": "Codex 会话结束 · 持续 0 秒 · 最近命令:codex · 分支 main · 1 项未提交变更 · 最近提交:fix: normalize media prompts and patent views", "files_changed": 1 + }, + { + "ts": "2026-05-25T10:16:59+08:00", + "type": "commit", + "message": "auto-save 2026-05-25 10:16 (~2)", + "hash": "04d80c1", + "files_changed": 2 } ] } diff --git a/web/app/page.tsx b/web/app/page.tsx index 52d2757..6a5baf3 100644 --- a/web/app/page.tsx +++ b/web/app/page.tsx @@ -2,7 +2,6 @@ import { useCallback, useEffect, useMemo, useRef, useState } from "react" import { - ArrowRight, ArrowUp, Clapperboard, Copy, @@ -15,7 +14,6 @@ import { Menu, Plus, RefreshCw, - Search, Sparkles, Upload, Wand2, @@ -47,86 +45,57 @@ type BusyTask = CreationMode | "job" | null type ModeConfig = { id: CreationMode label: string - short: string icon: LucideIcon - accent: string - active: string placeholder: string } type InspirationCard = { title: string - tag: string mode: CreationMode prompt: string - tone: string } const OUTPUT_MODES: ModeConfig[] = [ { id: "video", label: "视频", - short: "竖屏短片 / 产品动态", icon: Clapperboard, - accent: "text-cyan-200", - active: "border-cyan-300/60 bg-cyan-300/12 text-cyan-50", - placeholder: "做一条 15 秒 TikTok 竖屏视频,办公室午休场景,人物戴上 SKG 颈部按摩仪,镜头干净,突出日常放松和产品佩戴清楚。", + placeholder: "Seedance 2.0 全能参考,视频创意无限可能", }, { id: "image", label: "图片", - short: "营销图 / 首帧 / 产品场景", icon: ImageIcon, - accent: "text-emerald-200", - active: "border-emerald-300/60 bg-emerald-300/12 text-emerald-50", - placeholder: "生成一张 9:16 信息流营销图,SKG 颈部按摩仪佩戴清楚,真实办公室午休场景,画面干净,有高级感。", + placeholder: "生成一张 9:16 信息流营销图,SKG 颈部按摩仪佩戴清楚,真实办公室午休场景。", }, { id: "copy", label: "图文", - short: "标题 / 脚本 / caption", icon: FileText, - accent: "text-orange-200", - active: "border-orange-300/65 bg-orange-300/12 text-orange-50", - placeholder: "写一组 SKG 颈部按摩仪的营销图文方案,面向久坐办公人群,语气真实直接,有前三秒 hook 和可用于生图/生视频的提示词。", + placeholder: "写一组 SKG 颈部按摩仪营销图文方案,包含 hook、脚本、caption 和生成提示词。", }, ] const PROMPT_PRESETS: InspirationCard[] = [ { title: "办公室午休", - tag: "短视频", mode: "video", prompt: "做一条 15 秒 TikTok 竖屏视频,办公室午休场景,人物放下电脑后戴上 SKG 颈部按摩仪,镜头缓慢推进,突出日常放松。", - tone: "from-cyan-500/22 via-slate-900 to-slate-950", }, { title: "下班回家放松", - tag: "短视频", mode: "video", prompt: "做一条 12 秒竖屏短片,年轻上班族下班回家后放松肩颈,先表现疲惫,再自然戴上 SKG 产品,动作可信。", - tone: "from-orange-500/22 via-slate-900 to-slate-950", }, { - title: "白底功能图", - tag: "图片", + title: "白底产品功能图", mode: "image", prompt: "生成一张白底产品功能图,高级电商质感,突出 SKG 颈部按摩仪外形、佩戴方式和日常使用,产品结构不能变形。", - tone: "from-emerald-500/22 via-slate-900 to-slate-950", }, { title: "前三秒 Hook", - tag: "图文", mode: "copy", prompt: "写 3 套 SKG 颈部按摩仪信息流营销图文方案,每套包含前三秒 hook、中文脚本、caption、图片提示词和视频提示词。", - tone: "from-fuchsia-500/22 via-slate-900 to-slate-950", - }, - { - title: "真实生活方式", - tag: "图片", - mode: "image", - prompt: "生成一张真实生活方式营销图,人物在家中沙发放松,佩戴 SKG 颈部按摩仪,光线自然,产品清晰可见。", - tone: "from-blue-500/20 via-slate-900 to-slate-950", }, ] @@ -195,7 +164,6 @@ export default function Home() { const fileInputRef = useRef(null) const activeMode = OUTPUT_MODES.find((item) => item.id === mode) ?? OUTPUT_MODES[0] - const ActiveIcon = activeMode.icon const images = useMemo(() => allGeneratedImages(job), [job]) const latestImage = latestGeneratedImage(job) const latestVideo = latestGeneratedVideo(job) @@ -401,28 +369,29 @@ export default function Home() { return (
-
- -
-
-
-

- 开启你的 SKG 创作模式 即刻生成! -

-

上传素材是图生图 / 图生视频,不上传就是文生图 / 文生视频。

-
+
+
+
+
+

你好,想创作什么?

-
-
+
+
+ onFileChange(event.target.files?.[0] ?? null)} /> -
-