Cloud AI (your own keys)
The Immersion Canvas can talk to cloud generation services using your own API keys. Nothing routes through a ReelMarkr server and there is no markup: the app calls the provider directly over HTTPS, and the provider bills you.
Cloud nodes are optional. They live in their own (Cloud) entries in the Add menu, and nothing runs until you’ve entered a key and confirmed a cost estimate.
Providers & keys
Section titled “Providers & keys”Enter keys in the image-gen Settings ▸ API tab:
- OpenAI: GPT Image models (generation and multi-reference edits).
- Google Gemini: “Nano Banana” image models used by Cinematographer, Compose Images, Sketch to Render, Relight, and Expand Image.
- fal.ai: pay-as-you-go gateway to FLUX / Ideogram / Recraft / Seedream / Imagen / Qwen image models, and most of the video models below.
- Kling: direct Kling video keys (new single API key, or legacy AK/SK pairs).
Keys are stored encrypted on your machine (Windows DPAPI / macOS Keychain, one slot per provider), are only sent over HTTPS to that provider, and cloud access asks for your consent before the first call leaves the machine.
Costs stay in front of you
Section titled “Costs stay in front of you”Every cloud node shows a price estimate before it runs and asks you to confirm. A spend ledger tracks this session’s runs, a cost gate stops runaway batches, and cloud image runs are capped per Run (default 3; right-click the cap to raise it to 10 with an explicit cost acknowledgement). Estimates are labelled as estimates; the provider’s bill is authoritative.
Crash-safe renders: every cloud job writes a ticket to disk on submit. If the app closes or crashes mid-render, the node reconnects to the in-flight job on relaunch and downloads the result, with no resubmit and no double billing. Jobs that outlive their poll window persist as pending and can be fetched later with Check pending job.
Cloud video nodes
Section titled “Cloud video nodes”Each generator drops its clips into a versioned history (named by model variant) and can feed a shared Video Container: a transport-equipped player with up to 12 inputs collecting every generator’s takes. Drag video files from Explorer onto it to add your own clips.
| Node | What it does |
|---|---|
| Kling Video | Keyframe image-to-video via your Kling or fal.ai key, with a clip history slider. |
| Seedance Video | ByteDance Seedance 1.0 Pro / 2.0 (fal.ai), resolution tiers, optional audio. |
| Veo Video | Google Veo 3.1 fast/premium (fal.ai) with native synced audio, 4/6/8 s, 720p/1080p. |
| Hailuo Video | MiniMax 2.3 Fast/Standard/Pro. |
| LTX Video | Lightricks LTX-2.3 fast/quality draft tier, end-image transitions, included audio. |
| PixVerse / Wan / Luma Ray 2 | Additional text/image-to-video models via fal.ai. |
| Restyle Video | Luma Ray 2 Modify video-to-video: wire a playblast plus a rendered-frame reference and get the fully rendered look, with adhere/flex/reimagine strength. |
| Video Upscale | Topaz 2×/4× upscale with an optional 60 fps pass. |
Use it when: previz needs motion today, generated next to the storyboard.
Managing the clip history
Section titled “Managing the clip history”The history is editable on the Video Container and on the generator nodes themselves, Cinematographer included:
- + Add brings a clip in from disk as a new version.
- Remove a single version.
- Clear the whole history to start the version list over.
Disconnecting a wire drops that generator’s clips from the shared history, so a Video Container only shows takes from generators still wired into it.
Use it when: eleven takes and two keepers need trimming to a shortlist.
Render time per clip
Section titled “Render time per clip”The saved-clip line reports how long the render took, on failed runs as well as successful ones.
Use it when: you’re picking between two video models on a deadline.
Open a result in RM Player
Section titled “Open a result in RM Player”The saved-path link on a generator node opens the clip in RM Player; the
same action sits in the node’s right-click menu. Clips named _v### join an RM
version group, so opening one opens the whole set as tabs.
Use it when: shot_040_v001-v004 need comparing as tabs in the player.
Cloud image nodes
Section titled “Cloud image nodes”| Node | What it does |
|---|---|
| Cinematographer | Coverage from one reference: tick film angles on a checkbox grid (one tick = one shot, several = a batch), with shot size, 14-200 mm lens, and f/1.4-f/16 depth-of-field controls. |
| Compose Images | Join 2-4 references into one cohesive image (Nano Banana or GPT Image, up to 16 refs). |
| Sketch to Render | Storyboard-to-final: a structure sketch plus an optional style image, with independent Follow composition and Follow style sliders (composition lock at 95+). |
| Expand Image | Per-side outpainting (FLUX 2 Pro Outpaint or Nano Banana) with live layout preview and 1.5×/2× zoom-out presets; original pixels are composited back untouched. |
| Inpaint (Cloud) | Regenerate only a painted region (FLUX.1 Pro Fill or Nano Banana) with a feathered mask blend. |
| Relight | 26 relighting presets, custom saved looks, or match a lighting sample; version slider over your takes. |
| Remove Background | Bria RMBG cutout with real alpha and a checkerboard preview. |
| AI Upscale | Clarity creative upscaler: 2×/3×/4×, detail levels, a steering prompt, and an exact per-run estimate from the input size. |
| Orient | Free, local utility: lossless 90° rotations and H/V flips with live preview. |
Double-click any cloud node’s preview to drop the result onto the canvas as a regular image node.
Relight preset management
Section titled “Relight preset management”The Light menu is split into categorised submenus grouped by the kind of look they produce. A Manage presets dialog handles looks you’ve saved yourself: edit, rename, delete, or apply from the dialog.
Use it when: saved looks named “warm 2” need real names.
Sketch to Render: pin a take as Reference
Section titled “Sketch to Render: pin a take as Reference”Pin one of your generated takes as the structure Reference. The next run follows that take’s structure, so you can iterate on style without the original sketch being re-read.
Use it when: a take nails the composition and you want to push style from it.
Batch pipelines
Section titled “Batch pipelines”Three plumbing nodes turn one-off runs into a queue:
- Image Container (Merge Images): collect up to 20 images, or a whole folder, as a thumbnail grid with green checkmarks as results land. Wire it into Sketch to Render, Relight, Expand, or Remove Background and the node offers one confirm for the whole batch (image count and total estimate), then processes sequentially.
- Video Container: the shared version history above. Restyle can batch a whole container with per-clip, real-duration pricing.
- Transfer to Folder: copy a node’s full take history into a folder you choose (original filenames preserved via the Names inputs) and open it in Explorer.
Use it when: twenty location stills need the same dusk relight in one pass.
Image Container grid controls
Section titled “Image Container grid controls”The thumbnail grid is sizeable and scrollable:
- Resize the node by dragging its corner handles.
- A Size slider sets tile size from 48-180 px, and persists with the board.
- The mouse wheel scrolls the grid instead of zooming the canvas.
- Click a tile and press Set current to promote it to the queue’s current image.
Use it when: one frame in a twenty-shot container needs re-running.
Troubleshooting cloud runs
Section titled “Troubleshooting cloud runs”A failed cloud run comes back with numbered fix steps rather than the raw provider error. Two cases come up often:
OpenAI content-policy refusals. GPT Image false-positives on ordinary footage: stunts, medical scenes, crowd shots, anything its filter reads as sensitive. Rephrase away from the flagged wording, or use another provider.
Google Gemini 429s. The message tells the two causes apart: a Pro tier that needs billing enabled on the Google account, versus free-tier pacing, where you’re sending requests faster than the free quota allows. It also names the quota limit that was hit.
Use it when: a batch dies halfway with a 429.