@heyamiko/amiko-cli 0.14.0-beta.3 → 0.14.0-beta.5
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 +40 -4
- package/dist/index.js +1930 -3599
- package/package.json +1 -1
- package/skills/SKILL.md +38 -6
package/README.md
CHANGED
|
@@ -123,9 +123,12 @@ Image generation typically takes 20–60s. In non-TTY environments (agents, pipe
|
|
|
123
123
|
The CLI half of the platform's Create Studio. `amiko create` generates media through Amiko's own authenticated endpoints (not the raw MPP pay-per-call surface `amiko markets` uses). Generation runs **asynchronously** and is **charged on success** from your twin's wallet — a failed or timed-out generation is never billed, and there's no up-front payment.
|
|
124
124
|
|
|
125
125
|
```bash
|
|
126
|
-
amiko create image "a sunset over mountains" # default
|
|
127
|
-
amiko create image "logo" --aspect 16:9 --model gpt-image-2 # widescreen
|
|
126
|
+
amiko create image "a sunset over mountains" # default nano-banana-2, 1:1
|
|
127
|
+
amiko create image "logo" --aspect 16:9 --model gpt-image-2 # widescreen, OpenAI
|
|
128
128
|
amiko create video "a whale in space" --resolution 768P --seconds 6
|
|
129
|
+
amiko create video "animate cover" --first-frame https://.../cover.png --yes
|
|
130
|
+
amiko create video "dance clip" --model dreamina-seedance-2-0-fast-260128 \
|
|
131
|
+
--reference-image https://.../ref1.png --reference-audio https://.../beat.mp3 --generate-audio --yes
|
|
129
132
|
amiko create tts "Hello world" --voice 21m00Tcm4TlvDq8ikWAM
|
|
130
133
|
amiko create music "lo-fi chill beat" --duration 30000
|
|
131
134
|
amiko create music --lyrics "..." --instrumental # instrumental
|
|
@@ -147,18 +150,27 @@ Modes: `image`, `video`, `tts`, `music`, `sfx` (mirrors the platform Create Stud
|
|
|
147
150
|
|
|
148
151
|
| Flag | Default | Description |
|
|
149
152
|
|------|---------|-------------|
|
|
150
|
-
| `--model <model>` | `
|
|
153
|
+
| `--model <model>` | `nano-banana-2` | Image model (`nano-banana[-2|-lite|-pro]`, `gpt-image-*`, `grok-imagine-image-quality`, `image-01`) |
|
|
151
154
|
| `--aspect <ratio>` | `1:1` | Aspect ratio: `1:1`, `16:9`, `9:16`, `4:3`, `3:4` |
|
|
152
155
|
|
|
153
156
|
**`amiko create video <prompt>`**
|
|
154
157
|
|
|
155
158
|
| Flag | Default | Description |
|
|
156
159
|
|------|---------|-------------|
|
|
157
|
-
| `--model <model>` | `MiniMax-Hailuo-2.3-Fast` | Video model |
|
|
160
|
+
| `--model <model>` | `MiniMax-Hailuo-2.3-Fast` | Video model (`MiniMax-Hailuo-*`, `dreamina-seedance-2-0-fast-260128`, …) |
|
|
158
161
|
| `--resolution <res>` | `768P` | `512P`, `720P`, `768P`, `1080P` |
|
|
159
162
|
| `--seconds <n>` | `6` | Clip length: `6` or `10` |
|
|
160
163
|
| `--aspect <ratio>` | — | Aspect ratio (provider-dependent) |
|
|
161
164
|
| `--first-frame <url>` | — | Image-to-video: first frame URL or data URI |
|
|
165
|
+
| `--last-frame <url>` | — | First-and-last-frame video: ending frame URL or data URI |
|
|
166
|
+
| `--reference-image <url>` | — | Seedance multimodal reference image (repeatable, max 9) |
|
|
167
|
+
| `--reference-video <url>` | — | Seedance multimodal reference video (repeatable, max 3) |
|
|
168
|
+
| `--reference-audio <url>` | — | Seedance multimodal reference audio (repeatable, max 3) |
|
|
169
|
+
| `--subject-reference <url>` | — | MiniMax S2V subject/character reference image |
|
|
170
|
+
| `--generate-audio` | — | Seedance: generate audio in the output |
|
|
171
|
+
| `--no-generate-audio` | — | Seedance: output silent video |
|
|
172
|
+
|
|
173
|
+
Reference flags accept URLs or data URIs (not local paths). Typical I2V flow: `create image` → `create status <jobId>` for the image URL → `create video --first-frame <url>`.
|
|
162
174
|
|
|
163
175
|
**`amiko create tts <text>`**
|
|
164
176
|
|
|
@@ -232,6 +244,26 @@ amiko chat send @sophie "made this 🎵" --audio <generated-url> --yes # attach
|
|
|
232
244
|
- **Inline media**: `--image <pathOrUrl>` (jpg/png/webp/gif, local ≤10MB or an Amiko URL) and `--audio <pathOrUrl>` (local ≤25MB or an Amiko URL → sent as a voice note). One media block per message (image *or* audio). **Video isn't supported in chat yet.** A local file is uploaded; an Amiko URL (e.g. a generated asset from `amiko create`) attaches directly with no re-upload. (A local *audio* file is sent as a voice note, with your text as a separate message.)
|
|
233
245
|
- `chat send` messages a real person, so it's **gated on `--yes`** in non-interactive shells. Delivery is real-time. `--raw` prints raw JSON on any subcommand.
|
|
234
246
|
|
|
247
|
+
### Group chats
|
|
248
|
+
|
|
249
|
+
Create and manage group chats **as the owner** via `amiko chat group`:
|
|
250
|
+
|
|
251
|
+
```bash
|
|
252
|
+
amiko chat group create "Leandro testing" --member Sophie --member Mars --member Matthew --yes
|
|
253
|
+
amiko chat group list # your group chats: title, id, member count, unread
|
|
254
|
+
amiko chat group info "Leandro testing" # members + roles (admins marked); works with the id too
|
|
255
|
+
amiko chat group rename <groupIdOrTitle> "New name" --yes
|
|
256
|
+
amiko chat group add <groupIdOrTitle> --member @sophie --yes
|
|
257
|
+
amiko chat group remove <groupIdOrTitle> --member Mars --yes
|
|
258
|
+
amiko chat group promote <groupIdOrTitle> --member Sophie --yes # make a member an admin
|
|
259
|
+
amiko chat group leave <groupIdOrTitle> --yes # alias: delete — see caveat below
|
|
260
|
+
```
|
|
261
|
+
|
|
262
|
+
- **`--member`** is repeatable and accepts a plain name, `@handle`, or user id. Plain names resolve against your **friends** first (then people search); an ambiguous name errors listing candidates instead of guessing, and one unresolvable member aborts the whole command **before anything is changed**.
|
|
263
|
+
- **Groups address by id or title** — titles match case-insensitively (exact first, then substring) across your most recent 100 conversations; ambiguous titles error with candidates. `chat send "<group title>" "hi" --yes` also works when exactly one group title matches.
|
|
264
|
+
- **`leave` (alias `delete`) only hides the group for you.** Other members keep the conversation and its history — the platform has no delete-for-everyone. Rename, add, remove-others, and promote are **admin-only** (the creator is admin); the server enforces this.
|
|
265
|
+
- `create`/`add` are outward social actions and `rename`/`remove`/`leave`/`promote` are destructive, so all are **gated on `--yes`** in non-interactive shells. `--raw` prints JSON everywhere.
|
|
266
|
+
|
|
235
267
|
## Twin Cards
|
|
236
268
|
|
|
237
269
|
Generate, view, download, and mint your **Twin Card** (template `twins_take`, flavors **work / play / love**).
|
|
@@ -528,6 +560,10 @@ npm publish
|
|
|
528
560
|
|
|
529
561
|
## Changelog
|
|
530
562
|
|
|
563
|
+
### 0.14.0-beta.5
|
|
564
|
+
|
|
565
|
+
- **`amiko chat group` — group-chat management as the owner.** New subcommand group under `chat`: `create` (name + repeatable `--member`, one atomic POST), `list`, `info` (members + roles), `rename`, `add`, `remove`, `promote`, and `leave` (alias `delete`). Members resolve friends-first by name (then people search), all-or-nothing before any mutation; groups address by id or case-insensitive title. Uses the existing amiko-web conversation routes (twin token) — rename/add/remove-others/promote are admin-enforced server-side, and `leave|delete` is honest about the platform's semantics: it only hides the group for the caller, there is no delete-for-everyone. `create`/`add` gate on `requireApproval`, the destructive rest on `confirmDestructive` (both exit 2 without `--yes` in non-interactive shells). Plain-name `chat send`/`read` targets now prefer an exact, unambiguous group-title match over people search. Shared conversation types + resolution helpers extracted to `src/lib/conversations.ts`; `convLabel` self-filtering now strips the `did:privy:` prefix so DM labels no longer include the owner. SKILL.md gains a Group chats block + gating-list updates.
|
|
566
|
+
|
|
531
567
|
### 0.14.0-beta.0
|
|
532
568
|
|
|
533
569
|
- **Direct USDC/USDT payment for MPP marketplace services (Bug #9).** `markets search`, `markets image`, and `markets amazon search` gain `--token <AMIKO|USDC|USDT>`; `markets service call` completes its `--usdc` path and adds `--usdt` (both accept `auto` to price from the endpoint's USD anchor). Stables are pinned at $1.00 — no forced swap to AMIKO and no credits conversion. Requires the matching mpp-service deploy: `charge()`/`chargeAmiko()` now read `X-Payment-Token` and verify the on-chain transfer against that token's mint (`verifySplTransfer`), with a ±0.5% tolerance for stables (±5% stays for AMIKO spot drift). Also fixes stale hardcoded amounts: `markets search` / `amazon search` paid a flat "1 AMIKO" regardless of spot — under current prices that under-pays the $0.01 anchor and fails verification; amounts are now quoted live before the approval gate, which shows the real cost instead of "1 AMIKO". Shared payment plumbing extracted to `src/lib/treasury-payment.ts` (one TREASURY constant, one transfer path).
|