Commit graph

21 commits

Author SHA1 Message Date
octo-patch
bf32a393cc feat: add MiniMax image-01 T2I model and document MiniMax provider support
- Add minimax-image-01 to t2iModels in src/lib/models.js and
  packages/studio/src/models.js (8 aspect ratios, up to 4 images per
  request, 1500-char prompt)
- Add minimax-image-01 entry to models_dump.json (t2i section)
- Update README: list MiniMax Image 01 in newly-added image models
  and call out existing MiniMax Hailuo 02/2.3 video model support
- Add scripts/test_minimax_provider.js: validates model registration
  and optionally runs a live API smoke test (MUAPI_KEY env var)

MiniMax Hailuo 02/2.3 T2V and I2V models were already present;
this commit brings MiniMax image generation to feature parity.
2026-04-22 23:41:38 +08:00
Anil Matcha
36d392ab78 feat: add local model inference via sd.cpp (Electron-only)
- Scaffold full IPC bridge: preload.js exposes localAI API to renderer
- electron/lib/localInference.js: binary download (Metal-enabled macOS build),
  model management, auxiliary file downloads (Qwen3-4B LLM + FLUX VAE for Z-Image),
  and generation via sd-cli with DYLD_LIBRARY_PATH + xattr quarantine stripping
- electron/lib/modelCatalog.js: Z-Image Turbo/Base (featured) + SD 1.5/SDXL models
- Z-Image requires 3 components loaded via --diffusion-model + --llm + --vae flags
- ImageStudio: Local/API toggle (Electron-only), local model selector, progress bar
- SettingsModal: tabbed UI with Local Models tab (hidden on web/hosted version)
- LocalModelManager: engine status bar, per-model download cards, auxiliary
  component download UI (text encoder + VAE) for Z-Image models
- localInferenceClient.js: safe wrapper with isLocalAIAvailable() guard
- All local features gated behind isLocalAIAvailable() — web version unaffected

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-22 17:47:17 +05:30
Anil Matcha
aa6917e339 release: v1.0.2 — rename Seedance 2.0 models to SD 2, fix Windows build size
- Rename Seedance 2.0 → SD 2 (t2v, extend, i2v models)
- Bump version to 1.0.2
- Update README download links to v1.0.2
- Fix afterPack.js to strip platform-inappropriate @next/swc native binaries,
  reducing Windows installer from ~739 MB unpacked to ~144 MB
- Windows build now targets x64 only (arm64 cross-compile via Wine is broken on macOS)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-22 06:57:25 +05:30
Anil Matcha
1c33c1be7b fix: send required name and prompt fields for AI Video Effects
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>
2026-04-14 22:59:06 +05:30
Anil Matcha
1c6a0c863e Add Kling 2.6 and 3.0 Motion Control models 2026-04-12 00:01:04 +05:30
Anil Matcha
046f4ac071 Update API key access and add Veo 3.1 lite models 2026-04-11 21:02:57 +05:30
Developer
fe2d8dd0ac feat: Integrate prompt tools into ImageStudio and CinemaStudio
- 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
2026-03-25 23:22:59 +05:30
Anil Matcha
df7d2dd9a7 Convert to Next.js monorepo with shared studio component library
- Migrated from Vite/vanilla JS to Next.js App Router
- Added packages/studio: shared React component library (ImageStudio, VideoStudio, LipSyncStudio, CinemaStudio)
- BYOK flow via StandaloneShell (localStorage API key) + ApiKeyModal
- Fixed dropdown clipping caused by overflow-x-auto on controls row
- Fixed dropdown background to solid bg-[#111] (was glass/transparent)
- Renamed Cinema tab to Cinema Studio
- Updated README: architecture, quick start port (3000), tech stack

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-21 10:47:00 +05:30
Anil Matcha
82215cbf63 Add mode selector for video models and API key UI
- 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
2026-03-13 19:39:48 +05:30
Anil Matcha
f26506e9fd Add 15s duration and all modes to Grok Imagine video models
- grok-imagine-text-to-video: duration [6, 10] → [6, 10, 15], add mode field (fun/normal/spicy)
- grok-imagine-image-to-video: duration [6, 10] → [6, 10, 15]
- Update README with Grok Imagine T2V and I2V entries
2026-03-13 18:59:20 +05:30
Anil Matcha
d05c8448e8 Add Lip Sync Studio with 9 models (Infinite Talk, Wan 2.2, LTX, Sync, LatentSync, Creatify, Veed) 2026-03-12 17:41:17 +05:30
Anil Matcha
7ca2f280e7 Improve generation reliability and error handling
- 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
2026-03-10 10:17:44 +05:30
Anil Matcha
ade8e20fe8 Seedance 2.0 watermark remover changes added 2026-03-07 20:13:03 +05:30
Anil Matcha
d707604afe Add Seedance 2.0 i2v and video extend support
- 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
2026-03-04 15:11:09 +05:30
Anil Matcha
492f8bf693 Add Seedance 2.0 text-to-video model
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.
2026-03-02 15:24:29 +05:30
Anil Matcha
aca8ff152b Nano banana resolution fix 2026-02-27 19:07:40 +05:30
Anil Matcha
a65bdb2a77 Add Nano Banana 2, Seedream 5.0 models with multi-image input support
- 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
2026-02-27 19:03:06 +05:30
Anil Matcha
996571828c Add image upload history, i2i/i2v model support with dynamic mode switching
- Add uploadHistory.js: localStorage CRUD + canvas thumbnail generation
- Add UploadPicker.js: reusable upload button + history panel component
- Add i2i/i2v models from schema_data.json to models.js (115 models)
- Add generateI2I, generateI2V, uploadFile methods to muapi.js
- ImageStudio: dynamically switches between t2i and i2i models based on image presence
- VideoStudio: dynamically switches between t2v and i2v models based on image presence
- Fix i2i/i2v model display names derived from slugs instead of generic variant labels
2026-02-23 21:04:33 +05:30
Anil Matcha
6eebebc9ec Added Video Studio 2026-02-17 21:52:55 +05:30
Anil Matcha
f9adf55aa4 Cinema studio feature supported 2026-02-14 15:02:51 +05:30
Anil Matcha
e0efb745d5 feat: Add image generation studio with Muapi API integration
- 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
2026-02-12 22:02:20 +05:30