Skip to content

feat: add Reactor.inc fast-h3 video generation API provider to MediaGen and FableLoom - #6224

Merged
atomantic merged 2 commits into
mainfrom
claim/issue-6214
Sep 4, 2026
Merged

feat: add Reactor.inc fast-h3 video generation API provider to MediaGen and FableLoom#6224
atomantic merged 2 commits into
mainfrom
claim/issue-6214

Conversation

@atomantic

Copy link
Copy Markdown
Owner

Summary

  • Adds server/services/videoGen/reactor.js — a token-minting/submit/poll/download cloud video provider for reactor.inc's fast-h3 model, mirroring the videoGen/fal.js queue-REST contract as a first-class mediaJobQueue cloud-lane backend.
  • New GET /api/video-gen/reactor/token route mints a short-lived, scoped session JWT from REACTOR_API_KEY server-side — the raw key never reaches the client — with automatic re-minting if a render's poll loop outlives the session.
  • Supports native clip-to-clip chaining via continue_from_clip_id, starting_frame (image-to-video), seconds, and seed.
  • Wires reactor through the VIDEO_GEN_MODE alphabet, the video pin ladder, prepareVideoGenParams' backend short-circuit, submitJob's dispatch, and resume-from-active-job param restore.
  • Adds a reactor backend option to the VideoGen page (clip id / clip length / seed fields) and FableLoom's render backend picker, plus a Settings → Image Gen field for the REACTOR_API_KEY / API key.

Closes #6214

Test plan

  • server/services/videoGen/reactor.test.js — 13 new tests covering token minting/failure, request-body building (including prompt truncation and seed=0 preservation), full submit→poll→download→history flow, error handling, chaining params, and automatic token re-mint on a 401 mid-poll.
  • Ran the full touched-file suite: server/services/videoGen/*, server/services/mediaJobQueue/*, server/routes/videoGen.test.js, server/lib/{generationModes,validation}.test.js (1213 passed), and the client hooks/pages/settings suites touched by this change (125 passed).
  • npx biome lint clean on all touched client files.
  • Reviewed locally with opencode against the branch diff; applied its findings (JWT re-mint on 401, resume-param whitelist gap for continueFromClipId/seconds, seed=0 dropped by || undefined, dead width/height fields in the reactor payload).

…en and FableLoom (#6214)

Adds server/services/videoGen/reactor.js — a token-minting/submit/poll/download
provider mirroring videoGen/fal.js's queue REST contract — as a first-class
mediaJobQueue cloud-lane video backend with native clip-to-clip chaining via
continue_from_clip_id. A new GET /api/video-gen/reactor/token route mints a
short-lived, scoped session JWT from REACTOR_API_KEY server-side (never
exposed to the client), re-minted automatically if a render's poll loop
outlives the session. Wires 'reactor' through the VIDEO_GEN_MODE alphabet, the
video pin ladder, prepareVideoGenParams' backend short-circuit, submitJob's
dispatch, and the VideoGen page's backend switch (clip id / clip length / seed
fields), plus a Settings > Image Gen field for the REACTOR_API_KEY / API key.
@atomantic
atomantic merged commit 22ca234 into main Sep 4, 2026
12 checks passed
@atomantic
atomantic deleted the claim/issue-6214 branch September 4, 2026 08:18
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.

[repo-study-julius-caesar-reactor-fasth3-provider] Add Reactor.inc fast-h3 video generation API provider to MediaGen and FableLoom

1 participant