- Add electron:build:linux script and AppImage + .deb targets in package.json
- Fix Electron main.js: ESM → CommonJS, remove macOS-only titleBarStyle on Linux
- Fix createInlineInstructions undefined error in ImageStudio.js
- Fix Cinema Studio asset paths (absolute → relative) for Electron file:// protocol
- Add AppArmor profile for Ubuntu 24.04+ user namespace sandbox fix
- Add Ubuntu install docs and sandbox workaround to README
The generate_wan_ai_effects endpoint requires both `name` (effect type)
and `prompt` (str) fields. The client was sending neither — `name` had
no state/UI/payload entry, and `prompt` was omitted when blank — causing
a 422 Unprocessable Entity error.
- Add selectedEffectName state and getEffectNamesForModel() helper
- Add Effect dropdown button (visible only for ai-video-effects /
motion-controls) with the full enum list from the model definition
- Wire updateControlsForModel to initialize/reset selectedEffectName
- Pass name in i2vParams at generate time
- Always send prompt (defaults to '') so the required str field is present
- Forward params.name in muapi.js generateI2V payload
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Add CSS tooltip system with data-tooltip attribute
- Tooltips appear on hover with smooth animation
- Non-blocking: uses pointer-events: none
- Added to ImageStudio, VideoStudio, and CinemaStudio buttons
- Add Quick Starters and Prompt Enhancer to ImageStudio
- 8 preset prompts (Portrait, Landscape, Product, Fantasy, Sci-Fi, Food, Architecture, Fashion)
- 23 enhancement tags across 4 categories (quality, lighting, mood, style)
- Collapsible panel accessible via 'Tools' button
- Add Camera Builder to CinemaStudio
- Quick-access camera/lens/focal/aperture selector
- Live preview using buildNanoBananaPrompt()
- Accessible via 'Builder' button
- Refactor shared constants to promptUtils.js
- ENHANCE_TAGS and QUICK_PROMPTS now exported from promptUtils
- FOCAL_PERSPECTIVE and APERTURE_EFFECT also exported
- Update AssistPage to use shared constants from promptUtils
- Also includes TemplatesPage fix for searchability
- Add mode control (fun/normal/spicy) to VideoStudio for models that support it; wired through generateVideo and generateI2V in muapi.js
- Add getModesForModel helper to models.js
- Header key button now opens SettingsModal to update API key in-place instead of wiping and reloading
- Fix silent failures: catch block no longer overridden by finally; errors now display for 4s before resetting
- Restore hero section on generation failure so the page doesn't look broken
- Extend video polling timeout from 4 min to 30 min (900 attempts)
- Add pending job recovery: save requestId to localStorage on submit, resume polling on studio load with a live banner showing progress
- Add onRequestId callback to all muapi generate methods (generateImage, generateI2I, generateVideo, generateI2V, processV2V)
- New pendingJobs.js utility for CRUD operations on pending jobs in localStorage
- Add seedance-v2.0-i2v to i2vModels with images_list field, aspect ratio, duration (5/10/15s), and quality controls
- Add seedance-v2.0-extend to t2vModels for seamlessly continuing Seedance 2.0 generations
- Auto-store request_id after each Seedance 2.0 t2v/i2v generation
- Show Extend button on canvas after Seedance 2.0 generation; clicking it pre-selects the extend model and auto-passes stored request_id
- Add quality dropdown control to VideoStudio for models that support it
- Show extend banner when extend model is active; optional prompt guides the continuation
- Restore extend context when browsing Seedance 2.0 history entries
- Make prompt optional in muapi.generateVideo and forward request_id for extend endpoint
- Update README with new models and features
Integrates ByteDance's Seedance v2.0 into Video Studio with support for
aspect ratios (16:9, 9:16, 4:3, 3:4), durations (5/10/15s), and quality
(basic/high). Updates README to reflect the new model.
- Add nano-banana-2 and seedream-5.0 to t2i models
- Add nano-banana-2-edit and seedream-5.0-edit to i2i models
- Add maxImages to 22 i2i models based on schema maxItems (up to 14 for nano-banana-2-edit)
- UploadPicker: multi-select mode with order badges, batch file upload, count/+ trigger badge
- ImageStudio: track uploadedImageUrls[], setMaxImages() on model switch, pass images_list to API
- muapi: pass quality and images_list array params in generateImage/generateI2I
- Expose quality/resolution controls for t2i models (nano-banana-2, seedream-5.0)
- Update README with new models, multi-image picker docs, and comparison table
- Add ImageStudio component with prompt input, model/AR/resolution pickers
- Integrate Muapi API client with x-api-key auth and result polling
- Add generation history sidebar with thumbnails and download
- Add AuthModal and SettingsModal for API key management
- Configure Vite proxy for CORS-free API access in development
- Add model definitions with endpoint mappings from schema data
- Add Tailwind CSS styling with dark theme and glassmorphism design
- Add Header component with settings and logout controls