Devotd Github
NewMultimodal

sitor-ai/frametell 6145f7e — Drawing one more picture with a mismatched aspect ratio

The latest commit of sitor-ai/frametell fixes it so that when the image service draws a picture with an aspect ratio different from the request, the picture is drawn one more time.

Repositorysitor-ai/frametell ↗

The latest commit of sitor-ai/frametell fixes it so that when the image service draws a picture with an aspect ratio different from the request, the picture is drawn one more time.

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

stars
★ 166
Forks
33
Language
TypeScript
License
AGPL-3.0
Latest release
v0.7.1
Read original source ↗View on GitHub ↗

Frametell is a local-first project that turns ideas and materials into explanatory videos with an AI director agent. The latest commit 6145f7e (November 3, 2026, UTC) fixes a defect on the image generation side. If the image service draws a picture with a shape different from the requested aspect ratio (for example, a 3:2 result for a 16:9 scene), the picture is drawn one more time, so that the screen is filled while titles or subtitles are prevented from being cut off at the edges. The second answer is adopted as-is regardless of its shape.

The implementation is carried out in the Director class in packages/agent/src/director.ts. The requested size is parsed from the 'width x height' string of pictureSize(p), and the actual size of the received image is read out with sniffPicture. If the difference between the two aspect ratios exceeds 0.04, the actually drawn size and the requested size are recorded in the [pictures] entry and the picture is drawn again, but the number of redraws is limited to one. This retry is separated from the path that asks again up to 3 times when the upstream request is stopped or refused, so it does not consume that count. It is the same rule as the approach of drawing one more time and using the second one when a picture with a transparent background appears pressed flat against the background. The tests were added in packages/agent/src/pictures.test.ts. The test image service is made to answer with a size different from the request, and it checks whether the picture is drawn twice and whether the second answer remains. This commit changes 2 files, adding 26 lines and deleting 5 lines.

However, this modification is a single retry per picture. If the service keeps answering with a different aspect ratio, the second picture is also stored as-is with a different shape, and only a warning is left in the log. The size determination depends on the values that sniffPicture reads from the first bytes of the image, so the tests only cover PNG responses. Repository information such as the license and the number of stars was not presented in this material.