Nova Creative / User guide

Built-in AI skills

Nova Creative ships trusted workflow skills that are shared by AI Chat and Nova Workflow MCP. AI Chat selects a matching skill from the current request and canvas; MCP clients can discover the same guidance with workflow_skill_reference. Skills never grant permission to run paid providers, overwrite unrelated graph data, or bypass normal validation.

Seamless multi-clip video continuity

ID: video-seam-continuity

Use when: generated or imported video segments must behave like one continuous shot, or a boundary shows a pause, repeated frame, pose reset, motion-speed jump, duration drift, or visible micro-seam.

Direct triggers: concatVideo; seamMode; video seam; seamless video; seamless stitch; stitch clips; join video clips; merge video segments; multi-clip continuity; micro-stutter; duplicate boundary frame; conditioning frame; pose reset; motion jump; last frame extraction; бесшовная склейка; склейка видео; стык видео; микросклейка; соединить клипы; объединить видео; лишний кадр; дублируется кадр; возврат позы; рывок движения; последний кадр; плавный стык; łączenie klipów; płynne łączenie wideo.

Canvas node types: concatVideo; extractFrame.

Follow-up triggers: fix it; make it smooth; make it seamless; improve the transition; exact duration; fix the duration; исправь; почини; сделай плавнее; сделай бесшовно; улучши стык; ровно секунд; точная длительность; проблема; рывок; дёргается; дергается; napraw; płynniej.

Build or repair the workflow

  1. Preserve existing successful generations. When exact saved clip assets are already available, reuse their canonical assetId, url, mime, and name in importVideo nodes. Do not regenerate upstream clips or call paid/GPU providers unless the user explicitly requested execution and accepted the cost.
  2. Keep segment order explicit: connect the first clip to concatVideo.video1, the second to video2, and an optional third to video3. Do not route multiple sources into one concrete input.
  3. For a continuous generated shot, set the concatenator data to {"seamMode":"continuity","targetDuration":N}. Use the exact requested duration in seconds for N; use 0 or omit targetDuration when length should remain automatic. For an ordinary intentional hard cut, retain the backward-compatible "cut" mode.
  4. If building the generation chain itself, connect extractFrame from the preceding clip to the next image-to-video segment's first-frame input. The node extracts the true final decodable frame; never approximate it with a fixed timestamp.
  5. On a non-empty canvas, update only the relevant nodes and edges. Do not replace the graph or recreate unrelated nodes. If a correctly wired concatVideo already exists, an updateNode for seamMode and targetDuration is normally sufficient.

Why continuity mode is the preferred repair

  • Every input is normalized to the first clip's geometry and frame rate, square pixels, yuv420p, constant frame rate, a common timebase, and zero-based timestamps before filter-based concatenation.
  • Each later segment's repeated conditioning frame is removed. Its first 0.5 seconds are locally retimed to 0.75 seconds with motion-compensated interpolation, reducing the common burst of motion without a dissolve or ghosted double characters.
  • If motion interpolation is unavailable, the engine falls back to a clean continuity cut and records a warning instead of failing the workflow.
  • With targetDuration > 0, only the final still tail is trimmed or extended to reach the exact frame count. Earlier action and boundaries remain untouched.

Do not add a crossfade/dissolve as a generic seam repair: overlapping independently generated people often creates double faces, limbs, or silhouettes.

Verification after an authorized run

  • Confirm H.264 video with yuv420p, the first clip's width/height and frame rate, constant frame cadence, and zero-based timestamps.
  • Confirm frameCount = round(targetDuration × fps) and exact duration when a target was requested.
  • Inspect roughly 0.5 seconds before through 0.75 seconds after every boundary. Reject a pause, backward pose jump, duplicated frame, scale jump, doubled face/legs, or abrupt motion burst.
  • If the output still looks wrong, first verify segment order and that the next segment was conditioned on the true last frame. Do not silently rerun paid generation.