feat(engine): scene-level generation API (generate_clip / generate_keyframe)#35
Merged
Conversation
…yframe) Exposes the engine at per-scene granularity so callers can render/regenerate one scene at a time and chain seamlessly (pass the previous clip's last_frame_path as the next scene's first frame → i2v), instead of only the autonomous Pipeline.run(). Same engine, finer control — for interactive tools (incl. the managed studio) and self-hosters who want per-scene control. - Generator.generate_clip(prompt, *, scene_id, camera, characters, first_frame_path) - KeyframeGenerator.generate_keyframe(prompt, output_path) - tests + README 'Use it as a library' section.
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
The engine could only be driven autonomously via `Pipeline.run()` (whole shot list in one shot). Interactive tools — the managed studio, and self-hosters who want to regenerate a single scene — need per-scene control. This exposes the existing generation primitives as a clean public API without changing the autonomous path.
What
This is the foundation for the managed service to run the open core at scene granularity (interactive refinement) rather than maintaining a parallel generation path. Same engine, finer control.
Full suite: 22 passed. `ruff` clean.