@mrgoonie/multix 0.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json ADDED
@@ -0,0 +1,71 @@
1
+ {
2
+ "name": "@mrgoonie/multix",
3
+ "version": "0.0.2",
4
+ "description": "AI multimodal CLI — Gemini, MiniMax, OpenRouter, ffmpeg, ImageMagick, doc-to-md",
5
+ "type": "module",
6
+ "bin": {
7
+ "multix": "./dist/cli.js"
8
+ },
9
+ "main": "./dist/index.js",
10
+ "types": "./dist/index.d.ts",
11
+ "exports": {
12
+ ".": {
13
+ "import": "./dist/index.js",
14
+ "types": "./dist/index.d.ts"
15
+ }
16
+ },
17
+ "files": ["dist", "skill", "README.md", "LICENSE", "CHANGELOG.md"],
18
+ "engines": {
19
+ "node": ">=20"
20
+ },
21
+ "scripts": {
22
+ "build": "tsup",
23
+ "dev": "tsup --watch",
24
+ "start": "node dist/cli.js",
25
+ "lint": "biome check .",
26
+ "format": "biome format --write .",
27
+ "typecheck": "tsc --noEmit",
28
+ "test": "vitest run",
29
+ "test:watch": "vitest",
30
+ "test:smoke": "vitest run tests/smoke"
31
+ },
32
+ "keywords": [
33
+ "cli",
34
+ "ai",
35
+ "multimodal",
36
+ "gemini",
37
+ "minimax",
38
+ "openrouter",
39
+ "ffmpeg",
40
+ "imagemagick",
41
+ "media",
42
+ "image-generation",
43
+ "video-generation",
44
+ "speech-generation",
45
+ "document-converter"
46
+ ],
47
+ "author": "multix-cli contributors",
48
+ "license": "MIT",
49
+ "repository": {
50
+ "type": "git",
51
+ "url": "git+https://github.com/mrgoonie/multix-cli.git"
52
+ },
53
+ "bugs": {
54
+ "url": "https://github.com/mrgoonie/multix-cli/issues"
55
+ },
56
+ "homepage": "https://github.com/mrgoonie/multix-cli#readme",
57
+ "dependencies": {
58
+ "commander": "^12.1.0",
59
+ "dotenv": "^16.4.5",
60
+ "execa": "^9.4.0",
61
+ "undici": "^7.2.0",
62
+ "zod": "^3.23.8"
63
+ },
64
+ "devDependencies": {
65
+ "@biomejs/biome": "^1.9.4",
66
+ "@types/node": "^22.10.0",
67
+ "tsup": "^8.3.5",
68
+ "typescript": "^5.7.2",
69
+ "vitest": "^2.1.8"
70
+ }
71
+ }
package/skill/SKILL.md ADDED
@@ -0,0 +1,156 @@
1
+ ---
2
+ name: multix
3
+ description: AI multimodal CLI — Gemini/MiniMax/OpenRouter image & video generation, ffmpeg/ImageMagick media optimization, document-to-Markdown conversion via Gemini Files API.
4
+ version: 0.0.1
5
+ ---
6
+
7
+ # multix — AI Multimodal CLI
8
+
9
+ ## When to use
10
+
11
+ Activate this skill when the user asks to:
12
+ - Generate, analyze, or describe images or video
13
+ - Transcribe audio or video files
14
+ - Extract structured data from documents (PDF, DOCX, images)
15
+ - Convert documents to Markdown
16
+ - Optimize or split video/audio/image files
17
+ - Generate speech (TTS) or music
18
+
19
+ ## Required env (at least one)
20
+
21
+ ```
22
+ GEMINI_API_KEY # Google AI Studio — required for analyze/transcribe/doc/generate
23
+ OPENROUTER_API_KEY # OpenRouter — alternative image generation
24
+ MINIMAX_API_KEY # MiniMax — image, video, speech, music generation
25
+ ```
26
+
27
+ ## Installation
28
+
29
+ ```bash
30
+ npm install -g multix
31
+ # or run without installing:
32
+ npx multix --help
33
+ ```
34
+
35
+ ## Diagnostics
36
+
37
+ ```bash
38
+ multix check # verify keys, tooling, Gemini connectivity
39
+ multix check --verbose # show install hints
40
+ ```
41
+
42
+ ## Command reference
43
+
44
+ ### Gemini (analyze / generate)
45
+
46
+ ```bash
47
+ # Analyze files
48
+ multix gemini analyze --files photo.jpg video.mp4 --prompt "Describe this content" -v
49
+
50
+ # Transcribe audio
51
+ multix gemini transcribe --files recording.mp3 --model gemini-2.5-flash
52
+
53
+ # Extract structured data
54
+ multix gemini extract --files report.pdf --prompt "Extract tables as JSON" --format json
55
+
56
+ # Generate images (Nano Banana — fastest)
57
+ multix gemini generate --prompt "A sunset over mountains" --aspect-ratio 16:9 --size 2K
58
+
59
+ # Generate images (Imagen 4 — production quality)
60
+ multix gemini generate --prompt "Product photo" --model imagen-4.0-ultra-generate-001 --num-images 4
61
+
62
+ # Generate video (Veo — EXPERIMENTAL, requires billing)
63
+ multix gemini generate-video --prompt "Ocean waves at sunset" --resolution 1080p
64
+ ```
65
+
66
+ ### MiniMax
67
+
68
+ ```bash
69
+ # Generate image
70
+ multix minimax generate --prompt "A cat in space" --aspect-ratio 1:1
71
+
72
+ # Generate video (async, up to 10 min)
73
+ multix minimax generate-video --prompt "A dancer on stage" --duration 6 --resolution 1080P
74
+
75
+ # Text-to-speech
76
+ multix minimax generate-speech --text "Hello, world!" --voice English_expressive_narrator --output-format mp3
77
+
78
+ # Music generation
79
+ multix minimax generate-music --lyrics "Verse 1: Under the stars..." --model music-2.5
80
+ ```
81
+
82
+ ### OpenRouter
83
+
84
+ ```bash
85
+ # Image generation via OpenRouter
86
+ multix openrouter generate --prompt "Retro robot mascot" --aspect-ratio 3:2
87
+ multix openrouter generate --prompt "Landscape" --model anthropic/claude-3-5-sonnet
88
+ ```
89
+
90
+ ### Media optimization
91
+
92
+ ```bash
93
+ # Optimize single file
94
+ multix media optimize --input video.mp4 --output out.mp4 --target-size 100
95
+ multix media optimize --input audio.mp3 --output out.m4a --bitrate 64k
96
+ multix media optimize --input photo.jpg --output resized.jpg --max-width 1920
97
+
98
+ # Split long video into 1-hour chunks
99
+ multix media split --input long-video.mp4 --output-dir ./chunks --chunk-duration 3600
100
+
101
+ # Batch optimize a directory
102
+ multix media batch --input-dir ./raw --output-dir ./optimized --quality 85
103
+ ```
104
+
105
+ ### Document conversion
106
+
107
+ ```bash
108
+ # Convert PDF to Markdown
109
+ multix doc convert --input document.pdf
110
+
111
+ # Auto-name output from input basename
112
+ multix doc convert --input report.pdf --auto-name
113
+ # Output: multix-output/report-extraction.md
114
+
115
+ # Custom output path
116
+ multix doc convert --input doc1.pdf doc2.docx --output ./combined.md
117
+ ```
118
+
119
+ ## Decision tree
120
+
121
+ ```
122
+ User wants to generate image?
123
+ ├── Has GEMINI_API_KEY? → multix gemini generate
124
+ ├── Has OPENROUTER_API_KEY? → multix openrouter generate
125
+ └── Has MINIMAX_API_KEY? → multix minimax generate
126
+
127
+ User wants to generate video?
128
+ ├── Gemini/Veo (experimental, billing required) → multix gemini generate-video
129
+ └── MiniMax Hailuo (reliable, async) → multix minimax generate-video
130
+
131
+ User wants to analyze/transcribe a file?
132
+ └── multix gemini analyze|transcribe|extract --files <path>
133
+
134
+ User wants to convert document to Markdown?
135
+ └── multix doc convert --input <file>
136
+
137
+ User wants to optimize media?
138
+ └── multix media optimize|split|batch
139
+ ```
140
+
141
+ ## Environment variables (full list)
142
+
143
+ | Variable | Provider | Purpose |
144
+ |---|---|---|
145
+ | `GEMINI_API_KEY` | Gemini | Required for all Gemini operations |
146
+ | `OPENROUTER_API_KEY` | OpenRouter | Image generation via OpenRouter |
147
+ | `MINIMAX_API_KEY` | MiniMax | Image/video/speech/music generation |
148
+ | `MULTIX_OUTPUT_DIR` | Core | Override default output dir (`./multix-output`) |
149
+ | `OPENROUTER_IMAGE_MODEL` | OpenRouter | Default model override |
150
+ | `OPENROUTER_FALLBACK_MODELS` | OpenRouter | Comma-separated fallback model ids |
151
+ | `OPENROUTER_SITE_URL` | OpenRouter | HTTP-Referer header |
152
+ | `OPENROUTER_APP_NAME` | OpenRouter | X-Title header (default: multix) |
153
+ | `IMAGE_GEN_MODEL` | Gemini | Override default image generation model |
154
+ | `VIDEO_GEN_MODEL` | Gemini | Override default video generation model |
155
+ | `MULTIMODAL_MODEL` | Gemini | Override default analysis model |
156
+ | `MULTIX_DISABLE_HOME_ENV` | Core | Set to 1 to skip `~/.multix/.env` loading |