做了一个 Chrome 扩展 Grok Automation,让 Grok Imagine 可以批量跑图跑视频

6 天前
 funet

起因

我自己日常在 grok 上用 Grok Imagine 出图、出短视频,主要是给 YouTube Shorts 做素材和给电商的 SKU 出测试图。

用着用着发现一个很尴尬的事:grok 的网页只能一条 prompt 一条 prompt 地提交,出图要等,出视频更要等, 而且每生成完一个还得手动右键「另存为」,文件名还都是 (1).mp4(2).mp4 这种鬼东西。

我一晚上能写 80 条 prompt ,但真要把它们全跑完、再整理好,得我守着电脑两三个钟头。 这种活,机器干显然比人干合适。

思路

xAI 那个官方的 Grok Tasks 只能做「定时让 Grok 帮你跑一次问答然后邮件给你」, 完全不解决我这种「批量生成媒体文件」的场景。

所以路线只有一个:写个 Chrome 扩展,注入 content script ,接管 grok 的 UI ,自己点自己等自己存。 后来这个扩展我起名叫 Grok Automation,下面把几个有点意思的实现细节说一下。

实现里几个有点意思的点

  1. DOM 变化用 MutationObserver 兜底 grok 的前端是 SPA ,按钮、loading 状态、生成完成的标记都是异步出现的。 一开始用 setTimeout 轮询,跑 50 条以上就开始飘。后来全部改成 MutationObserver 监听特定容器,配合一个状态机,稳定性才上来。

  2. 智能延迟,不是固定 sleep 一开始我设的是「每条 prompt 之间 sleep 10 秒」,结果有些 prompt 5 秒就出完了在干等, 有些跑 30 秒还没好就被下一条挤掉。后来改成「等当前生成结束 + 一个小抖动」, 既不被限流也不浪费时间。

  3. 自动下载和命名 chrome.downloads API 可以指定 filename,所以我把每个 batch 命名成项目名, 图片 / 视频 / metadata 全部塞到 Downloads/<project>/ 下,给后期剪辑同事是一个文件夹直接拖。

  4. Concat 模式 Grok 的视频单条最长就那么几秒,我自己想要长一点的连续镜头, 就做了个「把前一段视频的最后一帧作为下一段的 frame 输入」的链式生成。 这个其实是 Grok Imagine 自己 frame-to-video 模式的一个自然组合,但手动操作太痛苦。

  5. 失败不中断队列 早期版本一个 prompt 触发 Grok 内部错误,整个队列就崩了。 现在是单条失败标记一下,继续往下跑,最后给一个 failed 列表,单独重跑就行。

目前覆盖的场景

五种 Grok Imagine 的输入模态全都做了批量:

一些坑 / 限制

状态

求拍砖

主要想问几件事:

  1. 你们在做批量生成的时候,最痛的环节是什么?是 prompt 管理、还是结果筛选、还是后期重命名? 下一步我想加 prompt 模板和变量替换,但不确定是不是真痛点。
  2. 有没有人遇到过 grok 改版导致自动化挂掉的情况,你们一般怎么做兼容性兜底?
  3. 现在 UI 是「贴一列 prompt 然后按 Start 」,有没有更优雅的交互范式可以参考?

落地页和扩展入口在这里,欢迎吐槽(包括落地页文案,我自己看好几遍都看吐了): 👉 https://grok-automation.com/chrome-extension/

谢谢老哥们。

403 次点击
所在节点    分享创造
0 条回复

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1212539

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX