@heyamiko/amiko-cli 0.15.3 → 0.16.1
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/README.md +2034 -35
- package/dist/index.js +4640 -1556
- package/package.json +3 -2
- package/skills/SKILL.md +44 -8
package/README.md
CHANGED
|
@@ -34,8 +34,9 @@ amiko credits balance
|
|
|
34
34
|
# Top up credits (platform signs the transfer from your agent wallet)
|
|
35
35
|
amiko credits topup 10000 --token AMIKO --yes
|
|
36
36
|
|
|
37
|
-
# Search
|
|
38
|
-
amiko
|
|
37
|
+
# Search the web ($0.01 — google by default)
|
|
38
|
+
amiko search web "AI agents"
|
|
39
|
+
amiko search x "AI agents" # or X/Twitter, news, scholar, amazon, …
|
|
39
40
|
|
|
40
41
|
# Generate an image (5 AMIKO)
|
|
41
42
|
amiko markets image "a sunset over mountains" --wallet <solana-address>
|
|
@@ -93,15 +94,41 @@ amiko credits topup 10000 --wallet Gu2b...QVya # specific wallet (else de
|
|
|
93
94
|
|
|
94
95
|
## Search
|
|
95
96
|
|
|
97
|
+
`amiko search <vertical> <query>` — one group, seventeen verticals, $0.01 each.
|
|
98
|
+
|
|
96
99
|
```bash
|
|
97
|
-
amiko
|
|
98
|
-
amiko
|
|
99
|
-
amiko
|
|
100
|
-
amiko
|
|
100
|
+
amiko search web "AI agents" # general web (google by default)
|
|
101
|
+
amiko search web "AI agents" --engine bing # or bing / duckduckgo
|
|
102
|
+
amiko search x "AI agents" # X / Twitter
|
|
103
|
+
amiko search news "election" --country gb # Google News
|
|
104
|
+
amiko search amazon "usb c hub" --max 40 # Amazon products
|
|
105
|
+
amiko search scholar "crispr" --from 2020 # Google Scholar
|
|
106
|
+
amiko search engines # what's live, and each engine's params — free
|
|
101
107
|
```
|
|
102
108
|
|
|
109
|
+
| vertical | source | notable flags |
|
|
110
|
+
|---|---|---|
|
|
111
|
+
| `web` | Google / Bing / DuckDuckGo | `--engine`, `--country`, `--lang`, `--since` |
|
|
112
|
+
| `x` | X / Twitter | — |
|
|
113
|
+
| `news` | Google News | `--country`, `--lang`, `--since`, `--sort` |
|
|
114
|
+
| `images` | Google Images | `--size`, `--color`, `--image-type` |
|
|
115
|
+
| `videos` `youtube` | Google Videos, YouTube | `--country`, `--lang` |
|
|
116
|
+
| `scholar` `patents` | Google Scholar, Patents | `--from`, `--to`, `--page` |
|
|
117
|
+
| `maps` `jobs` | Google Maps, Jobs | `--ll`, `--location` |
|
|
118
|
+
| `shopping` `amazon` `walmart` | Google Shopping, Amazon, Walmart | `--min`, `--max`, `--sort` |
|
|
119
|
+
| `finance` `trends` | Google Finance, Trends | `--geo`, `--date` |
|
|
120
|
+
| `engines` | catalog — **free** | `--raw` |
|
|
121
|
+
|
|
122
|
+
Every vertical also takes `--limit`, `--raw`, `--token`, `--wallet`, `--yes`, and `--param key=value` (repeatable) for any upstream parameter the curated flags don't cover — `amiko search engines` lists what each engine accepts.
|
|
123
|
+
|
|
124
|
+
**For agents:** `--raw` prints the full JSON response and nothing else on stdout, so it pipes straight into a parser. Deprecation notices and errors go to stderr.
|
|
125
|
+
|
|
103
126
|
Each search is anchored at $0.01. The CLI quotes the real token amount before the approval gate — AMIKO converts at the live platform spot; USDC/USDT are pinned at $1.00 so the amount equals the USD price. Payment is a Crossmint wallet transfer from your Solana wallet; the tx rides to MPP as `X-Payment-Tx` + `X-Payment-Token`.
|
|
104
127
|
|
|
128
|
+
Payment settles on-chain **before** the request goes out and has no refund path, so when a search fails after payment the CLI prints what was charged and the tx hash rather than letting the failure look free.
|
|
129
|
+
|
|
130
|
+
> `amiko markets search` (X) and `amiko markets amazon search` still work and are unchanged in behaviour, but they now warn and delegate here. Use `amiko search x` / `amiko search amazon`.
|
|
131
|
+
|
|
105
132
|
## Image Generation
|
|
106
133
|
|
|
107
134
|
```bash
|
|
@@ -125,12 +152,13 @@ The CLI half of the platform's Create Studio. `amiko create` generates media thr
|
|
|
125
152
|
```bash
|
|
126
153
|
amiko create image "a sunset over mountains" # default nano-banana-2, 1:1
|
|
127
154
|
amiko create image "logo" --aspect 16:9 --model gpt-image-2 # widescreen, OpenAI
|
|
155
|
+
amiko create image "same character, in the snow" --reference-image ./portrait.png --yes
|
|
128
156
|
amiko create image "a sunset" --pay credits --yes # pay with Amiko account credits (unified accounts)
|
|
129
157
|
amiko create video "a whale in space" --resolution 768P --seconds 6
|
|
130
158
|
amiko create video "animate cover" --first-frame https://.../cover.png --yes
|
|
131
159
|
amiko create video "a slow pan over dunes at dusk" --model MiniMax-H3 --seconds 12 --resolution 2K --aspect 21:9 --yes
|
|
132
160
|
amiko create video "dance clip" --model dreamina-seedance-2-0-fast-260128 \
|
|
133
|
-
--reference-image
|
|
161
|
+
--reference-image ./ref1.png --reference-audio ./beat.wav --generate-audio --yes
|
|
134
162
|
amiko create tts "Hello world" --voice 21m00Tcm4TlvDq8ikWAM
|
|
135
163
|
amiko create tts "Hello world" --provider minimax --model speech-2.8-turbo
|
|
136
164
|
amiko create tts "Hello" --provider minimax --voice English_expressive_narrator --yes
|
|
@@ -159,27 +187,45 @@ Modes: `image`, `video`, `tts`, `music`, `sfx` (mirrors the platform Create Stud
|
|
|
159
187
|
|------|---------|-------------|
|
|
160
188
|
| `--model <model>` | `nano-banana-2` | Image model (`nano-banana[-2|-lite|-pro]`, `gpt-image-*`, `grok-imagine-image-quality`, `image-01`) |
|
|
161
189
|
| `--aspect <ratio>` | `1:1` | Aspect ratio: `1:1`, `16:9`, `9:16`, `4:3`, `3:4` |
|
|
190
|
+
| `--reference-image <file\|url>` | — | Image-to-image reference, repeatable. `nano-banana*` / `gpt-image*`: up to 4; `image-01`: exactly 1 front-facing character portrait; `grok-imagine-image-quality`: unsupported |
|
|
191
|
+
|
|
192
|
+
Prompts are capped at 2000 characters. The reference-image count and per-model support are checked before anything is uploaded or quoted.
|
|
162
193
|
|
|
163
194
|
**`amiko create video <prompt>`**
|
|
164
195
|
|
|
165
196
|
| Flag | Default | Description |
|
|
166
197
|
|------|---------|-------------|
|
|
167
198
|
| `--model <model>` | smart | Video model (`MiniMax-Hailuo-*`, `MiniMax-H3`, `dreamina-seedance-2-0-fast-260128`, …). Default: `MiniMax-Hailuo-02` for prompt-only (T2V), `MiniMax-Hailuo-2.3-Fast` when `--first-frame` is given (I2V) |
|
|
168
|
-
| `--resolution <res>` | `768P` | `512P`, `720P`, `768P`, `1080P
|
|
199
|
+
| `--resolution <res>` | `768P` | `512P`, `720P`, `768P`, `1080P` (MiniMax, Grok, Seedance); `720p`, `1080p`, `4k` (Veo); `MiniMax-H3` only `768P` or `2K` |
|
|
169
200
|
| `--seconds <n>` | `6` | Clip length: `6`/`10` (Hailuo), `4`/`6`/`8` (Veo), `4`/`6`/`8`/`10` (Grok, Seedance), any whole number `4`–`15` (`MiniMax-H3`) |
|
|
170
201
|
| `--aspect <ratio>` | — | Aspect ratio (provider-dependent). `MiniMax-H3` text-to-video needs a concrete ratio (`21:9`, `16:9`, `4:3`, `1:1`, `3:4`, `9:16`) and defaults to `16:9` when omitted |
|
|
171
|
-
| `--first-frame <url>` | — | Image-to-video: first frame
|
|
172
|
-
| `--last-frame <url>` | — | First-and-last-frame video: ending frame
|
|
173
|
-
| `--reference-image <url>` | — |
|
|
174
|
-
| `--reference-video <url>` | — |
|
|
175
|
-
| `--reference-audio <url>` | — |
|
|
176
|
-
| `--subject-reference <url>` | — | MiniMax S2V / H3 subject/character reference image |
|
|
177
|
-
| `--generate-audio` | — | Seedance:
|
|
178
|
-
| `--no-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
202
|
+
| `--first-frame <file\|url>` | — | Image-to-video: first frame |
|
|
203
|
+
| `--last-frame <file\|url>` | — | First-and-last-frame video: ending frame (`MiniMax-H3`, Seedance, Veo) |
|
|
204
|
+
| `--reference-image <file\|url>` | — | Reference image, repeatable (H3 / Seedance / Grok: max 9; Veo: max 3; H3 surcharges images past the 5th) |
|
|
205
|
+
| `--reference-video <file\|url>` | — | Reference video, repeatable, max 3 (`MiniMax-H3`, Seedance; H3 bills the input seconds too) |
|
|
206
|
+
| `--reference-audio <file\|url>` | — | Reference audio, repeatable, max 3 (`MiniMax-H3`, Seedance; needs an image or video reference alongside) |
|
|
207
|
+
| `--subject-reference <file\|url>` | — | MiniMax S2V / H3 subject/character reference image |
|
|
208
|
+
| `--generate-audio` / `--no-generate-audio` | — | Seedance: audio in the output video |
|
|
209
|
+
| `--watermark` / `--no-watermark` | — | Seedance: burn in a watermark |
|
|
210
|
+
| `--camera-fixed` / `--no-camera-fixed` | — | Seedance: hold the camera still |
|
|
211
|
+
| `--prompt-optimizer` / `--no-prompt-optimizer` | — | MiniMax (H3 + Hailuo v1): let the model rewrite the prompt |
|
|
212
|
+
| `--fast-pretreatment` / `--no-fast-pretreatment` | — | MiniMax Hailuo v1: faster input pre-processing |
|
|
213
|
+
|
|
214
|
+
Every media flag takes a **local file path** as well as an https URL (`--first-frame`/`--last-frame` also accept a data URI); local files are uploaded for you. Typical I2V flow: `create image` → `create status <jobId>` for the image URL → `create video --first-frame <url>`.
|
|
215
|
+
|
|
216
|
+
**Reference support by family.** The CLI validates all of it before the quote, so a rejected combination costs nothing:
|
|
217
|
+
|
|
218
|
+
| | ref images | ref video | ref audio | frames | notes |
|
|
219
|
+
|---|---|---|---|---|---|
|
|
220
|
+
| `MiniMax-H3` | 9 | 3 | 3 | either alone | 12 files total; frames ⊕ references (audio counts); audio 2–15s per clip; video+audio ≤15s |
|
|
221
|
+
| Seedance | 9 | 3 | 3 | `--last-frame` needs `--first-frame` | frames ⊕ image/video references; audio needs a visual reference; video+audio ≤15s |
|
|
222
|
+
| Veo 3.1 | 3 | — | — | `--last-frame` needs `--first-frame` | frames ⊕ references; `-lite` is prompt-only |
|
|
223
|
+
| Grok | 9 | — | — | `--first-frame` only | |
|
|
224
|
+
| Hailuo v1 | — | — | — | `--first-frame` only | use `--subject-reference`; `--reference-image` would be silently dropped |
|
|
225
|
+
|
|
226
|
+
`--subject-reference` takes the place of a reference-image slot rather than adding to it — except on Hailuo v1, where the provider keeps it as its own field. Durations are read from the **local file's bytes**, so the ≤15s budget and H3's 2–15s audio window are checked for `.wav`/`.mp4`/`.mov` paths and skipped for https URLs and `.mp3` (the server has the last word there).
|
|
227
|
+
|
|
228
|
+
**MiniMax-H3** (aliases `h3`, `hailuo-03`) is MiniMax's v2 video API and follows its own rules: a prompt is required in every mode (at most 7000 characters, checked locally — every other model caps at 2000), clips run any whole number of seconds from 4 to 15, only `768P` and `2K` exist, and it is billed **per second** (plus reference-video input seconds and a per-image surcharge past 5 reference images), so the quote scales with `--seconds`. It does text-to-video, first/last-frame image-to-video, and reference-to-video.
|
|
183
229
|
|
|
184
230
|
**`amiko create tts <text>`**
|
|
185
231
|
|
|
@@ -204,10 +250,12 @@ Examples: `amiko create tts "Hi" --provider minimax --yes` · `amiko create tts
|
|
|
204
250
|
|
|
205
251
|
| Flag | Default | Description |
|
|
206
252
|
|------|---------|-------------|
|
|
207
|
-
| `--model <model>` | `music-
|
|
208
|
-
| `--lyrics <lyrics>` | — | Lyrics (optional) |
|
|
253
|
+
| `--model <model>` | `music-3.0` | `music-3.0`, `music-cover`, `music_v1` (the retired `music-2.0/2.5/2.6` ids still resolve to `music-3.0`) |
|
|
254
|
+
| `--lyrics <lyrics>` | — | Lyrics (optional); needs section tags on their own lines, e.g. `[verse]` / `[chorus]` |
|
|
209
255
|
| `--duration <seconds>` | — | Track length in seconds, 1–300. `music-3.0` bills per second, so this sets the price |
|
|
256
|
+
| `--audio-url <file\|url>` | — | Audio to cover — local file path or https URL (required by `--model music-cover`) |
|
|
210
257
|
| `--instrumental` | — | Instrumental (no vocals) |
|
|
258
|
+
| `--lyrics-optimizer` | — | Auto-write lyrics from the prompt (only affects `music_v1`) |
|
|
211
259
|
|
|
212
260
|
**`amiko create sfx <text>`**
|
|
213
261
|
|
|
@@ -346,8 +394,8 @@ amiko card mint <slug> --status # check an existing mint
|
|
|
346
394
|
## Amazon
|
|
347
395
|
|
|
348
396
|
```bash
|
|
349
|
-
amiko
|
|
350
|
-
amiko
|
|
397
|
+
amiko search amazon "usb c cable" # product search ($0.01)
|
|
398
|
+
amiko search amazon "ssd" --token USDT # pay in USDT directly
|
|
351
399
|
amiko markets amazon quote B01GGKYKQM # price quote (free)
|
|
352
400
|
```
|
|
353
401
|
|
|
@@ -623,21 +671,1972 @@ Every new command accepts `--json` for structured output and `--twin <id>` where
|
|
|
623
671
|
|
|
624
672
|
**Destructive or identity-changing commands** (`docs delete`, `friends remove`, `friends nickname set/remove`, `voice reset`, `avatar update`, `twin update --public`) prompt for confirmation in a TTY and require `--yes` in non-interactive shells.
|
|
625
673
|
|
|
626
|
-
##
|
|
674
|
+
## Command Reference
|
|
675
|
+
|
|
676
|
+
Every command, subcommand and flag the CLI currently accepts. This section is **generated** from the CLI's own command tree — regenerate it with `bun run gen:reference` after changing any `.command()` or `.option()` call, and `bun test` will fail if you forget.
|
|
677
|
+
|
|
678
|
+
<!-- BEGIN COMMAND REFERENCE (generated) -->
|
|
679
|
+
|
|
680
|
+
_Generated from the CLI's own command tree by `bun run gen:reference`. Every row here is the same text `amiko <command> --help` prints — edit the `.option()` call, not this table._
|
|
681
|
+
|
|
682
|
+
### Groups at a glance
|
|
683
|
+
|
|
684
|
+
| Group | Description |
|
|
685
|
+
|---|---|
|
|
686
|
+
| `markets` | MPP marketplace — discover and call paid AMIKO services |
|
|
687
|
+
| `create` | Create Studio — generate images, video, speech, music, and SFX (charged on success) |
|
|
688
|
+
| `chat` | Your conversations (DMs + group chats) as the owner — list, read, send, manage groups |
|
|
689
|
+
| `card` | Twin Cards (work/play/love) — generate, view, download, mint |
|
|
690
|
+
| `wallets` | Manage twin wallets — list, swap, bridge |
|
|
691
|
+
| `twin` | Update twin identity (name, description, visibility) |
|
|
692
|
+
| `drive` | Manage twin drive — upload/download/search files, organise into folders |
|
|
693
|
+
| `voice` | Manage twin voice — design, create, clone, reset |
|
|
694
|
+
| `avatar` | Manage twin avatar image |
|
|
695
|
+
| `friends` | Manage friendships — list, requests, add, accept, remove, nicknames, reports, matches |
|
|
696
|
+
| `users` | Search users, view public profiles, and manage follows (follow, unfollow, followers, following) |
|
|
697
|
+
| `post` | Create posts (notes) and comments on the feed — text, images, and documents |
|
|
698
|
+
| `review` | Review queue — list, approve, or reject twin-drafted comments |
|
|
699
|
+
| `notifications` | Platform notifications — list, mark as read |
|
|
700
|
+
| `credits` | Manage Amiko credit balance and top-ups |
|
|
701
|
+
| `search` | Paid web search across Google, Bing, X, Amazon, news, images, scholar and more — $0.01 per search |
|
|
702
|
+
| `config` | Show resolved CLI configuration (from .amiko.json) |
|
|
703
|
+
| `memory` | Manage cross-agent memories — add, list, search, remove, upload files |
|
|
704
|
+
| `update` | Update amiko-cli to the latest version |
|
|
705
|
+
| `accounts` | Show resolved identity (platform, user, twin, wallets) |
|
|
706
|
+
| `info` | Get twin info (name, description, voice ids, avatar) |
|
|
707
|
+
| `feed` | Get feed posts (notes) |
|
|
708
|
+
|
|
709
|
+
### `amiko markets`
|
|
710
|
+
|
|
711
|
+
MPP marketplace — discover and call paid AMIKO services
|
|
712
|
+
|
|
713
|
+
| Subcommand | Description |
|
|
714
|
+
|---|---|
|
|
715
|
+
| `markets search` | [deprecated — use `amiko search x`] X / Twitter search — $0.01 |
|
|
716
|
+
| `markets image` | Generate an image — pay in AMIKO, USDC, or USDT (cost varies by model/quality/size; exact amount quoted before charging) |
|
|
717
|
+
| `markets amazon` | Buy products on Amazon — quote and order, paid in AMIKO, USDC, or USDT |
|
|
718
|
+
| `markets service` | Call any MPP service — pay in AMIKO, USDC, or USDT |
|
|
719
|
+
| `markets discover` | Show MPP service info, endpoints, and pricing |
|
|
720
|
+
| `markets ping` | Check if the MPP service is online |
|
|
721
|
+
|
|
722
|
+
#### `amiko markets search <query>`
|
|
723
|
+
|
|
724
|
+
[deprecated — use `amiko search x`] X / Twitter search — $0.01
|
|
627
725
|
|
|
628
|
-
|
|
|
629
|
-
|
|
630
|
-
|
|
|
631
|
-
|
|
|
726
|
+
| Flag | Default | Description |
|
|
727
|
+
|---|---|---|
|
|
728
|
+
| `--limit <n>` | `5` | Max results to print |
|
|
729
|
+
| `--param <key=value>` | | Extra upstream parameter (repeat for more) |
|
|
730
|
+
| `--raw` | | Output raw JSON — the full response, nothing else on stdout |
|
|
731
|
+
| `--token <token>` | `AMIKO` | Payment token (AMIKO, USDC, USDT) |
|
|
732
|
+
| `--wallet <address>` | | Wallet to pay from (defaults to your Solana wallet — run `amiko wallets create --chain solana` if you don't have one) |
|
|
733
|
+
| `--yes` | | Skip the pre-spend confirmation (required in non-interactive shells) |
|
|
632
734
|
|
|
633
|
-
|
|
735
|
+
#### `amiko markets image <prompt>` (alias: `img`)
|
|
634
736
|
|
|
635
|
-
|
|
636
|
-
bun build src/index.ts --outdir dist --target node --format esm
|
|
637
|
-
npm publish
|
|
638
|
-
```
|
|
737
|
+
Generate an image — pay in AMIKO, USDC, or USDT (cost varies by model/quality/size; exact amount quoted before charging)
|
|
639
738
|
|
|
640
|
-
|
|
739
|
+
| Flag | Default | Description |
|
|
740
|
+
|---|---|---|
|
|
741
|
+
| `--size <size>` | `1024x1024` | Image size: 1024x1024, 1024x1536, 1536x1024 |
|
|
742
|
+
| `--quality <q>` | `high` | Quality: low, medium, high, auto |
|
|
743
|
+
| `--model <model>` | `gpt-image-2` | Model: gpt-image-2, gpt-image-1.5, gpt-image-1, gpt-image-1-mini |
|
|
744
|
+
| `--n <count>` | `1` | Number of images (1–4) |
|
|
745
|
+
| `--background <bg>` | | Background: transparent, opaque, auto |
|
|
746
|
+
| `--format <fmt>` | `png` | Output: png, webp, jpeg |
|
|
747
|
+
| `--wallet <address>` | | Wallet to pay from (defaults to your Solana wallet — run `amiko wallets create --chain solana` if you don't have one) |
|
|
748
|
+
| `--token <token>` | `AMIKO` | Payment token (AMIKO, USDC, USDT) |
|
|
749
|
+
| `--raw` | | Output raw JSON |
|
|
750
|
+
| `--yes` | | Skip the pre-spend confirmation (required in non-interactive shells) |
|
|
751
|
+
|
|
752
|
+
#### `amiko markets amazon`
|
|
753
|
+
|
|
754
|
+
Buy products on Amazon — quote and order, paid in AMIKO, USDC, or USDT
|
|
755
|
+
|
|
756
|
+
##### `amiko markets amazon search <query>`
|
|
757
|
+
|
|
758
|
+
[deprecated — use `amiko search amazon`] Search Amazon products — $0.01
|
|
759
|
+
|
|
760
|
+
| Flag | Default | Description |
|
|
761
|
+
|---|---|---|
|
|
762
|
+
| `--domain <domain>` | | Marketplace, e.g. amazon.co.uk |
|
|
763
|
+
| `--min <price>` | | Minimum price |
|
|
764
|
+
| `--max <price>` | | Maximum price |
|
|
765
|
+
| `--sort <by>` | | Sort order |
|
|
766
|
+
| `--page <n>` | | Result page |
|
|
767
|
+
| `--limit <n>` | `5` | Max results to print |
|
|
768
|
+
| `--param <key=value>` | | Extra upstream parameter (repeat for more) |
|
|
769
|
+
| `--raw` | | Output raw JSON — the full response, nothing else on stdout |
|
|
770
|
+
| `--token <token>` | `AMIKO` | Payment token (AMIKO, USDC, USDT) |
|
|
771
|
+
| `--wallet <address>` | | Wallet to pay from (defaults to your Solana wallet — run `amiko wallets create --chain solana` if you don't have one) |
|
|
772
|
+
| `--yes` | | Skip the pre-spend confirmation (required in non-interactive shells) |
|
|
773
|
+
|
|
774
|
+
##### `amiko markets amazon quote <product>`
|
|
775
|
+
|
|
776
|
+
Get price quote for an Amazon product (ASIN or URL) — free
|
|
777
|
+
|
|
778
|
+
| Flag | Default | Description |
|
|
779
|
+
|---|---|---|
|
|
780
|
+
| `--raw` | | Output raw JSON |
|
|
781
|
+
|
|
782
|
+
#### `amiko markets service`
|
|
783
|
+
|
|
784
|
+
Call any MPP service — pay in AMIKO, USDC, or USDT
|
|
785
|
+
|
|
786
|
+
##### `amiko markets service tts <voiceId> <text>`
|
|
787
|
+
|
|
788
|
+
Text-to-speech via mpp /v1/tts (pay-per-call)
|
|
789
|
+
|
|
790
|
+
| Flag | Default | Description |
|
|
791
|
+
|---|---|---|
|
|
792
|
+
| `--provider <name>` | | elevenlabs (default) \| minimax |
|
|
793
|
+
| `--model <model>` | | MiniMax speech-* model when provider=minimax |
|
|
794
|
+
| `--raw` | | Output raw response |
|
|
795
|
+
| `--wallet <address>` | | Wallet to pay from (defaults to your Solana wallet — run `amiko wallets create --chain solana` if none) |
|
|
796
|
+
| `--yes` | | Skip the pre-spend confirmation (required in non-interactive shells) |
|
|
797
|
+
|
|
798
|
+
##### `amiko markets service stt <audioUrl>`
|
|
799
|
+
|
|
800
|
+
Speech-to-text — 1 AMIKO
|
|
801
|
+
|
|
802
|
+
| Flag | Default | Description |
|
|
803
|
+
|---|---|---|
|
|
804
|
+
| `--raw` | | Output raw response |
|
|
805
|
+
| `--wallet <address>` | | Wallet to pay from (defaults to your Solana wallet — run `amiko wallets create --chain solana` if none) |
|
|
806
|
+
| `--yes` | | Skip the pre-spend confirmation (required in non-interactive shells) |
|
|
807
|
+
|
|
808
|
+
##### `amiko markets service voices`
|
|
809
|
+
|
|
810
|
+
List available voices — free
|
|
811
|
+
|
|
812
|
+
##### `amiko markets service chat <message>`
|
|
813
|
+
|
|
814
|
+
AI chat — 1 AMIKO
|
|
815
|
+
|
|
816
|
+
| Flag | Default | Description |
|
|
817
|
+
|---|---|---|
|
|
818
|
+
| `--model <model>` | | Model to use |
|
|
819
|
+
| `--raw` | | Output raw response |
|
|
820
|
+
| `--wallet <address>` | | Wallet to pay from (defaults to your Solana wallet — run `amiko wallets create --chain solana` if none) |
|
|
821
|
+
| `--yes` | | Skip the pre-spend confirmation (required in non-interactive shells) |
|
|
822
|
+
|
|
823
|
+
##### `amiko markets service call <method> <path> [body]`
|
|
824
|
+
|
|
825
|
+
Call any MPP endpoint — pays in AMIKO, USDC, or USDT on Solana
|
|
826
|
+
|
|
827
|
+
| Flag | Default | Description |
|
|
828
|
+
|---|---|---|
|
|
829
|
+
| `--amiko <amount>` | | AMIKO tokens to pay (default: auto-price from USD) |
|
|
830
|
+
| `--usdc <amount>` | | Pay in USDC instead of AMIKO ("auto" to price from USD) |
|
|
831
|
+
| `--usdt <amount>` | | Pay in USDT instead of AMIKO ("auto" to price from USD) |
|
|
832
|
+
| `--raw` | | Output raw response |
|
|
833
|
+
| `--wallet <address>` | | Wallet to pay from (defaults to your Solana wallet — run `amiko wallets create --chain solana` if none) |
|
|
834
|
+
| `--yes` | | Skip the pre-spend confirmation (required in non-interactive shells) |
|
|
835
|
+
|
|
836
|
+
##### `amiko markets service list` (alias: `ls`)
|
|
837
|
+
|
|
838
|
+
List available MPP services and prices
|
|
839
|
+
|
|
840
|
+
#### `amiko markets discover` (alias: `status`)
|
|
841
|
+
|
|
842
|
+
Show MPP service info, endpoints, and pricing
|
|
843
|
+
|
|
844
|
+
#### `amiko markets ping`
|
|
845
|
+
|
|
846
|
+
Check if the MPP service is online
|
|
847
|
+
|
|
848
|
+
### `amiko create`
|
|
849
|
+
|
|
850
|
+
Create Studio — generate images, video, speech, music, and SFX (charged on success)
|
|
851
|
+
|
|
852
|
+
| Subcommand | Description |
|
|
853
|
+
|---|---|
|
|
854
|
+
| `create image` | Generate an image (Create Studio) |
|
|
855
|
+
| `create video` | Generate a video (Create Studio) |
|
|
856
|
+
| `create tts` | Generate speech from text (Create Studio) |
|
|
857
|
+
| `create music` | Generate music (Create Studio) |
|
|
858
|
+
| `create sfx` | Generate a sound effect (Create Studio) |
|
|
859
|
+
| `create status` | Check an async create job by id (re-query its result) |
|
|
860
|
+
| `create media` | List your recent Create Studio generations |
|
|
861
|
+
|
|
862
|
+
#### `amiko create image <prompt>`
|
|
863
|
+
|
|
864
|
+
Generate an image (Create Studio)
|
|
865
|
+
|
|
866
|
+
| Flag | Default | Description |
|
|
867
|
+
|---|---|---|
|
|
868
|
+
| `--model <model>` | `nano-banana-2` | Image model: nano-banana-2 (default), nano-banana[-pro\|-lite] (Google), gpt-image-2/-1.5/-1/-1-mini (OpenAI), grok-imagine-image-quality (xAI), image-01 (MiniMax) |
|
|
869
|
+
| `--aspect <ratio>` | `1:1` | Aspect ratio: 1:1, 16:9, 9:16, 4:3, 3:4 |
|
|
870
|
+
| `--reference-image <file|url>` | | Image-to-image reference: local file path or https URL (repeatable). nano-banana* / gpt-image*: up to 4; image-01: exactly 1 front-facing character portrait; grok-imagine-image-quality: not supported |
|
|
871
|
+
| `--token <symbol>` | | Preferred charge token: AMIKO, USDC, USDT, SOL |
|
|
872
|
+
| `--pay <method>` | `credits` | Payment method: credits (Amiko account credits, default) or wallet (twin wallet) |
|
|
873
|
+
| `--raw` | | Output raw JSON |
|
|
874
|
+
| `--yes` | | Skip the pre-spend confirmation (required in non-interactive shells) |
|
|
875
|
+
|
|
876
|
+
#### `amiko create video <prompt>`
|
|
877
|
+
|
|
878
|
+
Generate a video (Create Studio)
|
|
879
|
+
|
|
880
|
+
| Flag | Default | Description |
|
|
881
|
+
|---|---|---|
|
|
882
|
+
| `--model <model>` | | Video model: MiniMax-Hailuo-02 (default for prompt-only; T2V+I2V), MiniMax-Hailuo-2.3-Fast (default with --first-frame; I2V only), MiniMax-Hailuo-2.3 (T2V+I2V), MiniMax-H3 (aliases h3, hailuo-03; T2V+I2V+reference-to-video, 768P\|2K, any 4–15s, billed per second), veo-3.1[-fast\|-lite]-generate-preview (Google; durations clamp to 4/6/8s), grok-imagine-video (xAI), dreamina-seedance-* (BytePlus). ONLY these — kling and other ids are not supported |
|
|
883
|
+
| `--resolution <res>` | `768P` | 512P, 720P, 768P, 1080P (MiniMax, Grok, Seedance); 720p, 1080p, 4k (Veo); 768P or 2K (MiniMax-H3) |
|
|
884
|
+
| `--seconds <n>` | `6` | Clip length: 6 or 10 (Hailuo), 4/6/8 (Veo), 4/6/8/10 (Grok, Seedance), any whole number 4–15 (MiniMax-H3) |
|
|
885
|
+
| `--aspect <ratio>` | | Aspect ratio (provider-dependent). MiniMax-H3 text-to-video needs a concrete ratio (21:9, 16:9, 4:3, 1:1, 3:4, 9:16); defaults to 16:9 when omitted |
|
|
886
|
+
| `--first-frame <file|url>` | | Image-to-video: first frame — local file path, https URL, or data URI |
|
|
887
|
+
| `--last-frame <file|url>` | | First-and-last-frame video: ending frame — local file path, https URL, or data URI. MiniMax-H3, Seedance and Veo only (Seedance/Veo also need --first-frame) |
|
|
888
|
+
| `--reference-image <file|url>` | | Reference-to-video: local file path or https URL (repeatable). MiniMax-H3 / Seedance / Grok: max 9; Veo: max 3; Hailuo v1: NOT supported — use --subject-reference |
|
|
889
|
+
| `--reference-video <file|url>` | | Reference-to-video: local file path or https URL (repeatable, max 3). MiniMax-H3 and Seedance only; combined reference video+audio must be ≤15s, and H3 bills 15 input-seconds whenever any is attached |
|
|
890
|
+
| `--reference-audio <file|url>` | | Reference-to-video: local file path or https URL (repeatable, max 3). MiniMax-H3 and Seedance only; needs an image or video reference alongside, H3 wants 2–15s per clip |
|
|
891
|
+
| `--subject-reference <file|url>` | | MiniMax S2V / H3: subject/character reference image — local file path or https URL. Takes the place of --reference-image rather than adding to it |
|
|
892
|
+
| `--generate-audio` | | Seedance: generate audio in the output video |
|
|
893
|
+
| `--no-generate-audio` | | Seedance: output silent video |
|
|
894
|
+
| `--watermark` | | Seedance: burn in a watermark |
|
|
895
|
+
| `--no-watermark` | | Seedance: no watermark |
|
|
896
|
+
| `--camera-fixed` | | Seedance: hold the camera still |
|
|
897
|
+
| `--no-camera-fixed` | | Seedance: allow camera movement |
|
|
898
|
+
| `--prompt-optimizer` | | MiniMax (H3 and Hailuo v1): let the model rewrite the prompt before generating |
|
|
899
|
+
| `--no-prompt-optimizer` | | MiniMax: use the prompt verbatim |
|
|
900
|
+
| `--fast-pretreatment` | | MiniMax Hailuo v1: faster input pre-processing (ignored by H3, Veo, Grok and Seedance) |
|
|
901
|
+
| `--no-fast-pretreatment` | | MiniMax Hailuo v1: standard input pre-processing |
|
|
902
|
+
| `--token <symbol>` | | Preferred charge token: AMIKO, USDC, USDT, SOL |
|
|
903
|
+
| `--pay <method>` | `credits` | Payment method: credits (Amiko account credits, default) or wallet (twin wallet) |
|
|
904
|
+
| `--raw` | | Output raw JSON |
|
|
905
|
+
| `--yes` | | Skip the pre-spend confirmation (required in non-interactive shells) |
|
|
906
|
+
|
|
907
|
+
#### `amiko create tts <text>`
|
|
908
|
+
|
|
909
|
+
Generate speech from text (Create Studio)
|
|
910
|
+
|
|
911
|
+
| Flag | Default | Description |
|
|
912
|
+
|---|---|---|
|
|
913
|
+
| `--provider <name>` | | TTS provider: minimax \| elevenlabs (sets defaults when --model/--voice omitted) |
|
|
914
|
+
| `--model <model>` | | TTS model id (MiniMax: speech-2.8-turbo\|hd, speech-2.6-turbo\|hd; ElevenLabs: eleven_*) |
|
|
915
|
+
| `--voice <voiceId>` | | Voice id (MiniMax system e.g. English_expressive_narrator, or a cloned voice_id; ElevenLabs voice hash) |
|
|
916
|
+
| `--token <symbol>` | | Preferred charge token: AMIKO, USDC, USDT, SOL |
|
|
917
|
+
| `--pay <method>` | `credits` | Payment method: credits (Amiko account credits, default) or wallet (twin wallet) |
|
|
918
|
+
| `--raw` | | Output raw JSON |
|
|
919
|
+
| `--yes` | | Skip the pre-spend confirmation (required in non-interactive shells) |
|
|
920
|
+
|
|
921
|
+
#### `amiko create music [prompt]`
|
|
922
|
+
|
|
923
|
+
Generate music (Create Studio)
|
|
924
|
+
|
|
925
|
+
| Flag | Default | Description |
|
|
926
|
+
|---|---|---|
|
|
927
|
+
| `--model <model>` | `music-3.0` | music-3.0 (default), music-cover, music_v1. The retired MiniMax ids (music-2.0/2.5/2.6, -free) still resolve to music-3.0 |
|
|
928
|
+
| `--lyrics <lyrics>` | | Lyrics (optional; a prompt is still required for the style). Needs section tags on their own lines, e.g. [verse] / [chorus] — plain lyrics are rejected |
|
|
929
|
+
| `--duration <seconds>` | | Track length in seconds, 1-300 — music-3.0 bills per second, so this sets the price |
|
|
930
|
+
| `--audio-url <file|url>` | | Audio to cover — local file path or https URL (required by --model music-cover) |
|
|
931
|
+
| `--instrumental` | | Instrumental (no vocals) |
|
|
932
|
+
| `--lyrics-optimizer` | | Auto-write lyrics from the prompt. Only affects music_v1 — the fal models always write their own when no --lyrics is given |
|
|
933
|
+
| `--token <symbol>` | | Preferred charge token: AMIKO, USDC, USDT, SOL |
|
|
934
|
+
| `--pay <method>` | `credits` | Payment method: credits (Amiko account credits, default) or wallet (twin wallet) |
|
|
935
|
+
| `--raw` | | Output raw JSON |
|
|
936
|
+
| `--yes` | | Skip the pre-spend confirmation (required in non-interactive shells) |
|
|
937
|
+
|
|
938
|
+
#### `amiko create sfx <text>`
|
|
939
|
+
|
|
940
|
+
Generate a sound effect (Create Studio)
|
|
941
|
+
|
|
942
|
+
| Flag | Default | Description |
|
|
943
|
+
|---|---|---|
|
|
944
|
+
| `--duration <seconds>` | | Clip length in seconds |
|
|
945
|
+
| `--token <symbol>` | | Preferred charge token: AMIKO, USDC, USDT, SOL |
|
|
946
|
+
| `--pay <method>` | `credits` | Payment method: credits (Amiko account credits, default) or wallet (twin wallet) |
|
|
947
|
+
| `--raw` | | Output raw JSON |
|
|
948
|
+
| `--yes` | | Skip the pre-spend confirmation (required in non-interactive shells) |
|
|
949
|
+
|
|
950
|
+
#### `amiko create status <jobId>`
|
|
951
|
+
|
|
952
|
+
Check an async create job by id (re-query its result)
|
|
953
|
+
|
|
954
|
+
| Flag | Default | Description |
|
|
955
|
+
|---|---|---|
|
|
956
|
+
| `--raw` | | Output raw JSON |
|
|
957
|
+
|
|
958
|
+
#### `amiko create media`
|
|
959
|
+
|
|
960
|
+
List your recent Create Studio generations
|
|
961
|
+
|
|
962
|
+
| Flag | Default | Description |
|
|
963
|
+
|---|---|---|
|
|
964
|
+
| `--limit <n>` | `20` | How many to show (max 50) |
|
|
965
|
+
| `--service <type>` | | Filter by type: image, video, tts, music, sfx |
|
|
966
|
+
| `--raw` | | Output raw JSON |
|
|
967
|
+
|
|
968
|
+
### `amiko chat`
|
|
969
|
+
|
|
970
|
+
Your conversations (DMs + group chats) as the owner — list, read, send, manage groups
|
|
971
|
+
|
|
972
|
+
| Subcommand | Description |
|
|
973
|
+
|---|---|
|
|
974
|
+
| `chat list` | List your conversations (DMs and group chats) |
|
|
975
|
+
| `chat read` | Read recent messages in a conversation (conversation id, user id, @handle, or name) |
|
|
976
|
+
| `chat send` | Send a message as yourself (the owner) to a conversation or person (conversation id, user id, @handle, or name — DMs are opened automatically). The message is optional only with --gif. |
|
|
977
|
+
| `chat react` | React to a message as yourself (the owner). Get the message id from `amiko chat read`. One reaction per message — a new emoji replaces your previous one. |
|
|
978
|
+
| `chat unreact` | Remove your (the owner's) reaction from a message. Get the message id from `amiko chat read`. |
|
|
979
|
+
| `chat reactions` | Show the reactions on a message. Get the message id from `amiko chat read`. |
|
|
980
|
+
| `chat receipts` | Show who read your message and when (sender-only). Get the message id from `amiko chat read`. |
|
|
981
|
+
| `chat pin` | Pin a message for everyone in the conversation. Get the message id from `amiko chat read`. Groups require the admin role; the chat sees a pinned-message announcement. |
|
|
982
|
+
| `chat unpin` | Unpin a message — removes it from the conversation's pinned list for everyone. Get the message id from `amiko chat read` or `amiko chat pinned`. |
|
|
983
|
+
| `chat pinned` | List a conversation's pinned messages, oldest first (conversation id, user id, @handle, or name) |
|
|
984
|
+
| `chat mark-read` | Mark ALL conversations as read (requires --all). Clears every unread badge on the owner's devices; senders see read ticks. |
|
|
985
|
+
| `chat gifs` | Search Klipy GIFs (trending when no query) — pass a result URL to `amiko chat send --gif` |
|
|
986
|
+
| `chat group` | Group chats — create, list, info, rename, add/remove members, @all permission, leave |
|
|
987
|
+
| `chat lists` | Your chat lists (private folders of conversations) — run bare to see them; create, rename, add/remove conversations, delete |
|
|
988
|
+
|
|
989
|
+
#### `amiko chat list`
|
|
990
|
+
|
|
991
|
+
List your conversations (DMs and group chats)
|
|
992
|
+
|
|
993
|
+
| Flag | Default | Description |
|
|
994
|
+
|---|---|---|
|
|
995
|
+
| `--limit <n>` | `30` | Max conversations |
|
|
996
|
+
| `--archived` | | Include archived conversations |
|
|
997
|
+
| `--mentions` | | Only conversations with an unread @mention of you, a permitted @all, or a reply to one of your messages |
|
|
998
|
+
| `--raw` | | Output raw JSON |
|
|
999
|
+
|
|
1000
|
+
#### `amiko chat read <target>`
|
|
1001
|
+
|
|
1002
|
+
Read recent messages in a conversation (conversation id, user id, @handle, or name)
|
|
1003
|
+
|
|
1004
|
+
| Flag | Default | Description |
|
|
1005
|
+
|---|---|---|
|
|
1006
|
+
| `--limit <n>` | `20` | Max messages |
|
|
1007
|
+
| `--raw` | | Output raw JSON |
|
|
1008
|
+
|
|
1009
|
+
#### `amiko chat send <target> [message]`
|
|
1010
|
+
|
|
1011
|
+
Send a message as yourself (the owner) to a conversation or person (conversation id, user id, @handle, or name — DMs are opened automatically). The message is optional only with --gif.
|
|
1012
|
+
|
|
1013
|
+
| Flag | Default | Description |
|
|
1014
|
+
|---|---|---|
|
|
1015
|
+
| `--image <pathOrUrl>` | | Attach an image: local file (jpg/png/webp/gif, ≤10MB) or an Amiko URL (e.g. from `amiko create`) |
|
|
1016
|
+
| `--audio <pathOrUrl>` | | Attach audio as a voice note: local file (≤25MB) or an Amiko URL |
|
|
1017
|
+
| `--gif <queryOrUrl>` | | Attach a GIF: search words (sends the top Klipy result) or a Klipy URL from `amiko chat gifs` |
|
|
1018
|
+
| `--all` | | Mention @all — notifies every member of the group (admins/owners always; others only when enabled via `amiko chat group mention-all`) |
|
|
1019
|
+
| `--yes` | | Skip the confirmation (required in non-interactive shells) |
|
|
1020
|
+
| `--raw` | | Output raw JSON |
|
|
1021
|
+
|
|
1022
|
+
#### `amiko chat react <messageId> <emoji>`
|
|
1023
|
+
|
|
1024
|
+
React to a message as yourself (the owner). Get the message id from `amiko chat read`. One reaction per message — a new emoji replaces your previous one.
|
|
1025
|
+
|
|
1026
|
+
| Flag | Default | Description |
|
|
1027
|
+
|---|---|---|
|
|
1028
|
+
| `--yes` | | Skip the confirmation (required in non-interactive shells) |
|
|
1029
|
+
| `--raw` | | Output raw JSON |
|
|
1030
|
+
|
|
1031
|
+
#### `amiko chat unreact <messageId>`
|
|
1032
|
+
|
|
1033
|
+
Remove your (the owner's) reaction from a message. Get the message id from `amiko chat read`.
|
|
1034
|
+
|
|
1035
|
+
| Flag | Default | Description |
|
|
1036
|
+
|---|---|---|
|
|
1037
|
+
| `--yes` | | Skip the confirmation (required in non-interactive shells) |
|
|
1038
|
+
| `--raw` | | Output raw JSON |
|
|
1039
|
+
|
|
1040
|
+
#### `amiko chat reactions <messageId>`
|
|
1041
|
+
|
|
1042
|
+
Show the reactions on a message. Get the message id from `amiko chat read`.
|
|
1043
|
+
|
|
1044
|
+
| Flag | Default | Description |
|
|
1045
|
+
|---|---|---|
|
|
1046
|
+
| `--raw` | | Output raw JSON |
|
|
1047
|
+
|
|
1048
|
+
#### `amiko chat receipts <messageId>`
|
|
1049
|
+
|
|
1050
|
+
Show who read your message and when (sender-only). Get the message id from `amiko chat read`.
|
|
1051
|
+
|
|
1052
|
+
| Flag | Default | Description |
|
|
1053
|
+
|---|---|---|
|
|
1054
|
+
| `--raw` | | Output raw JSON |
|
|
1055
|
+
|
|
1056
|
+
#### `amiko chat pin <messageId>`
|
|
1057
|
+
|
|
1058
|
+
Pin a message for everyone in the conversation. Get the message id from `amiko chat read`. Groups require the admin role; the chat sees a pinned-message announcement.
|
|
1059
|
+
|
|
1060
|
+
| Flag | Default | Description |
|
|
1061
|
+
|---|---|---|
|
|
1062
|
+
| `--yes` | | Skip the confirmation (required in non-interactive shells) |
|
|
1063
|
+
| `--raw` | | Output raw JSON |
|
|
1064
|
+
|
|
1065
|
+
#### `amiko chat unpin <messageId>`
|
|
1066
|
+
|
|
1067
|
+
Unpin a message — removes it from the conversation's pinned list for everyone. Get the message id from `amiko chat read` or `amiko chat pinned`.
|
|
1068
|
+
|
|
1069
|
+
| Flag | Default | Description |
|
|
1070
|
+
|---|---|---|
|
|
1071
|
+
| `--yes` | | Skip the confirmation (required in non-interactive shells) |
|
|
1072
|
+
| `--raw` | | Output raw JSON |
|
|
1073
|
+
|
|
1074
|
+
#### `amiko chat pinned <target>`
|
|
1075
|
+
|
|
1076
|
+
List a conversation's pinned messages, oldest first (conversation id, user id, @handle, or name)
|
|
1077
|
+
|
|
1078
|
+
| Flag | Default | Description |
|
|
1079
|
+
|---|---|---|
|
|
1080
|
+
| `--raw` | | Output raw JSON |
|
|
1081
|
+
|
|
1082
|
+
#### `amiko chat mark-read`
|
|
1083
|
+
|
|
1084
|
+
Mark ALL conversations as read (requires --all). Clears every unread badge on the owner's devices; senders see read ticks.
|
|
1085
|
+
|
|
1086
|
+
| Flag | Default | Description |
|
|
1087
|
+
|---|---|---|
|
|
1088
|
+
| `--all` | | Mark every conversation as read |
|
|
1089
|
+
| `--yes` | | Skip the confirmation (required in non-interactive shells) |
|
|
1090
|
+
| `--raw` | | Output raw JSON |
|
|
1091
|
+
|
|
1092
|
+
#### `amiko chat gifs [query]`
|
|
1093
|
+
|
|
1094
|
+
Search Klipy GIFs (trending when no query) — pass a result URL to `amiko chat send --gif`
|
|
1095
|
+
|
|
1096
|
+
| Flag | Default | Description |
|
|
1097
|
+
|---|---|---|
|
|
1098
|
+
| `--page <n>` | `1` | Result page (24 per page) |
|
|
1099
|
+
| `--limit <n>` | `10` | Max results shown (1-24) |
|
|
1100
|
+
| `--raw` | | Output raw JSON |
|
|
1101
|
+
|
|
1102
|
+
#### `amiko chat group`
|
|
1103
|
+
|
|
1104
|
+
Group chats — create, list, info, rename, add/remove members, @all permission, leave
|
|
1105
|
+
|
|
1106
|
+
##### `amiko chat group create <name>`
|
|
1107
|
+
|
|
1108
|
+
Create a group chat with the given name and members
|
|
1109
|
+
|
|
1110
|
+
| Flag | Default | Description |
|
|
1111
|
+
|---|---|---|
|
|
1112
|
+
| `--member <who>` | | Member to add (name, @handle, or user id); repeat per member |
|
|
1113
|
+
| `--yes` | | Skip the confirmation (required in non-interactive shells) |
|
|
1114
|
+
| `--raw` | | Output raw JSON |
|
|
1115
|
+
|
|
1116
|
+
##### `amiko chat group list`
|
|
1117
|
+
|
|
1118
|
+
List your group chats
|
|
1119
|
+
|
|
1120
|
+
| Flag | Default | Description |
|
|
1121
|
+
|---|---|---|
|
|
1122
|
+
| `--limit <n>` | `100` | Max conversations to scan |
|
|
1123
|
+
| `--raw` | | Output raw JSON |
|
|
1124
|
+
|
|
1125
|
+
##### `amiko chat group info <group>`
|
|
1126
|
+
|
|
1127
|
+
Show a group's members and roles (group id or title)
|
|
1128
|
+
|
|
1129
|
+
| Flag | Default | Description |
|
|
1130
|
+
|---|---|---|
|
|
1131
|
+
| `--raw` | | Output raw JSON |
|
|
1132
|
+
|
|
1133
|
+
##### `amiko chat group invite <group>`
|
|
1134
|
+
|
|
1135
|
+
Show a group's invite/join link + QR image URL (admins only)
|
|
1136
|
+
|
|
1137
|
+
| Flag | Default | Description |
|
|
1138
|
+
|---|---|---|
|
|
1139
|
+
| `--raw` | | Output raw JSON |
|
|
1140
|
+
|
|
1141
|
+
##### `amiko chat group rename <group> <newTitle>`
|
|
1142
|
+
|
|
1143
|
+
Rename a group (admins only)
|
|
1144
|
+
|
|
1145
|
+
| Flag | Default | Description |
|
|
1146
|
+
|---|---|---|
|
|
1147
|
+
| `--yes` | | Skip the confirmation (required in non-interactive shells) |
|
|
1148
|
+
| `--raw` | | Output raw JSON |
|
|
1149
|
+
|
|
1150
|
+
##### `amiko chat group add <group>`
|
|
1151
|
+
|
|
1152
|
+
Add members to a group (admins only)
|
|
1153
|
+
|
|
1154
|
+
| Flag | Default | Description |
|
|
1155
|
+
|---|---|---|
|
|
1156
|
+
| `--member <who>` | | Member to add (name, @handle, or user id); repeat per member |
|
|
1157
|
+
| `--yes` | | Skip the confirmation (required in non-interactive shells) |
|
|
1158
|
+
| `--raw` | | Output raw JSON |
|
|
1159
|
+
|
|
1160
|
+
##### `amiko chat group remove <group>`
|
|
1161
|
+
|
|
1162
|
+
Remove members from a group (admins only; anyone can remove themselves)
|
|
1163
|
+
|
|
1164
|
+
| Flag | Default | Description |
|
|
1165
|
+
|---|---|---|
|
|
1166
|
+
| `--member <who>` | | Member to remove (name, @handle, or user id); repeat per member |
|
|
1167
|
+
| `--yes` | | Skip the confirmation (required in non-interactive shells) |
|
|
1168
|
+
| `--raw` | | Output raw JSON |
|
|
1169
|
+
|
|
1170
|
+
##### `amiko chat group leave <group>` (alias: `delete`)
|
|
1171
|
+
|
|
1172
|
+
Leave a group (hides it for you only — other members keep the conversation)
|
|
1173
|
+
|
|
1174
|
+
| Flag | Default | Description |
|
|
1175
|
+
|---|---|---|
|
|
1176
|
+
| `--yes` | | Skip the confirmation (required in non-interactive shells) |
|
|
1177
|
+
| `--raw` | | Output raw JSON |
|
|
1178
|
+
|
|
1179
|
+
##### `amiko chat group promote <group>`
|
|
1180
|
+
|
|
1181
|
+
Promote a member to group admin (admins only)
|
|
1182
|
+
|
|
1183
|
+
| Flag | Default | Description |
|
|
1184
|
+
|---|---|---|
|
|
1185
|
+
| `--member <who>` | | Member to promote (name, @handle, or user id) |
|
|
1186
|
+
| `--yes` | | Skip the confirmation (required in non-interactive shells) |
|
|
1187
|
+
| `--raw` | | Output raw JSON |
|
|
1188
|
+
|
|
1189
|
+
##### `amiko chat group mention-all <group> <state>`
|
|
1190
|
+
|
|
1191
|
+
Allow everyone (on) or only admins (off, the default) to use @all in a group (admins only)
|
|
1192
|
+
|
|
1193
|
+
| Flag | Default | Description |
|
|
1194
|
+
|---|---|---|
|
|
1195
|
+
| `--yes` | | Skip the confirmation (required in non-interactive shells) |
|
|
1196
|
+
| `--raw` | | Output raw JSON |
|
|
1197
|
+
|
|
1198
|
+
#### `amiko chat lists`
|
|
1199
|
+
|
|
1200
|
+
Your chat lists (private folders of conversations) — run bare to see them; create, rename, add/remove conversations, delete
|
|
1201
|
+
|
|
1202
|
+
##### `amiko chat lists create <name>`
|
|
1203
|
+
|
|
1204
|
+
Create a chat list, optionally with initial conversations
|
|
1205
|
+
|
|
1206
|
+
| Flag | Default | Description |
|
|
1207
|
+
|---|---|---|
|
|
1208
|
+
| `--conversation <target>` | | Conversation to include (conversation id, user id, @handle, group title, or name); repeat per conversation |
|
|
1209
|
+
| `--yes` | | Skip the confirmation (required in non-interactive shells) |
|
|
1210
|
+
| `--raw` | | Output raw JSON |
|
|
1211
|
+
|
|
1212
|
+
##### `amiko chat lists rename <list> <newName>`
|
|
1213
|
+
|
|
1214
|
+
Rename a chat list (list id or name)
|
|
1215
|
+
|
|
1216
|
+
| Flag | Default | Description |
|
|
1217
|
+
|---|---|---|
|
|
1218
|
+
| `--yes` | | Skip the confirmation (required in non-interactive shells) |
|
|
1219
|
+
| `--raw` | | Output raw JSON |
|
|
1220
|
+
|
|
1221
|
+
##### `amiko chat lists add <list>`
|
|
1222
|
+
|
|
1223
|
+
Add conversations to a chat list (list id or name)
|
|
1224
|
+
|
|
1225
|
+
| Flag | Default | Description |
|
|
1226
|
+
|---|---|---|
|
|
1227
|
+
| `--conversation <target>` | | Conversation to add (conversation id, user id, @handle, group title, or name); repeat per conversation |
|
|
1228
|
+
| `--yes` | | Skip the confirmation (required in non-interactive shells) |
|
|
1229
|
+
| `--raw` | | Output raw JSON |
|
|
1230
|
+
|
|
1231
|
+
##### `amiko chat lists remove <list>`
|
|
1232
|
+
|
|
1233
|
+
Remove conversations from a chat list (the conversations themselves are untouched)
|
|
1234
|
+
|
|
1235
|
+
| Flag | Default | Description |
|
|
1236
|
+
|---|---|---|
|
|
1237
|
+
| `--conversation <target>` | | Conversation to remove (conversation id, user id, @handle, group title, or name); repeat per conversation |
|
|
1238
|
+
| `--yes` | | Skip the confirmation (required in non-interactive shells) |
|
|
1239
|
+
| `--raw` | | Output raw JSON |
|
|
1240
|
+
|
|
1241
|
+
##### `amiko chat lists delete <list>`
|
|
1242
|
+
|
|
1243
|
+
Delete a chat list (the conversations in it are untouched)
|
|
1244
|
+
|
|
1245
|
+
| Flag | Default | Description |
|
|
1246
|
+
|---|---|---|
|
|
1247
|
+
| `--yes` | | Skip the confirmation (required in non-interactive shells) |
|
|
1248
|
+
| `--raw` | | Output raw JSON |
|
|
1249
|
+
|
|
1250
|
+
### `amiko card`
|
|
1251
|
+
|
|
1252
|
+
Twin Cards (work/play/love) — generate, view, download, mint
|
|
1253
|
+
|
|
1254
|
+
| Subcommand | Description |
|
|
1255
|
+
|---|---|
|
|
1256
|
+
| `card templates` | List the available card flavors (work / play / love) |
|
|
1257
|
+
| `card list` | Show your most recently generated card |
|
|
1258
|
+
| `card create` | Generate (or reroll) your Twin Card |
|
|
1259
|
+
| `card show` | Read a card's stored data |
|
|
1260
|
+
| `card image` | Download the card image (PNG) |
|
|
1261
|
+
| `card mint` | Mint a card as an NFT (or --status to check an existing mint) |
|
|
1262
|
+
| `card share` | Print the public share link for a card |
|
|
1263
|
+
|
|
1264
|
+
#### `amiko card templates`
|
|
1265
|
+
|
|
1266
|
+
List the available card flavors (work / play / love)
|
|
1267
|
+
|
|
1268
|
+
| Flag | Default | Description |
|
|
1269
|
+
|---|---|---|
|
|
1270
|
+
| `--json` | | Output raw JSON |
|
|
1271
|
+
|
|
1272
|
+
#### `amiko card list`
|
|
1273
|
+
|
|
1274
|
+
Show your most recently generated card
|
|
1275
|
+
|
|
1276
|
+
| Flag | Default | Description |
|
|
1277
|
+
|---|---|---|
|
|
1278
|
+
| `--json` | | Output raw JSON |
|
|
1279
|
+
|
|
1280
|
+
#### `amiko card create`
|
|
1281
|
+
|
|
1282
|
+
Generate (or reroll) your Twin Card
|
|
1283
|
+
|
|
1284
|
+
| Flag | Default | Description |
|
|
1285
|
+
|---|---|---|
|
|
1286
|
+
| `--flavor <flavor>` | `love` | Flavor: work, play, love (DB-managed; see `card templates`) |
|
|
1287
|
+
| `--reroll <n>` | `0` | Reroll number (≥0) for a fresh take |
|
|
1288
|
+
| `--json` | | Output raw JSON |
|
|
1289
|
+
|
|
1290
|
+
#### `amiko card show <slug>`
|
|
1291
|
+
|
|
1292
|
+
Read a card's stored data
|
|
1293
|
+
|
|
1294
|
+
| Flag | Default | Description |
|
|
1295
|
+
|---|---|---|
|
|
1296
|
+
| `--json` | | Output raw JSON |
|
|
1297
|
+
|
|
1298
|
+
#### `amiko card image <slug>`
|
|
1299
|
+
|
|
1300
|
+
Download the card image (PNG)
|
|
1301
|
+
|
|
1302
|
+
| Flag | Default | Description |
|
|
1303
|
+
|---|---|---|
|
|
1304
|
+
| `--flavor <flavor>` | `love` | Flavor: work, play, love |
|
|
1305
|
+
| `--out <path>` | | Output file (default: card-<slug>-<flavor>.png) |
|
|
1306
|
+
|
|
1307
|
+
#### `amiko card mint <slug>`
|
|
1308
|
+
|
|
1309
|
+
Mint a card as an NFT (or --status to check an existing mint)
|
|
1310
|
+
|
|
1311
|
+
| Flag | Default | Description |
|
|
1312
|
+
|---|---|---|
|
|
1313
|
+
| `--flavor <flavor>` | `love` | Flavor: work, play, love |
|
|
1314
|
+
| `--name <name>` | | NFT name (optional) |
|
|
1315
|
+
| `--description <desc>` | | NFT description (optional) |
|
|
1316
|
+
| `--status` | | Check mint status instead of minting |
|
|
1317
|
+
| `--yes` | | Skip the confirmation (required in non-interactive shells) |
|
|
1318
|
+
| `--json` | | Output raw JSON |
|
|
1319
|
+
|
|
1320
|
+
#### `amiko card share <slug>`
|
|
1321
|
+
|
|
1322
|
+
Print the public share link for a card
|
|
1323
|
+
|
|
1324
|
+
### `amiko wallets`
|
|
1325
|
+
|
|
1326
|
+
Manage twin wallets — list, swap, bridge
|
|
1327
|
+
|
|
1328
|
+
| Subcommand | Description |
|
|
1329
|
+
|---|---|
|
|
1330
|
+
| `wallets create` | Create a new wallet for the twin on solana or base |
|
|
1331
|
+
| `wallets list` | List wallets for the authenticated twin |
|
|
1332
|
+
| `wallets balance` | Sync and show balance for a single wallet |
|
|
1333
|
+
| `wallets transfer` | Transfer tokens from a twin wallet to another address |
|
|
1334
|
+
| `wallets swap` | Swap tokens on Solana via Jupiter |
|
|
1335
|
+
| `wallets bridge` | Bridge USDC across chains via Across Protocol |
|
|
1336
|
+
|
|
1337
|
+
#### `amiko wallets create`
|
|
1338
|
+
|
|
1339
|
+
Create a new wallet for the twin on solana or base
|
|
1340
|
+
|
|
1341
|
+
| Flag | Default | Description |
|
|
1342
|
+
|---|---|---|
|
|
1343
|
+
| `--chain <chain>` | | Chain to create the wallet on (solana \| base) |
|
|
1344
|
+
| `--custodian <custodian>` | `crossmint` | Custodian (crossmint \| amiko). Defaults to crossmint; amiko is solana-only. |
|
|
1345
|
+
| `--json` | | Output raw JSON |
|
|
1346
|
+
|
|
1347
|
+
#### `amiko wallets list` (alias: `ls`)
|
|
1348
|
+
|
|
1349
|
+
List wallets for the authenticated twin
|
|
1350
|
+
|
|
1351
|
+
| Flag | Default | Description |
|
|
1352
|
+
|---|---|---|
|
|
1353
|
+
| `--json` | | Output raw JSON |
|
|
1354
|
+
|
|
1355
|
+
#### `amiko wallets balance <address>`
|
|
1356
|
+
|
|
1357
|
+
Sync and show balance for a single wallet
|
|
1358
|
+
|
|
1359
|
+
| Flag | Default | Description |
|
|
1360
|
+
|---|---|---|
|
|
1361
|
+
| `--json` | | Output raw JSON |
|
|
1362
|
+
|
|
1363
|
+
#### `amiko wallets transfer`
|
|
1364
|
+
|
|
1365
|
+
Transfer tokens from a twin wallet to another address
|
|
1366
|
+
|
|
1367
|
+
| Flag | Default | Description |
|
|
1368
|
+
|---|---|---|
|
|
1369
|
+
| `--to <address>` | | Recipient address |
|
|
1370
|
+
| `--amount <amount>` | | Amount to send (e.g., 0.5) |
|
|
1371
|
+
| `--token <symbol>` | | Token symbol (sol, usdc, usdt, amiko, eth) or mint/contract address |
|
|
1372
|
+
| `--wallet <address>` | | Source wallet (defaults to your Solana wallet) |
|
|
1373
|
+
| `--chain <chain>` | `solana` | Preferred chain when resolving default wallet (solana \| base) |
|
|
1374
|
+
| `--yes` | | Skip confirmation |
|
|
1375
|
+
| `--json` | | Output raw JSON |
|
|
1376
|
+
|
|
1377
|
+
#### `amiko wallets swap`
|
|
1378
|
+
|
|
1379
|
+
Swap tokens on Solana via Jupiter
|
|
1380
|
+
|
|
1381
|
+
##### `amiko wallets swap quote <amount> <from> <to>`
|
|
1382
|
+
|
|
1383
|
+
Get a swap quote for Solana tokens
|
|
1384
|
+
|
|
1385
|
+
| Flag | Default | Description |
|
|
1386
|
+
|---|---|---|
|
|
1387
|
+
| `--slippage <bps>` | `50` | Slippage tolerance in basis points |
|
|
1388
|
+
|
|
1389
|
+
##### `amiko wallets swap send <amount> <from> <to>`
|
|
1390
|
+
|
|
1391
|
+
Execute a token swap on Solana via Crossmint wallet
|
|
1392
|
+
|
|
1393
|
+
| Flag | Default | Description |
|
|
1394
|
+
|---|---|---|
|
|
1395
|
+
| `--wallet <address>` | | Solana wallet to swap from (defaults to your Solana wallet — run `amiko wallets create --chain solana` if none) |
|
|
1396
|
+
| `--slippage <bps>` | `50` | Slippage tolerance in basis points |
|
|
1397
|
+
| `--yes` | | Skip confirmation |
|
|
1398
|
+
|
|
1399
|
+
##### `amiko wallets swap tokens`
|
|
1400
|
+
|
|
1401
|
+
List supported Solana tokens for swapping
|
|
1402
|
+
|
|
1403
|
+
#### `amiko wallets bridge`
|
|
1404
|
+
|
|
1405
|
+
Bridge USDC across chains via Across Protocol
|
|
1406
|
+
|
|
1407
|
+
##### `amiko wallets bridge quote <amount>`
|
|
1408
|
+
|
|
1409
|
+
Get a bridge quote for USDC transfer
|
|
1410
|
+
|
|
1411
|
+
| Flag | Default | Description |
|
|
1412
|
+
|---|---|---|
|
|
1413
|
+
| `--from <chain>` | `solana` | Origin chain (default: solana) |
|
|
1414
|
+
| `--to <chain>` | `base` | Destination chain (default: base) |
|
|
1415
|
+
| `--recipient <address>` | | Recipient address on destination chain (required for Solana ↔ EVM) |
|
|
1416
|
+
| `--depositor <address>` | | Depositor address on origin chain (defaults to your wallet on that chain) |
|
|
1417
|
+
|
|
1418
|
+
##### `amiko wallets bridge send <amount>`
|
|
1419
|
+
|
|
1420
|
+
Execute a USDC bridge transfer via Across
|
|
1421
|
+
|
|
1422
|
+
| Flag | Default | Description |
|
|
1423
|
+
|---|---|---|
|
|
1424
|
+
| `--from <chain>` | `solana` | Origin chain (default: solana) |
|
|
1425
|
+
| `--to <chain>` | `base` | Destination chain (default: base) |
|
|
1426
|
+
| `--recipient <address>` | | Recipient address on destination chain (required for Solana ↔ EVM) |
|
|
1427
|
+
| `--depositor <address>` | | Depositor address on origin chain (defaults to your wallet on that chain) |
|
|
1428
|
+
| `--raw` | | Output raw transaction JSON for manual signing |
|
|
1429
|
+
| `--yes` | | Skip confirmation (only after the user has approved) |
|
|
1430
|
+
|
|
1431
|
+
##### `amiko wallets bridge status <txHash>`
|
|
1432
|
+
|
|
1433
|
+
Check the status of a bridge transfer
|
|
1434
|
+
|
|
1435
|
+
| Flag | Default | Description |
|
|
1436
|
+
|---|---|---|
|
|
1437
|
+
| `--chain <chainId>` | `34268394551451` | Origin chain ID |
|
|
1438
|
+
| `--watch` | | Poll until filled |
|
|
1439
|
+
| `--interval <seconds>` | `10` | Poll interval (with --watch) |
|
|
1440
|
+
|
|
1441
|
+
##### `amiko wallets bridge routes`
|
|
1442
|
+
|
|
1443
|
+
List available USDC bridge routes
|
|
1444
|
+
|
|
1445
|
+
| Flag | Default | Description |
|
|
1446
|
+
|---|---|---|
|
|
1447
|
+
| `--from <chain>` | | Filter by origin chain |
|
|
1448
|
+
| `--to <chain>` | | Filter by destination chain |
|
|
1449
|
+
|
|
1450
|
+
##### `amiko wallets bridge limits`
|
|
1451
|
+
|
|
1452
|
+
Check transfer limits for a USDC bridge route
|
|
1453
|
+
|
|
1454
|
+
| Flag | Default | Description |
|
|
1455
|
+
|---|---|---|
|
|
1456
|
+
| `--from <chain>` | `solana` | Origin chain (default: solana) |
|
|
1457
|
+
| `--to <chain>` | `base` | Destination chain (default: base) |
|
|
1458
|
+
|
|
1459
|
+
### `amiko twin`
|
|
1460
|
+
|
|
1461
|
+
Update twin identity (name, description, visibility)
|
|
1462
|
+
|
|
1463
|
+
| Subcommand | Description |
|
|
1464
|
+
|---|---|
|
|
1465
|
+
| `twin update` | Update twin name, description, or public visibility |
|
|
1466
|
+
|
|
1467
|
+
#### `amiko twin update`
|
|
1468
|
+
|
|
1469
|
+
Update twin name, description, or public visibility
|
|
1470
|
+
|
|
1471
|
+
| Flag | Default | Description |
|
|
1472
|
+
|---|---|---|
|
|
1473
|
+
| `--name <name>` | | Display name |
|
|
1474
|
+
| `--description <text>` | | Description |
|
|
1475
|
+
| `--public <bool>` | | Public visibility (true/false) |
|
|
1476
|
+
| `--twin <idOrName>` | | Target twin id or name |
|
|
1477
|
+
| `--yes` | | Skip confirmation when changing visibility |
|
|
1478
|
+
| `--json` | | Output as JSON |
|
|
1479
|
+
|
|
1480
|
+
### `amiko drive`
|
|
1481
|
+
|
|
1482
|
+
Manage twin drive — upload/download/search files, organise into folders
|
|
1483
|
+
|
|
1484
|
+
| Subcommand | Description |
|
|
1485
|
+
|---|---|
|
|
1486
|
+
| `drive list` | List drive files (optionally filter by folder or search) |
|
|
1487
|
+
| `drive search` | Search files by name, description, or parsed content |
|
|
1488
|
+
| `drive upload` | Upload a file (path \| https URL \| - for stdin) |
|
|
1489
|
+
| `drive download` | Download a file from the drive |
|
|
1490
|
+
| `drive get` | Show one file's metadata, parsed content, and signed URL |
|
|
1491
|
+
| `drive rename` | Rename a file (updates title) |
|
|
1492
|
+
| `drive move` | Move a file to a different folder |
|
|
1493
|
+
| `drive delete` | Delete a file (removes storage object + RAG embeddings) |
|
|
1494
|
+
| `drive share` | Make a file public and print its share link |
|
|
1495
|
+
| `drive unshare` | Revoke a file's public share link |
|
|
1496
|
+
| `drive presign` | Get a presigned upload URL (browser-direct uploads; no upload performed) |
|
|
1497
|
+
| `drive status` | Check RAG processing status for one or more files |
|
|
1498
|
+
| `drive folder` | Manage drive folders — list, create, rename, move, delete |
|
|
1499
|
+
|
|
1500
|
+
#### `amiko drive list`
|
|
1501
|
+
|
|
1502
|
+
List drive files (optionally filter by folder or search)
|
|
1503
|
+
|
|
1504
|
+
| Flag | Default | Description |
|
|
1505
|
+
|---|---|---|
|
|
1506
|
+
| `--twin <idOrName>` | | Target twin id or name |
|
|
1507
|
+
| `--folder <id|root>` | | Filter by folder id, or 'root' for drive root |
|
|
1508
|
+
| `--search <q>` | | Case-insensitive search over filename/title/description/content |
|
|
1509
|
+
| `--limit <n>` | `50` | Max results per page |
|
|
1510
|
+
| `--offset <n>` | `0` | Skip N rows |
|
|
1511
|
+
| `--json` | | Output as JSON |
|
|
1512
|
+
|
|
1513
|
+
#### `amiko drive search <query>`
|
|
1514
|
+
|
|
1515
|
+
Search files by name, description, or parsed content
|
|
1516
|
+
|
|
1517
|
+
| Flag | Default | Description |
|
|
1518
|
+
|---|---|---|
|
|
1519
|
+
| `--twin <idOrName>` | | Target twin id or name |
|
|
1520
|
+
| `--folder <id|root>` | | Restrict search to a folder |
|
|
1521
|
+
| `--limit <n>` | `50` | Max results |
|
|
1522
|
+
| `--json` | | Output as JSON |
|
|
1523
|
+
|
|
1524
|
+
#### `amiko drive upload <source>`
|
|
1525
|
+
|
|
1526
|
+
Upload a file (path \| https URL \| - for stdin)
|
|
1527
|
+
|
|
1528
|
+
| Flag | Default | Description |
|
|
1529
|
+
|---|---|---|
|
|
1530
|
+
| `--twin <idOrName>` | | Target twin id or name |
|
|
1531
|
+
| `--name <filename>` | | Override filename |
|
|
1532
|
+
| `--title <title>` | | File title (defaults to filename without extension) |
|
|
1533
|
+
| `--description <text>` | | File description |
|
|
1534
|
+
| `--doc-type <type>` | `other` | Document type: personal, work, academic, financial, communication, health, other |
|
|
1535
|
+
| `--folder <id>` | | Target folder id (omit for drive root) |
|
|
1536
|
+
| `--stdin` | | Read from stdin (source must be -) |
|
|
1537
|
+
| `--json` | | Output as JSON |
|
|
1538
|
+
|
|
1539
|
+
#### `amiko drive download <docId>`
|
|
1540
|
+
|
|
1541
|
+
Download a file from the drive
|
|
1542
|
+
|
|
1543
|
+
| Flag | Default | Description |
|
|
1544
|
+
|---|---|---|
|
|
1545
|
+
| `--twin <idOrName>` | | Target twin id or name |
|
|
1546
|
+
| `--out <path>` | | Output path (defaults to original filename in cwd) |
|
|
1547
|
+
| `--stdout` | | Write file bytes to stdout instead of a file |
|
|
1548
|
+
| `--json` | | Print metadata JSON instead of downloading |
|
|
1549
|
+
|
|
1550
|
+
#### `amiko drive get <docId>`
|
|
1551
|
+
|
|
1552
|
+
Show one file's metadata, parsed content, and signed URL
|
|
1553
|
+
|
|
1554
|
+
| Flag | Default | Description |
|
|
1555
|
+
|---|---|---|
|
|
1556
|
+
| `--twin <idOrName>` | | Target twin id or name |
|
|
1557
|
+
| `--content` | | Include parsed RAG content body in the output |
|
|
1558
|
+
| `--json` | | Output as JSON |
|
|
1559
|
+
|
|
1560
|
+
#### `amiko drive rename <docId>`
|
|
1561
|
+
|
|
1562
|
+
Rename a file (updates title)
|
|
1563
|
+
|
|
1564
|
+
| Flag | Default | Description |
|
|
1565
|
+
|---|---|---|
|
|
1566
|
+
| `--twin <idOrName>` | | Target twin id or name |
|
|
1567
|
+
| `--title <newTitle>` | | New title |
|
|
1568
|
+
| `--description <text>` | | Also update description (pass empty string to clear) |
|
|
1569
|
+
| `--json` | | Output as JSON |
|
|
1570
|
+
|
|
1571
|
+
#### `amiko drive move <docId>`
|
|
1572
|
+
|
|
1573
|
+
Move a file to a different folder
|
|
1574
|
+
|
|
1575
|
+
| Flag | Default | Description |
|
|
1576
|
+
|---|---|---|
|
|
1577
|
+
| `--twin <idOrName>` | | Target twin id or name |
|
|
1578
|
+
| `--folder <id|root>` | | Destination folder id, or 'root' for drive root |
|
|
1579
|
+
| `--json` | | Output as JSON |
|
|
1580
|
+
|
|
1581
|
+
#### `amiko drive delete <docId>`
|
|
1582
|
+
|
|
1583
|
+
Delete a file (removes storage object + RAG embeddings)
|
|
1584
|
+
|
|
1585
|
+
| Flag | Default | Description |
|
|
1586
|
+
|---|---|---|
|
|
1587
|
+
| `--twin <idOrName>` | | Target twin id or name |
|
|
1588
|
+
| `--yes` | | Skip confirmation |
|
|
1589
|
+
| `--json` | | Output as JSON |
|
|
1590
|
+
|
|
1591
|
+
#### `amiko drive share <docId>`
|
|
1592
|
+
|
|
1593
|
+
Make a file public and print its share link
|
|
1594
|
+
|
|
1595
|
+
| Flag | Default | Description |
|
|
1596
|
+
|---|---|---|
|
|
1597
|
+
| `--twin <idOrName>` | | Target twin id or name |
|
|
1598
|
+
| `--yes` | | Skip confirmation |
|
|
1599
|
+
| `--json` | | Output as JSON |
|
|
1600
|
+
|
|
1601
|
+
#### `amiko drive unshare <docId>`
|
|
1602
|
+
|
|
1603
|
+
Revoke a file's public share link
|
|
1604
|
+
|
|
1605
|
+
| Flag | Default | Description |
|
|
1606
|
+
|---|---|---|
|
|
1607
|
+
| `--twin <idOrName>` | | Target twin id or name |
|
|
1608
|
+
| `--json` | | Output as JSON |
|
|
1609
|
+
|
|
1610
|
+
#### `amiko drive presign <name>`
|
|
1611
|
+
|
|
1612
|
+
Get a presigned upload URL (browser-direct uploads; no upload performed)
|
|
1613
|
+
|
|
1614
|
+
| Flag | Default | Description |
|
|
1615
|
+
|---|---|---|
|
|
1616
|
+
| `--twin <idOrName>` | | Target twin id or name |
|
|
1617
|
+
| `--json` | | Output as JSON |
|
|
1618
|
+
|
|
1619
|
+
#### `amiko drive status <docId>`
|
|
1620
|
+
|
|
1621
|
+
Check RAG processing status for one or more files
|
|
1622
|
+
|
|
1623
|
+
| Flag | Default | Description |
|
|
1624
|
+
|---|---|---|
|
|
1625
|
+
| `--twin <idOrName>` | | Target twin id or name |
|
|
1626
|
+
| `--json` | | Output as JSON |
|
|
1627
|
+
|
|
1628
|
+
#### `amiko drive folder`
|
|
1629
|
+
|
|
1630
|
+
Manage drive folders — list, create, rename, move, delete
|
|
1631
|
+
|
|
1632
|
+
##### `amiko drive folder list`
|
|
1633
|
+
|
|
1634
|
+
List all folders for the twin (flat — clients build the tree)
|
|
1635
|
+
|
|
1636
|
+
| Flag | Default | Description |
|
|
1637
|
+
|---|---|---|
|
|
1638
|
+
| `--twin <idOrName>` | | Target twin id or name |
|
|
1639
|
+
| `--json` | | Output as JSON |
|
|
1640
|
+
|
|
1641
|
+
##### `amiko drive folder create <name>`
|
|
1642
|
+
|
|
1643
|
+
Create a folder (defaults to drive root)
|
|
1644
|
+
|
|
1645
|
+
| Flag | Default | Description |
|
|
1646
|
+
|---|---|---|
|
|
1647
|
+
| `--twin <idOrName>` | | Target twin id or name |
|
|
1648
|
+
| `--parent <id>` | | Parent folder id (omit for root) |
|
|
1649
|
+
| `--json` | | Output as JSON |
|
|
1650
|
+
|
|
1651
|
+
##### `amiko drive folder rename <folderId>`
|
|
1652
|
+
|
|
1653
|
+
Rename a folder
|
|
1654
|
+
|
|
1655
|
+
| Flag | Default | Description |
|
|
1656
|
+
|---|---|---|
|
|
1657
|
+
| `--twin <idOrName>` | | Target twin id or name |
|
|
1658
|
+
| `--name <newName>` | | New folder name (1–120 chars) |
|
|
1659
|
+
| `--json` | | Output as JSON |
|
|
1660
|
+
|
|
1661
|
+
##### `amiko drive folder move <folderId>`
|
|
1662
|
+
|
|
1663
|
+
Move a folder under a new parent
|
|
1664
|
+
|
|
1665
|
+
| Flag | Default | Description |
|
|
1666
|
+
|---|---|---|
|
|
1667
|
+
| `--twin <idOrName>` | | Target twin id or name |
|
|
1668
|
+
| `--parent <id|root>` | | New parent folder id, or 'root' |
|
|
1669
|
+
| `--json` | | Output as JSON |
|
|
1670
|
+
|
|
1671
|
+
##### `amiko drive folder share <folderId>`
|
|
1672
|
+
|
|
1673
|
+
Make a folder public (shares its ENTIRE subtree) and print the link
|
|
1674
|
+
|
|
1675
|
+
| Flag | Default | Description |
|
|
1676
|
+
|---|---|---|
|
|
1677
|
+
| `--twin <idOrName>` | | Target twin id or name |
|
|
1678
|
+
| `--yes` | | Skip confirmation |
|
|
1679
|
+
| `--json` | | Output as JSON |
|
|
1680
|
+
|
|
1681
|
+
##### `amiko drive folder unshare <folderId>`
|
|
1682
|
+
|
|
1683
|
+
Revoke a folder's public share link (instantly unshares the subtree)
|
|
1684
|
+
|
|
1685
|
+
| Flag | Default | Description |
|
|
1686
|
+
|---|---|---|
|
|
1687
|
+
| `--twin <idOrName>` | | Target twin id or name |
|
|
1688
|
+
| `--json` | | Output as JSON |
|
|
1689
|
+
|
|
1690
|
+
##### `amiko drive folder delete <folderId>`
|
|
1691
|
+
|
|
1692
|
+
Delete a folder (use --force to delete non-empty folders + their contents)
|
|
1693
|
+
|
|
1694
|
+
| Flag | Default | Description |
|
|
1695
|
+
|---|---|---|
|
|
1696
|
+
| `--twin <idOrName>` | | Target twin id or name |
|
|
1697
|
+
| `--force` | | Recursively delete subfolders and files in the subtree |
|
|
1698
|
+
| `--yes` | | Skip confirmation |
|
|
1699
|
+
| `--json` | | Output as JSON |
|
|
1700
|
+
|
|
1701
|
+
### `amiko voice`
|
|
1702
|
+
|
|
1703
|
+
Manage twin voice — design, create, clone, reset
|
|
1704
|
+
|
|
1705
|
+
| Subcommand | Description |
|
|
1706
|
+
|---|---|
|
|
1707
|
+
| `voice design` | Design a voice from a text description (ElevenLabs) |
|
|
1708
|
+
| `voice create` | Create a voice from a previously designed preview (ElevenLabs) |
|
|
1709
|
+
| `voice clone` | Clone a voice from an audio file (path \| https URL \| -). Default provider: minimax |
|
|
1710
|
+
| `voice reset` | Reset the twin's voice to default |
|
|
1711
|
+
|
|
1712
|
+
#### `amiko voice design`
|
|
1713
|
+
|
|
1714
|
+
Design a voice from a text description (ElevenLabs)
|
|
1715
|
+
|
|
1716
|
+
| Flag | Default | Description |
|
|
1717
|
+
|---|---|---|
|
|
1718
|
+
| `--description <text>` | | Voice description (min 20 chars) |
|
|
1719
|
+
| `--twin <idOrName>` | | Target twin id or name |
|
|
1720
|
+
| `--json` | | Output as JSON |
|
|
1721
|
+
|
|
1722
|
+
#### `amiko voice create`
|
|
1723
|
+
|
|
1724
|
+
Create a voice from a previously designed preview (ElevenLabs)
|
|
1725
|
+
|
|
1726
|
+
| Flag | Default | Description |
|
|
1727
|
+
|---|---|---|
|
|
1728
|
+
| `--sample <id>` | | generated_voice_id from voice design |
|
|
1729
|
+
| `--description <text>` | | Optional voice description |
|
|
1730
|
+
| `--twin <idOrName>` | | Target twin id or name |
|
|
1731
|
+
| `--json` | | Output as JSON |
|
|
1732
|
+
|
|
1733
|
+
#### `amiko voice clone <source>`
|
|
1734
|
+
|
|
1735
|
+
Clone a voice from an audio file (path \| https URL \| -). Default provider: minimax
|
|
1736
|
+
|
|
1737
|
+
| Flag | Default | Description |
|
|
1738
|
+
|---|---|---|
|
|
1739
|
+
| `--provider <name>` | `minimax` | minimax (default, mpp rapid clone) \| elevenlabs (platform IVC) |
|
|
1740
|
+
| `--voice-id <id>` | | MiniMax: optional custom voice_id (8–256 chars) |
|
|
1741
|
+
| `--model <model>` | `speech-2.8-turbo` | MiniMax preview TTS model |
|
|
1742
|
+
| `--preview-text <text>` | | MiniMax: preview line (empty string skips preview) |
|
|
1743
|
+
| `--twin <idOrName>` | | Target twin id or name |
|
|
1744
|
+
| `--name <filename>` | | Override filename |
|
|
1745
|
+
| `--stdin` | | Read from stdin (source must be -) |
|
|
1746
|
+
| `--json` | | Output as JSON |
|
|
1747
|
+
|
|
1748
|
+
#### `amiko voice reset`
|
|
1749
|
+
|
|
1750
|
+
Reset the twin's voice to default
|
|
1751
|
+
|
|
1752
|
+
| Flag | Default | Description |
|
|
1753
|
+
|---|---|---|
|
|
1754
|
+
| `--twin <idOrName>` | | Target twin id or name |
|
|
1755
|
+
| `--yes` | | Skip confirmation |
|
|
1756
|
+
| `--json` | | Output as JSON |
|
|
1757
|
+
|
|
1758
|
+
### `amiko avatar`
|
|
1759
|
+
|
|
1760
|
+
Manage twin avatar image
|
|
1761
|
+
|
|
1762
|
+
| Subcommand | Description |
|
|
1763
|
+
|---|---|
|
|
1764
|
+
| `avatar update` | Update twin avatar image (path \| https URL \| - for stdin) |
|
|
1765
|
+
|
|
1766
|
+
#### `amiko avatar update`
|
|
1767
|
+
|
|
1768
|
+
Update twin avatar image (path \| https URL \| - for stdin)
|
|
1769
|
+
|
|
1770
|
+
| Flag | Default | Description |
|
|
1771
|
+
|---|---|---|
|
|
1772
|
+
| `--file <source>` | | Image source |
|
|
1773
|
+
| `--twin <idOrName>` | | Target twin id or name |
|
|
1774
|
+
| `--stdin` | | Read from stdin (file must be -) |
|
|
1775
|
+
| `--name <filename>` | | Override filename |
|
|
1776
|
+
| `--yes` | | Skip confirmation |
|
|
1777
|
+
| `--json` | | Output as JSON |
|
|
1778
|
+
|
|
1779
|
+
### `amiko friends`
|
|
1780
|
+
|
|
1781
|
+
Manage friendships — list, requests, add, accept, remove, nicknames, reports, matches
|
|
1782
|
+
|
|
1783
|
+
| Subcommand | Description |
|
|
1784
|
+
|---|---|
|
|
1785
|
+
| `friends list` | List friends |
|
|
1786
|
+
| `friends add` | Send a friend request to a user by id |
|
|
1787
|
+
| `friends accept` | Accept a pending friend request |
|
|
1788
|
+
| `friends requests` | List pending friend requests (incoming and outgoing) |
|
|
1789
|
+
| `friends nickname` | Private nicknames for friends — set, remove, list (only you ever see them) |
|
|
1790
|
+
| `friends reports` | Friend matching reports |
|
|
1791
|
+
| `friends find` | Find matches for a custom relationship description (LLM-generated, on-demand) |
|
|
1792
|
+
| `friends matches` | List friend matches |
|
|
1793
|
+
| `friends remove` | Remove a friend |
|
|
1794
|
+
|
|
1795
|
+
#### `amiko friends list`
|
|
1796
|
+
|
|
1797
|
+
List friends
|
|
1798
|
+
|
|
1799
|
+
| Flag | Default | Description |
|
|
1800
|
+
|---|---|---|
|
|
1801
|
+
| `--type <user|twin>` | | Filter by friend type |
|
|
1802
|
+
| `--json` | | Output as JSON |
|
|
1803
|
+
|
|
1804
|
+
#### `amiko friends add`
|
|
1805
|
+
|
|
1806
|
+
Send a friend request to a user by id
|
|
1807
|
+
|
|
1808
|
+
| Flag | Default | Description |
|
|
1809
|
+
|---|---|---|
|
|
1810
|
+
| `--id <userId>` | | Target user id |
|
|
1811
|
+
| `--json` | | Output as JSON |
|
|
1812
|
+
|
|
1813
|
+
#### `amiko friends accept <friendshipId>`
|
|
1814
|
+
|
|
1815
|
+
Accept a pending friend request
|
|
1816
|
+
|
|
1817
|
+
| Flag | Default | Description |
|
|
1818
|
+
|---|---|---|
|
|
1819
|
+
| `--json` | | Output as JSON |
|
|
1820
|
+
|
|
1821
|
+
#### `amiko friends requests`
|
|
1822
|
+
|
|
1823
|
+
List pending friend requests (incoming and outgoing)
|
|
1824
|
+
|
|
1825
|
+
| Flag | Default | Description |
|
|
1826
|
+
|---|---|---|
|
|
1827
|
+
| `--direction <incoming|outgoing|all>` | `all` | Filter direction |
|
|
1828
|
+
| `--json` | | Output as JSON |
|
|
1829
|
+
|
|
1830
|
+
#### `amiko friends nickname`
|
|
1831
|
+
|
|
1832
|
+
Private nicknames for friends — set, remove, list (only you ever see them)
|
|
1833
|
+
|
|
1834
|
+
##### `amiko friends nickname list`
|
|
1835
|
+
|
|
1836
|
+
List every nickname you've set
|
|
1837
|
+
|
|
1838
|
+
| Flag | Default | Description |
|
|
1839
|
+
|---|---|---|
|
|
1840
|
+
| `--json` | | Output as JSON |
|
|
1841
|
+
|
|
1842
|
+
##### `amiko friends nickname set <friend> <nickname>`
|
|
1843
|
+
|
|
1844
|
+
Set or change your private nickname for a friend (name, @handle, user id, or friendship id)
|
|
1845
|
+
|
|
1846
|
+
| Flag | Default | Description |
|
|
1847
|
+
|---|---|---|
|
|
1848
|
+
| `--yes` | | Skip the confirmation (required in non-interactive shells) |
|
|
1849
|
+
| `--json` | | Output as JSON |
|
|
1850
|
+
|
|
1851
|
+
##### `amiko friends nickname remove <friend>`
|
|
1852
|
+
|
|
1853
|
+
Remove your private nickname for a friend
|
|
1854
|
+
|
|
1855
|
+
| Flag | Default | Description |
|
|
1856
|
+
|---|---|---|
|
|
1857
|
+
| `--yes` | | Skip the confirmation (required in non-interactive shells) |
|
|
1858
|
+
| `--json` | | Output as JSON |
|
|
1859
|
+
|
|
1860
|
+
#### `amiko friends reports`
|
|
1861
|
+
|
|
1862
|
+
Friend matching reports
|
|
1863
|
+
|
|
1864
|
+
##### `amiko friends reports list`
|
|
1865
|
+
|
|
1866
|
+
List friend matching reports
|
|
1867
|
+
|
|
1868
|
+
| Flag | Default | Description |
|
|
1869
|
+
|---|---|---|
|
|
1870
|
+
| `--page <n>` | `1` | Page number |
|
|
1871
|
+
| `--limit <n>` | `20` | Page size (1-50) |
|
|
1872
|
+
| `--json` | | Output as JSON |
|
|
1873
|
+
|
|
1874
|
+
##### `amiko friends reports view <id>`
|
|
1875
|
+
|
|
1876
|
+
View a friend matching report
|
|
1877
|
+
|
|
1878
|
+
| Flag | Default | Description |
|
|
1879
|
+
|---|---|---|
|
|
1880
|
+
| `--json` | | Output as JSON |
|
|
1881
|
+
|
|
1882
|
+
##### `amiko friends reports pending`
|
|
1883
|
+
|
|
1884
|
+
List pending-consent report requests (awaiting my consent + awaiting theirs)
|
|
1885
|
+
|
|
1886
|
+
| Flag | Default | Description |
|
|
1887
|
+
|---|---|---|
|
|
1888
|
+
| `--limit <n>` | `50` | Page size (1-50) |
|
|
1889
|
+
| `--json` | | Output as JSON |
|
|
1890
|
+
|
|
1891
|
+
##### `amiko friends reports request`
|
|
1892
|
+
|
|
1893
|
+
Request a friend matching report (notifies the other user to consent). Use --pay to charge AMIKO for a fresh regeneration via MPP.
|
|
1894
|
+
|
|
1895
|
+
| Flag | Default | Description |
|
|
1896
|
+
|---|---|---|
|
|
1897
|
+
| `--id <userId>` | | Target user id (must be an accepted friend) |
|
|
1898
|
+
| `--type <friend|romantic|career>` | | Report type |
|
|
1899
|
+
| `--pay` | | Pay AMIKO via MPP and regenerate fresh content (requires consent already granted) |
|
|
1900
|
+
| `--yes` | | Skip confirmation |
|
|
1901
|
+
| `--json` | | Output as JSON |
|
|
1902
|
+
|
|
1903
|
+
##### `amiko friends reports consent <id>`
|
|
1904
|
+
|
|
1905
|
+
Consent to a report request (respondent only)
|
|
1906
|
+
|
|
1907
|
+
| Flag | Default | Description |
|
|
1908
|
+
|---|---|---|
|
|
1909
|
+
| `--json` | | Output as JSON |
|
|
1910
|
+
|
|
1911
|
+
##### `amiko friends reports cancel <id>`
|
|
1912
|
+
|
|
1913
|
+
Cancel a pending report
|
|
1914
|
+
|
|
1915
|
+
| Flag | Default | Description |
|
|
1916
|
+
|---|---|---|
|
|
1917
|
+
| `--json` | | Output as JSON |
|
|
1918
|
+
|
|
1919
|
+
##### `amiko friends reports retry <id>`
|
|
1920
|
+
|
|
1921
|
+
Retry a failed report generation
|
|
1922
|
+
|
|
1923
|
+
| Flag | Default | Description |
|
|
1924
|
+
|---|---|---|
|
|
1925
|
+
| `--json` | | Output as JSON |
|
|
1926
|
+
|
|
1927
|
+
#### `amiko friends find`
|
|
1928
|
+
|
|
1929
|
+
Find matches for a custom relationship description (LLM-generated, on-demand)
|
|
1930
|
+
|
|
1931
|
+
| Flag | Default | Description |
|
|
1932
|
+
|---|---|---|
|
|
1933
|
+
| `--relationship <text>` | | Relationship description, e.g. "cofounder who is good at design" |
|
|
1934
|
+
| `--rationale <text>` | | Optional extra context for the matcher |
|
|
1935
|
+
| `--limit <n>` | `10` | Max results (1-20) |
|
|
1936
|
+
| `--json` | | Output as JSON |
|
|
1937
|
+
|
|
1938
|
+
#### `amiko friends matches`
|
|
1939
|
+
|
|
1940
|
+
List friend matches
|
|
1941
|
+
|
|
1942
|
+
| Flag | Default | Description |
|
|
1943
|
+
|---|---|---|
|
|
1944
|
+
| `--limit <n>` | `10` | Max results (1-50) |
|
|
1945
|
+
| `--offset <n>` | `0` | Offset |
|
|
1946
|
+
| `--relationship-type <type>` | | Filter by relationship type |
|
|
1947
|
+
| `--dimension <dimension>` | | Filter by match dimension |
|
|
1948
|
+
| `--json` | | Output as JSON |
|
|
1949
|
+
|
|
1950
|
+
#### `amiko friends remove <friendshipId>`
|
|
1951
|
+
|
|
1952
|
+
Remove a friend
|
|
1953
|
+
|
|
1954
|
+
| Flag | Default | Description |
|
|
1955
|
+
|---|---|---|
|
|
1956
|
+
| `--yes` | | Skip confirmation |
|
|
1957
|
+
| `--json` | | Output as JSON |
|
|
1958
|
+
|
|
1959
|
+
### `amiko users`
|
|
1960
|
+
|
|
1961
|
+
Search users, view public profiles, and manage follows (follow, unfollow, followers, following)
|
|
1962
|
+
|
|
1963
|
+
| Subcommand | Description |
|
|
1964
|
+
|---|---|
|
|
1965
|
+
| `users search` | Search for users by name or handle |
|
|
1966
|
+
| `users profile` | View a user's public profile |
|
|
1967
|
+
| `users follow` | Follow a user (one-way, no approval needed — their posts appear in `amiko feed --type following`) |
|
|
1968
|
+
| `users unfollow` | Stop following a user |
|
|
1969
|
+
| `users follow-status` | Check whether you follow a user (and whether they follow you) |
|
|
1970
|
+
| `users followers` | List who follows a user (newest first) |
|
|
1971
|
+
| `users following` | List who a user follows (newest first) |
|
|
1972
|
+
|
|
1973
|
+
#### `amiko users search <query>`
|
|
1974
|
+
|
|
1975
|
+
Search for users by name or handle
|
|
1976
|
+
|
|
1977
|
+
| Flag | Default | Description |
|
|
1978
|
+
|---|---|---|
|
|
1979
|
+
| `--limit <n>` | `10` | Max results (1-20) |
|
|
1980
|
+
| `--all` | | Page through EVERY match (up to a safety cap) — use for "how many people match X". Ignores --limit |
|
|
1981
|
+
| `--cursor <cursor>` | | Pagination cursor |
|
|
1982
|
+
| `--json` | | Output as JSON |
|
|
1983
|
+
|
|
1984
|
+
#### `amiko users profile <handle>`
|
|
1985
|
+
|
|
1986
|
+
View a user's public profile
|
|
1987
|
+
|
|
1988
|
+
| Flag | Default | Description |
|
|
1989
|
+
|---|---|---|
|
|
1990
|
+
| `--json` | | Output as JSON |
|
|
1991
|
+
|
|
1992
|
+
#### `amiko users follow <handleOrId>`
|
|
1993
|
+
|
|
1994
|
+
Follow a user (one-way, no approval needed — their posts appear in `amiko feed --type following`)
|
|
1995
|
+
|
|
1996
|
+
| Flag | Default | Description |
|
|
1997
|
+
|---|---|---|
|
|
1998
|
+
| `--json` | | Output as JSON |
|
|
1999
|
+
|
|
2000
|
+
#### `amiko users unfollow <handleOrId>`
|
|
2001
|
+
|
|
2002
|
+
Stop following a user
|
|
2003
|
+
|
|
2004
|
+
| Flag | Default | Description |
|
|
2005
|
+
|---|---|---|
|
|
2006
|
+
| `--json` | | Output as JSON |
|
|
2007
|
+
|
|
2008
|
+
#### `amiko users follow-status <handleOrId>`
|
|
2009
|
+
|
|
2010
|
+
Check whether you follow a user (and whether they follow you)
|
|
2011
|
+
|
|
2012
|
+
| Flag | Default | Description |
|
|
2013
|
+
|---|---|---|
|
|
2014
|
+
| `--json` | | Output as JSON |
|
|
2015
|
+
|
|
2016
|
+
#### `amiko users followers <handleOrId>`
|
|
2017
|
+
|
|
2018
|
+
List who follows a user (newest first)
|
|
2019
|
+
|
|
2020
|
+
| Flag | Default | Description |
|
|
2021
|
+
|---|---|---|
|
|
2022
|
+
| `--limit <n>` | `20` | Max results (1-50, default 20) |
|
|
2023
|
+
| `--cursor <cursor>` | | Pagination cursor |
|
|
2024
|
+
| `--json` | | Output as JSON |
|
|
2025
|
+
|
|
2026
|
+
#### `amiko users following <handleOrId>`
|
|
2027
|
+
|
|
2028
|
+
List who a user follows (newest first)
|
|
2029
|
+
|
|
2030
|
+
| Flag | Default | Description |
|
|
2031
|
+
|---|---|---|
|
|
2032
|
+
| `--limit <n>` | `20` | Max results (1-50, default 20) |
|
|
2033
|
+
| `--cursor <cursor>` | | Pagination cursor |
|
|
2034
|
+
| `--json` | | Output as JSON |
|
|
2035
|
+
|
|
2036
|
+
### `amiko post`
|
|
2037
|
+
|
|
2038
|
+
Create posts (notes) and comments on the feed — text, images, and documents
|
|
2039
|
+
|
|
2040
|
+
| Subcommand | Description |
|
|
2041
|
+
|---|---|
|
|
2042
|
+
| `post create` | Create a post (a.k.a. note) on your feed |
|
|
2043
|
+
| `post drafts` | List your draft posts (newest first) |
|
|
2044
|
+
| `post publish` | Publish a draft post (stamps a fresh timestamp and notifies mentions) |
|
|
2045
|
+
| `post comments` | List comments on a post |
|
|
2046
|
+
| `post comment` | Comment on a post |
|
|
2047
|
+
| `post likers` | List everyone who liked ONE OF THE OWNER'S OWN posts — pages through ALL likes (up to a cap), for 'who/which friends liked this'. Another user's post returns 403: engagement lists are visible only to the post's owner |
|
|
2048
|
+
|
|
2049
|
+
#### `amiko post create`
|
|
2050
|
+
|
|
2051
|
+
Create a post (a.k.a. note) on your feed
|
|
2052
|
+
|
|
2053
|
+
| Flag | Default | Description |
|
|
2054
|
+
|---|---|---|
|
|
2055
|
+
| `--content <text>` | | Post body. Optional when --media or --doc is given (an image-only note is a normal post) |
|
|
2056
|
+
| `--title <text>` | | Note title, max 150 chars — the heading shown on the feed card. Optional but strongly recommended for image notes |
|
|
2057
|
+
| `--visibility <public|private>` | `public` | Post visibility |
|
|
2058
|
+
| `--media <pathOrUrl...>` | | Attach media: local IMAGE file paths (uploaded automatically); Amiko-hosted URLs (image/music/video from `amiko create`); or `drive:<docId>` for a media file in your Drive (`amiko drive list`) |
|
|
2059
|
+
| `--doc <pathOrUrl...>` | | Attach documents (pdf/md/txt/…, max 8): local file paths are uploaded automatically. Rendered as file cards, not images |
|
|
2060
|
+
| `--draft` | | Save as a draft instead of publishing (list: amiko post drafts · publish: amiko post publish <id>) |
|
|
2061
|
+
| `--json` | | Output as JSON |
|
|
2062
|
+
|
|
2063
|
+
#### `amiko post drafts`
|
|
2064
|
+
|
|
2065
|
+
List your draft posts (newest first)
|
|
2066
|
+
|
|
2067
|
+
| Flag | Default | Description |
|
|
2068
|
+
|---|---|---|
|
|
2069
|
+
| `--limit <n>` | `20` | Max results (1-100, default 20) |
|
|
2070
|
+
| `--offset <n>` | `0` | Pagination offset |
|
|
2071
|
+
| `--json` | | Output as JSON |
|
|
2072
|
+
|
|
2073
|
+
#### `amiko post publish <postId>`
|
|
2074
|
+
|
|
2075
|
+
Publish a draft post (stamps a fresh timestamp and notifies mentions)
|
|
2076
|
+
|
|
2077
|
+
| Flag | Default | Description |
|
|
2078
|
+
|---|---|---|
|
|
2079
|
+
| `--json` | | Output as JSON |
|
|
2080
|
+
|
|
2081
|
+
#### `amiko post comments`
|
|
2082
|
+
|
|
2083
|
+
List comments on a post
|
|
2084
|
+
|
|
2085
|
+
| Flag | Default | Description |
|
|
2086
|
+
|---|---|---|
|
|
2087
|
+
| `--id <postId>` | | Target post id |
|
|
2088
|
+
| `--limit <n>` | | Max results (default 20, max 100) |
|
|
2089
|
+
| `--cursor <id>` | | Pagination cursor |
|
|
2090
|
+
| `--replies` | | Include nested replies (default: top-level only) |
|
|
2091
|
+
| `--json` | | Output as JSON |
|
|
2092
|
+
|
|
2093
|
+
#### `amiko post comment`
|
|
2094
|
+
|
|
2095
|
+
Comment on a post
|
|
2096
|
+
|
|
2097
|
+
| Flag | Default | Description |
|
|
2098
|
+
|---|---|---|
|
|
2099
|
+
| `--id <postId>` | | Target post id |
|
|
2100
|
+
| `--comment <text>` | | Comment body |
|
|
2101
|
+
| `--media <pathOrUrl...>` | | Attach media: local IMAGE file paths (uploaded automatically); Amiko-hosted URLs (image/music/video from `amiko create`); or `drive:<docId>` for a media file in your Drive (`amiko drive list`) |
|
|
2102
|
+
| `--twin <idOrName>` | | Post as this twin (agent mode) |
|
|
2103
|
+
| `--json` | | Output as JSON |
|
|
2104
|
+
|
|
2105
|
+
#### `amiko post likers <postId>`
|
|
2106
|
+
|
|
2107
|
+
List everyone who liked ONE OF THE OWNER'S OWN posts — pages through ALL likes (up to a cap), for 'who/which friends liked this'. Another user's post returns 403: engagement lists are visible only to the post's owner
|
|
2108
|
+
|
|
2109
|
+
| Flag | Default | Description |
|
|
2110
|
+
|---|---|---|
|
|
2111
|
+
| `--json` | | Output as JSON |
|
|
2112
|
+
|
|
2113
|
+
### `amiko review`
|
|
2114
|
+
|
|
2115
|
+
Review queue — list, approve, or reject twin-drafted comments
|
|
2116
|
+
|
|
2117
|
+
| Subcommand | Description |
|
|
2118
|
+
|---|---|
|
|
2119
|
+
| `review list` | List twin-drafted comments awaiting your approval |
|
|
2120
|
+
| `review approve` | Approve and publish a twin-drafted comment from the review queue |
|
|
2121
|
+
| `review reject` | Reject (delete) a twin-drafted comment from the review queue |
|
|
2122
|
+
|
|
2123
|
+
#### `amiko review list`
|
|
2124
|
+
|
|
2125
|
+
List twin-drafted comments awaiting your approval
|
|
2126
|
+
|
|
2127
|
+
| Flag | Default | Description |
|
|
2128
|
+
|---|---|---|
|
|
2129
|
+
| `--json` | | Output as JSON |
|
|
2130
|
+
|
|
2131
|
+
#### `amiko review approve <commentId>`
|
|
2132
|
+
|
|
2133
|
+
Approve and publish a twin-drafted comment from the review queue
|
|
2134
|
+
|
|
2135
|
+
| Flag | Default | Description |
|
|
2136
|
+
|---|---|---|
|
|
2137
|
+
| `--json` | | Output as JSON |
|
|
2138
|
+
|
|
2139
|
+
#### `amiko review reject <commentId>`
|
|
2140
|
+
|
|
2141
|
+
Reject (delete) a twin-drafted comment from the review queue
|
|
2142
|
+
|
|
2143
|
+
| Flag | Default | Description |
|
|
2144
|
+
|---|---|---|
|
|
2145
|
+
| `--yes` | | Skip confirmation |
|
|
2146
|
+
| `--json` | | Output as JSON |
|
|
2147
|
+
|
|
2148
|
+
### `amiko notifications`
|
|
2149
|
+
|
|
2150
|
+
Platform notifications — list, mark as read
|
|
2151
|
+
|
|
2152
|
+
| Subcommand | Description |
|
|
2153
|
+
|---|---|
|
|
2154
|
+
| `notifications list` | List platform notifications (friend requests, system alerts, activity) |
|
|
2155
|
+
| `notifications read` | Mark a notification as read (or --all for everything) |
|
|
2156
|
+
|
|
2157
|
+
#### `amiko notifications list`
|
|
2158
|
+
|
|
2159
|
+
List platform notifications (friend requests, system alerts, activity)
|
|
2160
|
+
|
|
2161
|
+
| Flag | Default | Description |
|
|
2162
|
+
|---|---|---|
|
|
2163
|
+
| `--limit <n>` | `20` | Max results (1–100) |
|
|
2164
|
+
| `--cursor <iso>` | | Page older items via next_cursor from a prior call |
|
|
2165
|
+
| `--unread` | | Show only unread |
|
|
2166
|
+
| `--json` | | Output as JSON |
|
|
2167
|
+
|
|
2168
|
+
#### `amiko notifications read`
|
|
2169
|
+
|
|
2170
|
+
Mark a notification as read (or --all for everything)
|
|
2171
|
+
|
|
2172
|
+
| Flag | Default | Description |
|
|
2173
|
+
|---|---|---|
|
|
2174
|
+
| `--id <notificationId>` | | Notification id to mark read |
|
|
2175
|
+
| `--all` | | Mark all notifications as read |
|
|
2176
|
+
| `--json` | | Output as JSON |
|
|
2177
|
+
|
|
2178
|
+
### `amiko credits`
|
|
2179
|
+
|
|
2180
|
+
Manage Amiko credit balance and top-ups
|
|
2181
|
+
|
|
2182
|
+
| Subcommand | Description |
|
|
2183
|
+
|---|---|
|
|
2184
|
+
| `credits balance` | Show credit balance |
|
|
2185
|
+
| `credits topup` | Top up credits by spending tokens from your agent wallet. <amount> is in credits (10,000 = $1.00). Use --usd <n> to specify dollars, or --spend <n> to specify a token amount (e.g. 1 SOL worth). |
|
|
2186
|
+
|
|
2187
|
+
#### `amiko credits balance`
|
|
2188
|
+
|
|
2189
|
+
Show credit balance
|
|
2190
|
+
|
|
2191
|
+
#### `amiko credits topup [amount]`
|
|
2192
|
+
|
|
2193
|
+
Top up credits by spending tokens from your agent wallet. <amount> is in credits (10,000 = $1.00). Use --usd <n> to specify dollars, or --spend <n> to specify a token amount (e.g. 1 SOL worth).
|
|
2194
|
+
|
|
2195
|
+
| Flag | Default | Description |
|
|
2196
|
+
|---|---|---|
|
|
2197
|
+
| `--token <TOKEN>` | | Token to use for top-up |
|
|
2198
|
+
| `--chain <CHAIN>` | | Chain to use for top-up |
|
|
2199
|
+
| `--wallet <ADDR>` | | Wallet address to use |
|
|
2200
|
+
| `--method <METHOD>` | `auto` | Payment method: auto, crossmint, mpp |
|
|
2201
|
+
| `--key-id <ID>` | | Platform API key ID (required for --method mpp) |
|
|
2202
|
+
| `--usd <amount>` | | Amount in USD instead of credits (e.g. --usd 1 = 10,000 credits) |
|
|
2203
|
+
| `--spend <amount>` | | Spend this many units of --token and convert to credits at current price |
|
|
2204
|
+
| `--yes` | | Skip the interactive Proceed? prompt |
|
|
2205
|
+
|
|
2206
|
+
### `amiko search`
|
|
2207
|
+
|
|
2208
|
+
Paid web search across Google, Bing, X, Amazon, news, images, scholar and more — $0.01 per search
|
|
2209
|
+
|
|
2210
|
+
| Subcommand | Description |
|
|
2211
|
+
|---|---|
|
|
2212
|
+
| `search web` | General web search — $0.01 (default engine: google) |
|
|
2213
|
+
| `search x` | X / Twitter search — $0.01 |
|
|
2214
|
+
| `search news` | Google News — $0.01 |
|
|
2215
|
+
| `search images` | Google Images — $0.01 |
|
|
2216
|
+
| `search videos` | Google Videos — $0.01 |
|
|
2217
|
+
| `search youtube` | YouTube — $0.01 |
|
|
2218
|
+
| `search scholar` | Google Scholar — $0.01 |
|
|
2219
|
+
| `search patents` | Google Patents — $0.01 |
|
|
2220
|
+
| `search maps` | Google Maps places — $0.01 |
|
|
2221
|
+
| `search jobs` | Google Jobs — $0.01 |
|
|
2222
|
+
| `search shopping` | Google Shopping — $0.01 |
|
|
2223
|
+
| `search amazon` | Amazon products — $0.01 |
|
|
2224
|
+
| `search walmart` | Walmart products — $0.01 |
|
|
2225
|
+
| `search finance` | Google Finance quote for a ticker — $0.01 |
|
|
2226
|
+
| `search trends` | Google Trends interest over time — $0.01 |
|
|
2227
|
+
| `search engines` | List available search engines and their parameters — free |
|
|
2228
|
+
|
|
2229
|
+
#### `amiko search web <query>`
|
|
2230
|
+
|
|
2231
|
+
General web search — $0.01 (default engine: google)
|
|
2232
|
+
|
|
2233
|
+
| Flag | Default | Description |
|
|
2234
|
+
|---|---|---|
|
|
2235
|
+
| `--engine <engine>` | `google` | google, bing, or duckduckgo |
|
|
2236
|
+
| `--country <code>` | | Country code (gl), e.g. us, gb, jp |
|
|
2237
|
+
| `--lang <code>` | | Language code (hl), e.g. en, zh-cn |
|
|
2238
|
+
| `--since <period>` | | Time period, e.g. last_hour, last_day, last_week, last_year |
|
|
2239
|
+
| `--limit <n>` | `5` | Max results to print |
|
|
2240
|
+
| `--param <key=value>` | | Extra upstream parameter (repeat for more) |
|
|
2241
|
+
| `--raw` | | Output raw JSON — the full response, nothing else on stdout |
|
|
2242
|
+
| `--token <token>` | `AMIKO` | Payment token (AMIKO, USDC, USDT) |
|
|
2243
|
+
| `--wallet <address>` | | Wallet to pay from (defaults to your Solana wallet — run `amiko wallets create --chain solana` if you don't have one) |
|
|
2244
|
+
| `--yes` | | Skip the pre-spend confirmation (required in non-interactive shells) |
|
|
2245
|
+
|
|
2246
|
+
#### `amiko search x <query>`
|
|
2247
|
+
|
|
2248
|
+
X / Twitter search — $0.01
|
|
2249
|
+
|
|
2250
|
+
| Flag | Default | Description |
|
|
2251
|
+
|---|---|---|
|
|
2252
|
+
| `--limit <n>` | `5` | Max results to print |
|
|
2253
|
+
| `--param <key=value>` | | Extra upstream parameter (repeat for more) |
|
|
2254
|
+
| `--raw` | | Output raw JSON — the full response, nothing else on stdout |
|
|
2255
|
+
| `--token <token>` | `AMIKO` | Payment token (AMIKO, USDC, USDT) |
|
|
2256
|
+
| `--wallet <address>` | | Wallet to pay from (defaults to your Solana wallet — run `amiko wallets create --chain solana` if you don't have one) |
|
|
2257
|
+
| `--yes` | | Skip the pre-spend confirmation (required in non-interactive shells) |
|
|
2258
|
+
|
|
2259
|
+
#### `amiko search news <query>`
|
|
2260
|
+
|
|
2261
|
+
Google News — $0.01
|
|
2262
|
+
|
|
2263
|
+
| Flag | Default | Description |
|
|
2264
|
+
|---|---|---|
|
|
2265
|
+
| `--country <code>` | | Country code (gl), e.g. us, gb, jp |
|
|
2266
|
+
| `--lang <code>` | | Language code (hl), e.g. en, zh-cn |
|
|
2267
|
+
| `--since <period>` | | Time period, e.g. last_hour, last_day, last_week, last_year |
|
|
2268
|
+
| `--sort <by>` | | Sort order, e.g. date |
|
|
2269
|
+
| `--limit <n>` | `5` | Max results to print |
|
|
2270
|
+
| `--param <key=value>` | | Extra upstream parameter (repeat for more) |
|
|
2271
|
+
| `--raw` | | Output raw JSON — the full response, nothing else on stdout |
|
|
2272
|
+
| `--token <token>` | `AMIKO` | Payment token (AMIKO, USDC, USDT) |
|
|
2273
|
+
| `--wallet <address>` | | Wallet to pay from (defaults to your Solana wallet — run `amiko wallets create --chain solana` if you don't have one) |
|
|
2274
|
+
| `--yes` | | Skip the pre-spend confirmation (required in non-interactive shells) |
|
|
2275
|
+
|
|
2276
|
+
#### `amiko search images <query>`
|
|
2277
|
+
|
|
2278
|
+
Google Images — $0.01
|
|
2279
|
+
|
|
2280
|
+
| Flag | Default | Description |
|
|
2281
|
+
|---|---|---|
|
|
2282
|
+
| `--country <code>` | | Country code (gl), e.g. us, gb, jp |
|
|
2283
|
+
| `--lang <code>` | | Language code (hl), e.g. en, zh-cn |
|
|
2284
|
+
| `--size <size>` | | Image size, e.g. large, medium, icon |
|
|
2285
|
+
| `--color <color>` | | Dominant colour filter |
|
|
2286
|
+
| `--image-type <type>` | | e.g. photo, clipart, lineart, face |
|
|
2287
|
+
| `--limit <n>` | `5` | Max results to print |
|
|
2288
|
+
| `--param <key=value>` | | Extra upstream parameter (repeat for more) |
|
|
2289
|
+
| `--raw` | | Output raw JSON — the full response, nothing else on stdout |
|
|
2290
|
+
| `--token <token>` | `AMIKO` | Payment token (AMIKO, USDC, USDT) |
|
|
2291
|
+
| `--wallet <address>` | | Wallet to pay from (defaults to your Solana wallet — run `amiko wallets create --chain solana` if you don't have one) |
|
|
2292
|
+
| `--yes` | | Skip the pre-spend confirmation (required in non-interactive shells) |
|
|
2293
|
+
|
|
2294
|
+
#### `amiko search videos <query>`
|
|
2295
|
+
|
|
2296
|
+
Google Videos — $0.01
|
|
2297
|
+
|
|
2298
|
+
| Flag | Default | Description |
|
|
2299
|
+
|---|---|---|
|
|
2300
|
+
| `--country <code>` | | Country code (gl), e.g. us, gb, jp |
|
|
2301
|
+
| `--lang <code>` | | Language code (hl), e.g. en, zh-cn |
|
|
2302
|
+
| `--limit <n>` | `5` | Max results to print |
|
|
2303
|
+
| `--param <key=value>` | | Extra upstream parameter (repeat for more) |
|
|
2304
|
+
| `--raw` | | Output raw JSON — the full response, nothing else on stdout |
|
|
2305
|
+
| `--token <token>` | `AMIKO` | Payment token (AMIKO, USDC, USDT) |
|
|
2306
|
+
| `--wallet <address>` | | Wallet to pay from (defaults to your Solana wallet — run `amiko wallets create --chain solana` if you don't have one) |
|
|
2307
|
+
| `--yes` | | Skip the pre-spend confirmation (required in non-interactive shells) |
|
|
2308
|
+
|
|
2309
|
+
#### `amiko search youtube <query>`
|
|
2310
|
+
|
|
2311
|
+
YouTube — $0.01
|
|
2312
|
+
|
|
2313
|
+
| Flag | Default | Description |
|
|
2314
|
+
|---|---|---|
|
|
2315
|
+
| `--country <code>` | | Country code (gl), e.g. us, gb, jp |
|
|
2316
|
+
| `--lang <code>` | | Language code (hl), e.g. en, zh-cn |
|
|
2317
|
+
| `--sp <token>` | | YouTube filter token (sp) |
|
|
2318
|
+
| `--limit <n>` | `5` | Max results to print |
|
|
2319
|
+
| `--param <key=value>` | | Extra upstream parameter (repeat for more) |
|
|
2320
|
+
| `--raw` | | Output raw JSON — the full response, nothing else on stdout |
|
|
2321
|
+
| `--token <token>` | `AMIKO` | Payment token (AMIKO, USDC, USDT) |
|
|
2322
|
+
| `--wallet <address>` | | Wallet to pay from (defaults to your Solana wallet — run `amiko wallets create --chain solana` if you don't have one) |
|
|
2323
|
+
| `--yes` | | Skip the pre-spend confirmation (required in non-interactive shells) |
|
|
2324
|
+
|
|
2325
|
+
#### `amiko search scholar <query>`
|
|
2326
|
+
|
|
2327
|
+
Google Scholar — $0.01
|
|
2328
|
+
|
|
2329
|
+
| Flag | Default | Description |
|
|
2330
|
+
|---|---|---|
|
|
2331
|
+
| `--lang <code>` | | Language code (hl), e.g. en, zh-cn |
|
|
2332
|
+
| `--from <year>` | | Earliest publication year |
|
|
2333
|
+
| `--to <year>` | | Latest publication year |
|
|
2334
|
+
| `--limit <n>` | `5` | Max results to print |
|
|
2335
|
+
| `--param <key=value>` | | Extra upstream parameter (repeat for more) |
|
|
2336
|
+
| `--raw` | | Output raw JSON — the full response, nothing else on stdout |
|
|
2337
|
+
| `--token <token>` | `AMIKO` | Payment token (AMIKO, USDC, USDT) |
|
|
2338
|
+
| `--wallet <address>` | | Wallet to pay from (defaults to your Solana wallet — run `amiko wallets create --chain solana` if you don't have one) |
|
|
2339
|
+
| `--yes` | | Skip the pre-spend confirmation (required in non-interactive shells) |
|
|
2340
|
+
|
|
2341
|
+
#### `amiko search patents <query>`
|
|
2342
|
+
|
|
2343
|
+
Google Patents — $0.01
|
|
2344
|
+
|
|
2345
|
+
| Flag | Default | Description |
|
|
2346
|
+
|---|---|---|
|
|
2347
|
+
| `--page <n>` | | Result page |
|
|
2348
|
+
| `--limit <n>` | `5` | Max results to print |
|
|
2349
|
+
| `--param <key=value>` | | Extra upstream parameter (repeat for more) |
|
|
2350
|
+
| `--raw` | | Output raw JSON — the full response, nothing else on stdout |
|
|
2351
|
+
| `--token <token>` | `AMIKO` | Payment token (AMIKO, USDC, USDT) |
|
|
2352
|
+
| `--wallet <address>` | | Wallet to pay from (defaults to your Solana wallet — run `amiko wallets create --chain solana` if you don't have one) |
|
|
2353
|
+
| `--yes` | | Skip the pre-spend confirmation (required in non-interactive shells) |
|
|
2354
|
+
|
|
2355
|
+
#### `amiko search maps <query>`
|
|
2356
|
+
|
|
2357
|
+
Google Maps places — $0.01
|
|
2358
|
+
|
|
2359
|
+
| Flag | Default | Description |
|
|
2360
|
+
|---|---|---|
|
|
2361
|
+
| `--country <code>` | | Country code (gl), e.g. us, gb, jp |
|
|
2362
|
+
| `--lang <code>` | | Language code (hl), e.g. en, zh-cn |
|
|
2363
|
+
| `--ll <coords>` | | Centre point, e.g. @40.71,-74.00,14z |
|
|
2364
|
+
| `--limit <n>` | `5` | Max results to print |
|
|
2365
|
+
| `--param <key=value>` | | Extra upstream parameter (repeat for more) |
|
|
2366
|
+
| `--raw` | | Output raw JSON — the full response, nothing else on stdout |
|
|
2367
|
+
| `--token <token>` | `AMIKO` | Payment token (AMIKO, USDC, USDT) |
|
|
2368
|
+
| `--wallet <address>` | | Wallet to pay from (defaults to your Solana wallet — run `amiko wallets create --chain solana` if you don't have one) |
|
|
2369
|
+
| `--yes` | | Skip the pre-spend confirmation (required in non-interactive shells) |
|
|
2370
|
+
|
|
2371
|
+
#### `amiko search jobs <query>`
|
|
2372
|
+
|
|
2373
|
+
Google Jobs — $0.01
|
|
2374
|
+
|
|
2375
|
+
| Flag | Default | Description |
|
|
2376
|
+
|---|---|---|
|
|
2377
|
+
| `--country <code>` | | Country code (gl), e.g. us, gb, jp |
|
|
2378
|
+
| `--lang <code>` | | Language code (hl), e.g. en, zh-cn |
|
|
2379
|
+
| `--location <where>` | | Where to search, e.g. "Berlin, Germany" |
|
|
2380
|
+
| `--page-token <token>` | | next_page_token from a previous page |
|
|
2381
|
+
| `--limit <n>` | `5` | Max results to print |
|
|
2382
|
+
| `--param <key=value>` | | Extra upstream parameter (repeat for more) |
|
|
2383
|
+
| `--raw` | | Output raw JSON — the full response, nothing else on stdout |
|
|
2384
|
+
| `--token <token>` | `AMIKO` | Payment token (AMIKO, USDC, USDT) |
|
|
2385
|
+
| `--wallet <address>` | | Wallet to pay from (defaults to your Solana wallet — run `amiko wallets create --chain solana` if you don't have one) |
|
|
2386
|
+
| `--yes` | | Skip the pre-spend confirmation (required in non-interactive shells) |
|
|
2387
|
+
|
|
2388
|
+
#### `amiko search shopping <query>`
|
|
2389
|
+
|
|
2390
|
+
Google Shopping — $0.01
|
|
2391
|
+
|
|
2392
|
+
| Flag | Default | Description |
|
|
2393
|
+
|---|---|---|
|
|
2394
|
+
| `--country <code>` | | Country code (gl), e.g. us, gb, jp |
|
|
2395
|
+
| `--lang <code>` | | Language code (hl), e.g. en, zh-cn |
|
|
2396
|
+
| `--min <price>` | | Minimum price |
|
|
2397
|
+
| `--max <price>` | | Maximum price |
|
|
2398
|
+
| `--sort <by>` | | Sort order, e.g. price_low_to_high |
|
|
2399
|
+
| `--condition <c>` | | e.g. new, used |
|
|
2400
|
+
| `--limit <n>` | `5` | Max results to print |
|
|
2401
|
+
| `--param <key=value>` | | Extra upstream parameter (repeat for more) |
|
|
2402
|
+
| `--raw` | | Output raw JSON — the full response, nothing else on stdout |
|
|
2403
|
+
| `--token <token>` | `AMIKO` | Payment token (AMIKO, USDC, USDT) |
|
|
2404
|
+
| `--wallet <address>` | | Wallet to pay from (defaults to your Solana wallet — run `amiko wallets create --chain solana` if you don't have one) |
|
|
2405
|
+
| `--yes` | | Skip the pre-spend confirmation (required in non-interactive shells) |
|
|
2406
|
+
|
|
2407
|
+
#### `amiko search amazon <query>`
|
|
2408
|
+
|
|
2409
|
+
Amazon products — $0.01
|
|
2410
|
+
|
|
2411
|
+
| Flag | Default | Description |
|
|
2412
|
+
|---|---|---|
|
|
2413
|
+
| `--domain <domain>` | | Marketplace, e.g. amazon.co.uk |
|
|
2414
|
+
| `--min <price>` | | Minimum price |
|
|
2415
|
+
| `--max <price>` | | Maximum price |
|
|
2416
|
+
| `--sort <by>` | | Sort order |
|
|
2417
|
+
| `--page <n>` | | Result page |
|
|
2418
|
+
| `--limit <n>` | `5` | Max results to print |
|
|
2419
|
+
| `--param <key=value>` | | Extra upstream parameter (repeat for more) |
|
|
2420
|
+
| `--raw` | | Output raw JSON — the full response, nothing else on stdout |
|
|
2421
|
+
| `--token <token>` | `AMIKO` | Payment token (AMIKO, USDC, USDT) |
|
|
2422
|
+
| `--wallet <address>` | | Wallet to pay from (defaults to your Solana wallet — run `amiko wallets create --chain solana` if you don't have one) |
|
|
2423
|
+
| `--yes` | | Skip the pre-spend confirmation (required in non-interactive shells) |
|
|
2424
|
+
|
|
2425
|
+
#### `amiko search walmart <query>`
|
|
2426
|
+
|
|
2427
|
+
Walmart products — $0.01
|
|
2428
|
+
|
|
2429
|
+
| Flag | Default | Description |
|
|
2430
|
+
|---|---|---|
|
|
2431
|
+
| `--min <price>` | | Minimum price |
|
|
2432
|
+
| `--max <price>` | | Maximum price |
|
|
2433
|
+
| `--sort <by>` | | Sort order |
|
|
2434
|
+
| `--page <n>` | | Result page |
|
|
2435
|
+
| `--limit <n>` | `5` | Max results to print |
|
|
2436
|
+
| `--param <key=value>` | | Extra upstream parameter (repeat for more) |
|
|
2437
|
+
| `--raw` | | Output raw JSON — the full response, nothing else on stdout |
|
|
2438
|
+
| `--token <token>` | `AMIKO` | Payment token (AMIKO, USDC, USDT) |
|
|
2439
|
+
| `--wallet <address>` | | Wallet to pay from (defaults to your Solana wallet — run `amiko wallets create --chain solana` if you don't have one) |
|
|
2440
|
+
| `--yes` | | Skip the pre-spend confirmation (required in non-interactive shells) |
|
|
2441
|
+
|
|
2442
|
+
#### `amiko search finance <query>`
|
|
2443
|
+
|
|
2444
|
+
Google Finance quote for a ticker — $0.01
|
|
2445
|
+
|
|
2446
|
+
| Flag | Default | Description |
|
|
2447
|
+
|---|---|---|
|
|
2448
|
+
| `--limit <n>` | `5` | Max results to print |
|
|
2449
|
+
| `--param <key=value>` | | Extra upstream parameter (repeat for more) |
|
|
2450
|
+
| `--raw` | | Output raw JSON — the full response, nothing else on stdout |
|
|
2451
|
+
| `--token <token>` | `AMIKO` | Payment token (AMIKO, USDC, USDT) |
|
|
2452
|
+
| `--wallet <address>` | | Wallet to pay from (defaults to your Solana wallet — run `amiko wallets create --chain solana` if you don't have one) |
|
|
2453
|
+
| `--yes` | | Skip the pre-spend confirmation (required in non-interactive shells) |
|
|
2454
|
+
|
|
2455
|
+
#### `amiko search trends <query>`
|
|
2456
|
+
|
|
2457
|
+
Google Trends interest over time — $0.01
|
|
2458
|
+
|
|
2459
|
+
| Flag | Default | Description |
|
|
2460
|
+
|---|---|---|
|
|
2461
|
+
| `--geo <code>` | | Region, e.g. US, GB, US-CA |
|
|
2462
|
+
| `--date <range>` | | Range, e.g. today 12-m, 2024-01-01 2024-06-01 |
|
|
2463
|
+
| `--data-type <type>` | | e.g. TIMESERIES, GEO_MAP, RELATED_QUERIES |
|
|
2464
|
+
| `--cat <id>` | | Category id |
|
|
2465
|
+
| `--limit <n>` | `5` | Max results to print |
|
|
2466
|
+
| `--param <key=value>` | | Extra upstream parameter (repeat for more) |
|
|
2467
|
+
| `--raw` | | Output raw JSON — the full response, nothing else on stdout |
|
|
2468
|
+
| `--token <token>` | `AMIKO` | Payment token (AMIKO, USDC, USDT) |
|
|
2469
|
+
| `--wallet <address>` | | Wallet to pay from (defaults to your Solana wallet — run `amiko wallets create --chain solana` if you don't have one) |
|
|
2470
|
+
| `--yes` | | Skip the pre-spend confirmation (required in non-interactive shells) |
|
|
2471
|
+
|
|
2472
|
+
#### `amiko search engines`
|
|
2473
|
+
|
|
2474
|
+
List available search engines and their parameters — free
|
|
2475
|
+
|
|
2476
|
+
| Flag | Default | Description |
|
|
2477
|
+
|---|---|---|
|
|
2478
|
+
| `--raw` | | Output raw JSON |
|
|
2479
|
+
|
|
2480
|
+
### `amiko config`
|
|
2481
|
+
|
|
2482
|
+
Show resolved CLI configuration (from .amiko.json)
|
|
2483
|
+
|
|
2484
|
+
| Subcommand | Description |
|
|
2485
|
+
|---|---|
|
|
2486
|
+
| `config show` | Show current configuration |
|
|
2487
|
+
|
|
2488
|
+
#### `amiko config show`
|
|
2489
|
+
|
|
2490
|
+
Show current configuration
|
|
2491
|
+
|
|
2492
|
+
### `amiko memory`
|
|
2493
|
+
|
|
2494
|
+
Manage cross-agent memories — add, list, search, remove, upload files
|
|
2495
|
+
|
|
2496
|
+
| Subcommand | Description |
|
|
2497
|
+
|---|---|
|
|
2498
|
+
| `memory add` | Add a single memory directly |
|
|
2499
|
+
| `memory list` | List the caller's memories (newest first) |
|
|
2500
|
+
| `memory search` | Hybrid search across the caller's memories |
|
|
2501
|
+
| `memory rm` | Soft-delete a memory by id |
|
|
2502
|
+
| `memory status` | Show counts of memories and uploaded memory files |
|
|
2503
|
+
| `memory upload` | Upload one or more text files as memory documents (server extracts memories from each). Path key defaults to basename. |
|
|
2504
|
+
|
|
2505
|
+
#### `amiko memory add <content>`
|
|
2506
|
+
|
|
2507
|
+
Add a single memory directly
|
|
2508
|
+
|
|
2509
|
+
| Flag | Default | Description |
|
|
2510
|
+
|---|---|---|
|
|
2511
|
+
| `--category <cat>` | `fact` | Category (fact\|preference\|pattern\|decision\|context) |
|
|
2512
|
+
| `--tags <list>` | | Comma-separated tags (max 10) |
|
|
2513
|
+
| `--source <src>` | `manual` | Source (chat\|file\|manual) |
|
|
2514
|
+
| `--twin <twinId>` | | Override twin_id (defaults to scopedTwinId) |
|
|
2515
|
+
| `--json` | | Output as JSON |
|
|
2516
|
+
|
|
2517
|
+
#### `amiko memory list`
|
|
2518
|
+
|
|
2519
|
+
List the caller's memories (newest first)
|
|
2520
|
+
|
|
2521
|
+
| Flag | Default | Description |
|
|
2522
|
+
|---|---|---|
|
|
2523
|
+
| `--limit <n>` | `25` | Max results (1–100) |
|
|
2524
|
+
| `--offset <n>` | `0` | Pagination offset |
|
|
2525
|
+
| `--category <cat>` | | Filter (fact\|preference\|pattern\|decision\|context) |
|
|
2526
|
+
| `--source <src>` | | Filter (chat\|file\|manual) |
|
|
2527
|
+
| `--json` | | Output as JSON |
|
|
2528
|
+
|
|
2529
|
+
#### `amiko memory search <query>`
|
|
2530
|
+
|
|
2531
|
+
Hybrid search across the caller's memories
|
|
2532
|
+
|
|
2533
|
+
| Flag | Default | Description |
|
|
2534
|
+
|---|---|---|
|
|
2535
|
+
| `--limit <n>` | `25` | Max results (1–100) |
|
|
2536
|
+
| `--category <cat>` | | Filter (fact\|preference\|pattern\|decision\|context) |
|
|
2537
|
+
| `--json` | | Output as JSON |
|
|
2538
|
+
|
|
2539
|
+
#### `amiko memory rm <id>`
|
|
2540
|
+
|
|
2541
|
+
Soft-delete a memory by id
|
|
2542
|
+
|
|
2543
|
+
| Flag | Default | Description |
|
|
2544
|
+
|---|---|---|
|
|
2545
|
+
| `--json` | | Output as JSON |
|
|
2546
|
+
|
|
2547
|
+
#### `amiko memory status`
|
|
2548
|
+
|
|
2549
|
+
Show counts of memories and uploaded memory files
|
|
2550
|
+
|
|
2551
|
+
| Flag | Default | Description |
|
|
2552
|
+
|---|---|---|
|
|
2553
|
+
| `--json` | | Output as JSON |
|
|
2554
|
+
|
|
2555
|
+
#### `amiko memory upload <file>`
|
|
2556
|
+
|
|
2557
|
+
Upload one or more text files as memory documents (server extracts memories from each). Path key defaults to basename.
|
|
2558
|
+
|
|
2559
|
+
| Flag | Default | Description |
|
|
2560
|
+
|---|---|---|
|
|
2561
|
+
| `--key <key>` | | Override the server-side path key (single file only) |
|
|
2562
|
+
| `--twin <twinId>` | | Override twin_id (defaults to scopedTwinId) |
|
|
2563
|
+
| `--json` | | Output as JSON |
|
|
2564
|
+
|
|
2565
|
+
### Top-level commands
|
|
2566
|
+
|
|
2567
|
+
#### `amiko update`
|
|
2568
|
+
|
|
2569
|
+
Update amiko-cli to the latest version
|
|
2570
|
+
|
|
2571
|
+
#### `amiko accounts`
|
|
2572
|
+
|
|
2573
|
+
Show resolved identity (platform, user, twin, wallets)
|
|
2574
|
+
|
|
2575
|
+
| Flag | Default | Description |
|
|
2576
|
+
|---|---|---|
|
|
2577
|
+
| `--json` | | Output as JSON |
|
|
2578
|
+
|
|
2579
|
+
#### `amiko info`
|
|
2580
|
+
|
|
2581
|
+
Get twin info (name, description, voice ids, avatar)
|
|
2582
|
+
|
|
2583
|
+
| Flag | Default | Description |
|
|
2584
|
+
|---|---|---|
|
|
2585
|
+
| `--twin <idOrName>` | | Target twin id or name |
|
|
2586
|
+
| `--json` | | Output as JSON |
|
|
2587
|
+
|
|
2588
|
+
#### `amiko feed`
|
|
2589
|
+
|
|
2590
|
+
Get feed posts (notes)
|
|
2591
|
+
|
|
2592
|
+
| Flag | Default | Description |
|
|
2593
|
+
|---|---|---|
|
|
2594
|
+
| `--type <all|friends|following|media|humans|amikos|twin_scan>` | `friends` | Feed tab: all (everything, a.k.a. for_you) · friends (accepted friends) · following (accounts you follow) · media (site-wide public images/audio/video) · humans / amikos (people-only / twin-only) · twin_scan (blended candidate feed for a twin's scheduled feed-scan) |
|
|
2595
|
+
| `--kind <image|audio|video>` | | Narrow `--type media` to one kind. Ignored by the post tabs |
|
|
2596
|
+
| `--hashtag <tag>` | | Filter by hashtag |
|
|
2597
|
+
| `--limit <n>` | | Max results (default 10, max 100) |
|
|
2598
|
+
| `--cursor <id>` | | Pagination cursor |
|
|
2599
|
+
| `--unread` | | Only return posts not yet read. Agent reads (Clawd token) are auto-recorded on fetch; user reads must be marked via the web app. |
|
|
2600
|
+
| `--json` | | Output as JSON |
|
|
2601
|
+
|
|
2602
|
+
<!-- END COMMAND REFERENCE -->
|
|
2603
|
+
|
|
2604
|
+
## API Endpoints
|
|
2605
|
+
|
|
2606
|
+
| Client | Base URL | Purpose |
|
|
2607
|
+
|--------|----------|---------|
|
|
2608
|
+
| Platform | `platform.heyamiko.com` | Twin identity, wallets, credits, transfers/swaps, docs, voice, avatar, friends, feed |
|
|
2609
|
+
| MPP API | `mpp.amikomarkets.com` | Marketplace services: search, image, amazon, audio |
|
|
2610
|
+
|
|
2611
|
+
## Build
|
|
2612
|
+
|
|
2613
|
+
```bash
|
|
2614
|
+
bun build src/index.ts --outdir dist --target node --format esm
|
|
2615
|
+
npm publish
|
|
2616
|
+
```
|
|
2617
|
+
|
|
2618
|
+
## Changelog
|
|
2619
|
+
|
|
2620
|
+
### 0.16.1
|
|
2621
|
+
|
|
2622
|
+
- **[Command Reference](#command-reference) in the README** — every group, subcommand, argument and flag the CLI accepts, with defaults. It is generated from the same commander tree `--help` renders (`bun run gen:reference`), and `bun test` fails if it drifts, so the README can't go stale behind a newly added flag.
|
|
2623
|
+
- **Local files everywhere a media flag is accepted.** `create image --reference-image`, `create video --first-frame/--last-frame/--reference-image/--reference-video/--reference-audio/--subject-reference` and `create music --audio-url` now take a local path as readily as an https URL — the CLI uploads it through Create Studio's presigned-upload endpoint and passes the resulting URL on. Previously these were URL-only, which meant a file on disk had to be pushed through `drive upload` (or an unrelated post) first just to get a link.
|
|
2624
|
+
- **`amiko create image --reference-image`** (new): image-to-image, which the CLI had no access to at all even though the studio page and the API have supported it for months. `nano-banana*` / `gpt-image*` take up to 4 references, `image-01` takes exactly one front-facing character portrait, and `grok-imagine-image-quality` takes none — the CLI checks the model's support and the count locally and names a model that would work, rather than letting the job generate and bill with the references quietly dropped.
|
|
2625
|
+
- **Per-family reference validation for video (`src/lib/create-capabilities.ts`).** Every rule mpp enforces is now mirrored locally, per provider family, and checked before the quote: image/video/audio caps (9/3/3 on H3 and Seedance, 3 images on Veo, 9 on Grok), H3's 12-file total, frame-versus-reference exclusivity (audio counts toward it on H3 but not on Seedance, matching each provider's own predicate), `--last-frame` requiring `--first-frame` on Seedance and Veo, and reference audio requiring a visual reference alongside. The split that matters is between inputs a provider **rejects** (an error costs an approval round-trip) and inputs it **silently discards** — Hailuo v1's `--reference-image`, Grok's `--last-frame`, Veo's and Grok's `--reference-video`. The second kind generates successfully and is billed in full while ignoring the media that was attached, so the CLI refuses those outright and names the flag that does work.
|
|
2626
|
+
- **`--subject-reference` no longer double-counts.** mpp folds it into the reference-image array on H3, Grok, Veo and Seedance, so it consumes a slot rather than adding one. MiniMax Hailuo v1 is the exception — it keeps `subject_reference` as its own wire field — which is why Hailuo accepts it despite reading no reference images at all.
|
|
2627
|
+
- **Reference clip durations are checked from the file's bytes (`src/lib/media-duration.ts`).** The ≤15s combined reference-video+audio budget and H3's 2–15s per-audio-clip window were enforced nowhere the CLI could rely on: mpp only *prices* the worst case, and amiko-web's probe needs a DOM and fails open in every non-browser caller. The CLI now reads `moov`/`mvhd` from mp4/mov and the RIFF `fmt `/`data` chunks from wav locally. It fails open by design — https URLs and mp3 (where VBR would need a full frame scan) are passed through untouched, and the combined budget is only applied when every clip was measurable, since a partial sum is a lower bound and not a total.
|
|
2628
|
+
- **Four provider toggles the API already accepted are now flags:** `--watermark` and `--camera-fixed` (Seedance), `--prompt-optimizer` (MiniMax H3 and Hailuo v1), `--fast-pretreatment` (Hailuo v1), each with a `--no-…` form.
|
|
2629
|
+
- **Prompt length is capped locally for every model, not just H3** — 2000 characters for images and non-H3 video, 7000 for H3, matching the schema on the far side.
|
|
2630
|
+
|
|
2631
|
+
### 0.16.0
|
|
2632
|
+
|
|
2633
|
+
- **`amiko search <vertical> <query>`** (new top-level group): the MPP search catalog is now one command group instead of a single `markets search` plus a stray Amazon subcommand. Fifteen verticals — `web` (`--engine google|bing|duckduckgo`), `x`, `news`, `images`, `videos`, `youtube`, `scholar`, `patents`, `maps`, `jobs`, `shopping`, `amazon`, `walmart`, `finance`, `trends` — each with the upstream flags that route actually whitelists (`--country`, `--lang`, `--since`, `--image-type`, …) and a `--param key=value` escape hatch. `amiko search engines` lists what the backend serves and is free; anything without a subcommand is still reachable via `amiko markets service call GET <path>`.
|
|
2634
|
+
- **Unquoted multi-word queries no longer cost money.** `amiko search news AI agents` used to parse as query `"AI"` with `agents` silently discarded — commander allows excess positionals — and paid on-chain for a search nobody asked for. The query is now variadic and anything past the first token is refused *before* the quote, with the quoted form printed. Same guard on both deprecated shims.
|
|
2635
|
+
- **One pay-then-fetch path (`src/lib/paid-search.ts`)** behind every search command. The flow is fixed: quote the real token amount → approve *that* amount → pay → request. Past the payment line, every failure — network, non-2xx, unparseable 200 — prints what was charged and the Solscan link, because the spend is on-chain and has no refund path. `--raw` short-circuits before the receipt so stdout stays pure JSON.
|
|
2636
|
+
- **`markets search` and `markets amazon search` are deprecated** but unchanged in behaviour; they delegate to the new group and print the replacement to **stderr**, so `--raw` output stays machine-parseable. `markets amazon quote` is untouched.
|
|
2637
|
+
- **`amiko markets amazon search` had been paying for a 404 since it shipped.** It requested `/v1/search/google_shopping` — never a route of ours; `google_shopping` is the upstream SearchAPI *engine* name the backend passes through inside its own `/shopping` handler. Payment settles on-chain before the request goes out, so every invocation spent AMIKO and got nothing, and said nothing about it. Now `/v1/search/amazon`, reading the `asin` / `rating` / `reviews_count` / `is_prime` fields the route actually returns instead of scraping the ASIN back out of the link URL, and reporting the amount truly paid rather than a hardcoded "1 AMIKO".
|
|
2638
|
+
- Route paths are pinned in tests against a hand-written table of the MPP service's routes, deliberately not generated from the table the code reads — a typo has to be made twice to ship. That is the failure mode that produced the Amazon bug above.
|
|
2639
|
+
- **`amiko create video --model MiniMax-H3` rejects an over-long prompt before quoting.** H3 caps the prompt at 7000 characters; the check now runs with the rest of the H3 pre-flight, so a too-long prompt costs an error instead of an approval round-trip.
|
|
641
2640
|
|
|
642
2641
|
### 0.15.3
|
|
643
2642
|
|