Kanvas is WZRD Studio’s generative visual playground. It combines AI image and video generation across multiple creative studios — cinematic stills, talking-head lip-sync, image-to-image transformations, character-consistent generation — with two distinct composition workflows: Remix, for applying visual style transformations to existing footage, and Lyrics, for building audio-reactive animated lyric videos driven by your own audio and a Remotion-powered preview engine.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/gratitude5dee/wzrd-studio-desktopfinal/llms.txt
Use this file to discover all available pages before exploring further.
Routes
| Path | Description |
|---|---|
/kanvas | Main generative studio hub |
/kanvas?studio=image | Image Studio (text-to-image / image-to-image) |
/kanvas?studio=video | Video Studio (text-to-video / image-to-video) |
/kanvas?studio=cinema | Cinema Studio (cinematic stills with camera controls) |
/kanvas?studio=edit | Edit Studio (image editing with fal.ai models) |
/kanvas?studio=lipsync | LipSync Studio (talking-head and lip-sync) |
/kanvas?studio=worldview | Worldview |
/kanvas?studio=character-creation | Character Creation |
/kanvas/remix | Remix — apply AI styles to footage |
/kanvas/remix/:templateId | Remix with a pre-loaded template |
/kanvas/remix/jobs/:jobId | Track a specific remix job |
/kanvas/lyrics | Lyrics landing — browse templates |
/kanvas/lyrics/new | Lyrics wizard — upload audio and build a new video |
/kanvas/lyrics/templates/:templateId | Open a saved lyrics template |
The Kanvas Studio Hub
The main Kanvas page (/kanvas) is a tabbed generative studio. The active studio is controlled by the ?studio= search param, so deep-linking always lands on the right studio.
Studios at a Glance
Image
Generate images from text prompts (text-to-image) or transform reference images (image-to-image). Supports multi-image references and
@mention character injection for consistent subjects.Video
Generate short videos from text (text-to-video), animate a reference image (image-to-video), or apply motion to an existing video (reference-to-video).
Cinema
Cinematic still generation with a full director’s camera kit — choose camera body, lens, focal length, and aperture to influence the visual language of each output.
Edit
Powered by fal.ai models. Perform structural image edits: color grade, color key, blur, rotate, flip, aspect ratio change, sketch, and more.
LipSync
Talking-head mode: portrait image + audio → animated face. Lip-sync mode: source video + audio → mouth-synced replacement.
Character Creation
Build reusable character blueprints that can be
@mentioned in any prompt to inject consistent subject references across generations.Model Selection
Models are fetched per-studio at page load viafetchKanvasModels(studio) from the kanvas-generate edge function. The UI prefers fal.ai models first (sortKanvasModelsFalFirst), then the catalog default, then GMI Cloud models.
Credit System
Each generation deducts credits based on the selected model. If your balance is insufficient, anInsufficientCreditsError is thrown by submitKanvasJob and a dialog appears showing required vs available credits with a link to the billing page.
Asset Management
Upload images, videos, and audio through the in-page asset selector. Assets are stored in WZRD’s asset library viauploadKanvasAsset and persist across sessions. The last 6 assets of each type are shown as clickable thumbnails for quick selection.
@Mention Character References
Prompts support@character-name mentions that expand to character blueprint descriptions and reference image URLs before the request is sent to the generation model. Pin a character to inject it automatically into every prompt in the session.
Job History and Polling
All submitted jobs are tracked in the Recent Jobs rail (per-studio). Active jobs (queued or processing status) are polled every 4 seconds via refreshKanvasJobStatus. After 3 consecutive poll failures the job is marked locally failed to clear the loading spinner.
Voice Actions
The Kanvas page registers two voice actions withuseRegisterVoiceActions:
kanvas_set_studio— Switch to a studio and optionally pre-fill the prompt.kanvas_generate— Trigger a generation (requires confirmation, as it spends credits).
Remix Mode
Remix (/kanvas/remix) applies AI visual style transformations to existing video or image sources using the footage asset library and lyric template system.
- Browse & Select
- Timeline Slots
- Style & Preview
- Export
The left panel lists available footage assets from
listFootageAssets(), filterable by:- Aspect ratio —
all,9:16,16:9 - Category — e.g.
bay-area-8mm(fromlistFootageCategories()) - Tag — free-text tag filter
- Sort — newest, oldest, shortest, longest
Remix Job Tracking
/kanvas/remix/jobs/:jobId shows the status of a single in-progress or completed remix job, including progress percentage and the final download URL when complete.
Lyrics Mode
Lyrics mode (/kanvas/lyrics) is a step-by-step wizard for creating audio-reactive animated lyric videos. Upload your own audio, receive a word-level transcription, set cut markers, pick a visual template, and preview the result in a live Remotion player.
Wizard Steps
Upload Audio
Drop an audio file (MP3, WAV, AAC, etc.) into the Audio Panel or select from previously uploaded assets. The audio is uploaded to WZRD storage via
uploadTemplateAudio and registered via the kanvas-lyrics-audio-register edge function.Waveform peaks are decoded client-side by decodeWaveform (using the Web Audio API) and displayed as a scrollable waveform for scrubbing.Transcribe & Edit Lyrics
Click Transcribe to send the audio to the
kanvas-lyrics-transcribe edge function. The result is a word-level LyricBlock[] with start/end timestamps and confidence scores.Edit the transcript in the Lyrics Panel — adjust word timing, merge or split lyric blocks, and correct any transcription errors before proceeding.Set Cut Markers
The Markers Panel lets you place cut markers on the waveform timeline. Markers snap to 50 ms increments and are deduplicated within a 250 ms window. These markers define where the visual footage cuts in the final composition.
Lyrics Template Landing
/kanvas/lyrics (without a wizard route) shows the TemplatesLanding component — a gallery of pre-built visual templates. Clicking a template navigates to /kanvas/lyrics/templates/:templateId to preview it, or to /kanvas/lyrics/new to start a fresh wizard with that template as the base style.
Remotion Preview and Export
The Lyrics Remix composer uses@remotion/player (pinned at 4.0.424) for real-time preview:
ExportModal, which calls the kanvas-generate edge function with the Remotion render preset. The render job is tracked in the standard Kanvas job polling loop.
Lyrics Template Service
Cinema Studio: Camera Controls
The Cinema studio exposes a director’s camera kit beyond just a text prompt:Camera
Select from
KANVAS_CAMERAS — film and digital camera bodies that influence grain, dynamic range, and colour science.Lens
Choose from
KANVAS_LENSES — prime and zoom lens characters.Focal Length
Pick from
KANVAS_FOCAL_LENGTHS to control perspective compression.Aperture
Select from
KANVAS_APERTURES to dial in depth of field.buildCinemaRequest({ prompt, cinema, modelId, settings }) before the job is submitted.
Generation Request Types
All studio submissions go throughsubmitKanvasJob(request). The request shape varies by studio:
Image Generation
Image Generation
Video Generation
Video Generation
LipSync
LipSync
Cinema
Cinema
Kanvas Job Lifecycle
Jobs survive page navigation. The Recent Jobs rail re-hydrates from
listKanvasJobs() on page load, so in-progress generations continue updating even after a browser refresh.