Repository navigation
Make a clip from a prompt alone: generate its picture, then animate it - #8
Merged
Merged
Conversation
GAM's video models all start from a picture and it has no text-to-video, so a clip placeholder with no picture in the video couldn't be generated. "Made from" now offers "A new picture, made from the prompt": GAM makes the picture first (its own prompt and model, optional), and the clip is started from it. One generation row follows both runs. It keeps the clip's run in `then` while the picture is made; reading the project's generations, which already follows each job with the reader's token, starts the clip once the picture is done. The picture never fills the placeholder, only the clip does. It is kept as `picture_id` and offered again on "Try again", so a failed clip doesn't pay for its picture twice. The estimate is the two runs together. Migration: adds `generation.then` and `generation.picture_id`. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Ko6G3pNhKu51bkYyUceSyg
davior
marked this pull request as ready for review
October 21, 2026 15:23
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Why
GAM's video models all start from a picture, and GAM has no text-to-video. So a clip placeholder couldn't be generated unless the video already had a picture to animate.
What
In the Generate dialog, Made from now offers "A new picture, made from the prompt". It's the default when the video has no pictures. Choosing it shows:
One click, two runs, one row (
generation/service.py):start(..., make_picture=True)starts the picture in GAM and stores the clip's run (model, prompt, params) ingeneration.then.refreshalready follows each job whenever the project's generations are read. When the picture is done, it starts the clip from that picture on the same row and clearsthen. GVC still needs no worker of its own and stores no token.picture_id, and Try again offers it as "Picture made for this clip", so a failed clip doesn't pay for its picture twice.Migration: adds the nullable columns
generation.thenandgeneration.picture_id.The assistant still never generates video, as decided before. This only changes what the Generate button can do.
Tests
pytest -q→ 633 passed. New tests cover the picture-then-clip flow against the fake GAM, a failed picture, a clip that can't start (picture kept), and stopping before the clip starts. The migration test covers the new columns.npm test→ 152 passed (a new GenerateDialog test for the new-picture path);build,lintandformat:checkare clean.Not tested against a live fal.ai account.
Generated by Claude Code