Devotd Github
新发现多模态

sitor-ai/frametell 6145f7e — 比例不符的图片再画一次

sitor-ai/frametell 的最新提交修复了这个问题:当图像服务画出的图片比例与请求不同时,会再画一次。

仓库信息sitor-ai/frametell ↗

sitor-ai/frametell 的最新提交修复了这个问题:当图像服务画出的图片比例与请求不同时,会再画一次。

GitHub 项目说明: Frametell: turn your ideas and material into vivid explainer videos with an AI director agent. Local-first, any model.

星标
★ 166
复刻
33
语言
TypeScript
许可证
AGPL-3.0
最新版本
v0.7.1
查看原始来源 ↗在 GitHub 查看 ↗

Frametell 是一个本地优先(local-first)的项目,把想法和素材借助 AI 导演智能体变成解说视频。最新提交 6145f7e(2026 年 11 月 3 日,UTC)修复了图像生成一侧的缺陷。如果图像服务画出的图片形状与请求的比例不同(例如 16:9 的场景返回 3:2),就会把图片再画一次,从而在填满画面的同时避免标题或字幕在边缘被裁掉。第二个回答无论形状如何都直接采用。

实现位于 packages/agent/src/director.ts 的 Director 类中。请求尺寸通过 pictureSize(p) 的 '宽度x高度' 字符串解析,接收到的图片则通过 sniffPicture 读出实际尺寸。当两种宽高比的差异超过 0.04 时,会在 [pictures] 条目中记录实际绘制的尺寸和请求尺寸并重新绘制,但重绘次数限制为一次。该重试与「上游请求被停止或拒绝时最多再询问 3 次」的路径相互独立,因此不会消耗那几次的额度。透明背景的图片贴在背景上显示时,也是采用「再画一次并使用第二张」这一同样的规则。测试添加在 packages/agent/src/pictures.test.ts 中。测试用的图像服务被设定为返回与请求不同的尺寸,并检查图片是否被绘制了两次、第二个回答是否保留下来。本次提交改动 2 个文件,新增 26 行、删除 5 行。

不过,这项修正只是每张图片一次重试。如果服务持续返回不同的比例,第二张图片也会以不同形状原样保存,日志中只留下警告。尺寸判定依赖于 sniffPicture 从图片首字节读出的值,因此测试只涵盖 PNG 响应。许可证和 star 数之类的仓库信息在本次资料中未给出。