Skip to content

feat(video): add Gemini Omni Flash provider - #236

Merged
0xsline merged 1 commit into
0xsline:mainfrom
rush0100:feat/gemini-omni-video
Nov 6, 2026
Merged

0xsline merged 1 commit into
0xsline:mainfrom
rush0100:feat/gemini-omni-video

Conversation

@rush0100

@rush0100 rush0100 commented Nov 5, 2026

Copy link
Copy Markdown

Summary

  • Add gemini-omni as a submit_video provider backed by Google’s Interactions API (gemini-omni-1.1-flash by default) and GEMINI_API_KEY.
  • Support text-to-video, image-to-video, first+last-frame interpolation, and up to 4 image references (16:9 / 9:16; 360p–4k).
  • Wire Settings, agent tool schema/strategy, capabilities, skill docs, and unit verifies. Duration is prompt-hinted because Omni has no native duration field.

Test plan

  • tsx server/plugins/gemini-omni-video-provider.verify.ts
  • tsx server/plugins/video.verify.ts
  • tsx src/agent/tools/generation-tool-input.verify.ts
  • Configure GEMINI_API_KEY in Settings → Video → Google · Gemini Omni Flash
  • Submit T2V: submit_video({ model: "gemini-omni", prompt: "…" }) and confirm a media-pool clip
  • Submit I2V with firstFrame and first+last frame paths
  • Confirm other video vendors still validate/submit unchanged

Made with Cursor

Wire gemini-omni-1.1-flash through submit_video using the Gemini Interactions API and GEMINI_API_KEY, with Settings, agent schema, and validation for T2V / I2V / first-last frame / image refs.

Co-authored-by: Cursor <cursoragent@cursor.com>
@0xsline
0xsline merged commit f154309 into 0xsline:main Nov 6, 2026
4 of 5 checks passed
0xsline added a commit that referenced this pull request Nov 6, 2026
- Download results the documented way: URI delivery returns a Files API
  file, so poll it until ACTIVE and download it with x-goog-api-key. The key
  goes only to the configured Gemini origin; redirects are followed without it.
- Register the file id as the provider task so an interrupted job resumes
  by polling the file instead of re-billing a generation.
- Send duration as the native response_format.duration (3-15 s, 3-10 s with
  first+last frames, API default 10 s) instead of a prompt hint, and allow
  the documented 6 reference images.
- Default model gemini-omni-1.2-flash (1.1 is being retired).
- Add the missing en/it/ru settings strings, the keystore verify entry and
  the regenerated tool catalog; update the skill docs.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants