Repository navigation
refactor: run vibe generate video and fill-gaps on the video executor - #353
Merged
Merged
Conversation
`vibe generate video` carried its own copy of every provider's submit, poll, upload, and download code (913 lines). It now validates, picks the provider, runs the dry run, and calls `executeVideoGenerate`, the same executor the MCP tool and builds use (432 lines). - Unknown model aliases are checked against the catalog for any provider. - Progress comes through an `onProgress` hook; the spinner shows when the provider accepts the job (with its task ID), the percentage, and the download. - A failed call keeps the task ID and maps the error kind to the CLI's auth, usage, or retryable envelope. - `--no-wait` and timed-out waits record the job with its handle. - Veo's character reference images and person setting move into the Veo adapter. - fill-gaps uses the Kling generator through the contract. - The unused `_shared/video-utils.ts` is removed; `uploadToImgbb` moves into `upload-host.ts`, its only user. Fixes Runway progress, which is a 0-1 fraction and showed as "0%"/"1%". Claude-Session: https://claude.ai/code/session_011S1BLTaFctZNQzGERpkCuA
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
This was referenced Oct 4, 2026
This branch was successfully deployed
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.
Fifth and last PR of the provider interface work (step 3b). After this, no CLI code constructs a video provider class or branches on video provider names.
What changes
vibe generate video: 913 lines down to 432. It keeps validation, provider choice with key fallback, aspect-ratio detection, the model shutdown check, and the dry run, then callsexecuteVideoGenerate, the same executor the MCP tool and builds use.errorKindto the CLI error envelope.--no-wait, and a wait that runs out, record the job with its handle forvibe status job.--person, until Veo is removed._shared/video-utils.tsis removed (unused apart fromuploadToImgbb, which moves intoupload-host.ts).Bug fixed
Runway reports progress as a 0-1 fraction, so a running job showed "0%" and then "1%". It is now converted to a percentage, with a test.
Verification
pnpm build,lint,typecheck, tests (providers 211, CLI 1342 including the integration suite, MCP 73), pre-push gate.vibe generate video:-i frame.png -p seedance: 4.1 s. The local image now goes through fal storage instead of ImgBB.-i frame.png -p kling: 3.04 s, uploaded through the upload host.-p omni --no-wait, thenvibe status job --wait: 10.0 s.-p runwayin a terminal: spinner and output checked, which is how the progress bug was found.https://claude.ai/code/session_011S1BLTaFctZNQzGERpkCuA