Skip to content

cherry-pick(pr-9818): feat: generic OpenAI-compatible video custom provider - #9844

Merged
diegosouzapw merged 5 commits into
release/v3.8.50from
maint/cherry-pr-9818
Aug 9, 2026
Merged

cherry-pick(pr-9818): feat: generic OpenAI-compatible video custom provider#9844
diegosouzapw merged 5 commits into
release/v3.8.50from
maint/cherry-pr-9818

Conversation

@diegosouzapw

Copy link
Copy Markdown
Owner

Mantainer-executed cherry-pick of the community PR #9818 from @oyi77.

This branch preserves the original commits/authorship and keeps the work
available in this repository for merge without requiring author push access.

oyi77 and others added 5 commits August 9, 2026 01:33
Adds a generic OpenAI-compatible video generation path so users can add
custom video providers (base URL + API key) without per-provider code.

Changes:
- open-sse/handlers/videoGeneration/openai.ts (new): generic handler
  with resolveVideoEndpoint, fetchVideoEndpoint, handleOpenAIVideoGeneration
- open-sse/handlers/videoGeneration.ts: added resolveVideoBaseUrl(),
  dispatch for 'openai-video' format before 'vertex-veo', synthetic config
  for custom providers, fallback for resolvedProvider
- src/app/api/v1/videos/generations/route.ts: scans custom models for
  supportedEndpoints.includes('videos'), resolves credentials via
  getProviderCredentialsWithQuotaPreflight, passes resolvedProvider
- src/shared/validation/schemas/provider.ts: added 'videos' to
  supportedEndpoints enum
- tests/unit/video-generation-handler.test.ts: handler-level test for
  custom provider
- tests/unit/video-custom-provider-route.test.ts (new): route-level tests
  covering custom provider with/without videos endpoint, unknown provider

All verification:
- typecheck:core passes
- 17 video tests pass (3 new route tests + 1 new handler test)
- no regressions in image generation tests
… test coverage (#9818)

- job.ts: presets (agnes-video-job, muapi-video-job) with submit→poll→done executor
- videoGeneration.ts: generationConfig.preset dispatch branch + mediaGenerationRoute pass-through
- provider-models/route.ts + models.ts: generationConfig persisted on addCustomModel
- provider schema: generationConfig optional field
- tests: resolvedProvider bare-model + job preset happy/failed/unknown paths
- docs/video-preset-generation.md
Co-authored-by: diegosouzapw <8016841+diegosouzapw@users.noreply.github.com>
@diegosouzapw
diegosouzapw merged commit 5801625 into release/v3.8.50 Aug 9, 2026
11 checks passed
@diegosouzapw
diegosouzapw deleted the maint/cherry-pr-9818 branch August 10, 2026 09:59
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