everypixel-cli 0.4.0__tar.gz → 0.5.0__tar.gz
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.
- {everypixel_cli-0.4.0 → everypixel_cli-0.5.0}/CHANGELOG.md +11 -0
- {everypixel_cli-0.4.0 → everypixel_cli-0.5.0}/PKG-INFO +112 -125
- {everypixel_cli-0.4.0 → everypixel_cli-0.5.0}/README.md +112 -125
- everypixel_cli-0.5.0/src/everypixel_cli/__init__.py +1 -0
- {everypixel_cli-0.4.0 → everypixel_cli-0.5.0}/src/everypixel_cli/application/serialization.py +2 -0
- {everypixel_cli-0.4.0 → everypixel_cli-0.5.0}/src/everypixel_cli/application/services.py +44 -2
- {everypixel_cli-0.4.0 → everypixel_cli-0.5.0}/src/everypixel_cli/cli.py +9 -2
- {everypixel_cli-0.4.0 → everypixel_cli-0.5.0}/src/everypixel_cli/mcp_server.py +2 -0
- {everypixel_cli-0.4.0 → everypixel_cli-0.5.0}/src/everypixel_cli/output.py +24 -0
- {everypixel_cli-0.4.0 → everypixel_cli-0.5.0}/src/everypixel_cli/resources/openapi.json +359 -153
- {everypixel_cli-0.4.0 → everypixel_cli-0.5.0}/src/everypixel_cli/schemas.py +93 -46
- everypixel_cli-0.4.0/src/everypixel_cli/__init__.py +0 -1
- {everypixel_cli-0.4.0 → everypixel_cli-0.5.0}/.gitignore +0 -0
- {everypixel_cli-0.4.0 → everypixel_cli-0.5.0}/LICENSE +0 -0
- {everypixel_cli-0.4.0 → everypixel_cli-0.5.0}/pyproject.toml +0 -0
- {everypixel_cli-0.4.0 → everypixel_cli-0.5.0}/src/everypixel_cli/__main__.py +0 -0
- {everypixel_cli-0.4.0 → everypixel_cli-0.5.0}/src/everypixel_cli/application/__init__.py +0 -0
- {everypixel_cli-0.4.0 → everypixel_cli-0.5.0}/src/everypixel_cli/application/chat.py +0 -0
- {everypixel_cli-0.4.0 → everypixel_cli-0.5.0}/src/everypixel_cli/application/models.py +0 -0
- {everypixel_cli-0.4.0 → everypixel_cli-0.5.0}/src/everypixel_cli/client.py +0 -0
- {everypixel_cli-0.4.0 → everypixel_cli-0.5.0}/src/everypixel_cli/config.py +0 -0
- {everypixel_cli-0.4.0 → everypixel_cli-0.5.0}/src/everypixel_cli/errors.py +0 -0
- {everypixel_cli-0.4.0 → everypixel_cli-0.5.0}/src/everypixel_cli/files.py +0 -0
- {everypixel_cli-0.4.0 → everypixel_cli-0.5.0}/src/everypixel_cli/openapi.py +0 -0
- {everypixel_cli-0.4.0 → everypixel_cli-0.5.0}/src/everypixel_cli/resources/__init__.py +0 -0
|
@@ -1,5 +1,16 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [0.5.0] - 2026-10-12
|
|
4
|
+
|
|
5
|
+
- Add FLUX.3 images, Nano Banana 2.1, Nano Banana 2 Lite, and Seedream 5 Flash.
|
|
6
|
+
- Add Gemini Omni 1.1 video generation and editing, and video editing by source task ID.
|
|
7
|
+
- Support 1080p video with Grok Imagine 1.5.
|
|
8
|
+
|
|
9
|
+
## [0.4.1] - 2026-10-08
|
|
10
|
+
|
|
11
|
+
- Display estimated and billed generation costs, including chat responses.
|
|
12
|
+
- Report observed queue time while waiting for tasks.
|
|
13
|
+
|
|
3
14
|
## [0.4.0] - 2026-10-07
|
|
4
15
|
|
|
5
16
|
- Add ElevenLabs speech synthesis and voice design.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.5
|
|
2
2
|
Name: everypixel-cli
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.5.0
|
|
4
4
|
Summary: Official command line interface for Everypixel API
|
|
5
5
|
Project-URL: Homepage, https://labs.everypixel.com
|
|
6
6
|
Project-URL: Repository, https://github.com/everypixel/everypixel-cli
|
|
@@ -38,13 +38,21 @@ Official command-line interface for the [Everypixel API](https://labs.everypixel
|
|
|
38
38
|
Generate and edit images and videos, chat with GLM-5.3, work with audio, run
|
|
39
39
|
visual analysis, and automate Everypixel workflows from a terminal or an MCP client.
|
|
40
40
|
|
|
41
|
-
|
|
42
|
-
|
|
41
|
+
Commands return readable terminal output by default and JSON for scripts.
|
|
42
|
+
The package includes a stdio MCP server for agent integrations.
|
|
43
43
|
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
44
|
+
[API documentation](https://labs.everypixel.com/docs) ·
|
|
45
|
+
[GitHub](https://github.com/everypixel/everypixel-cli) ·
|
|
46
|
+
[Issues](https://github.com/everypixel/everypixel-cli/issues) ·
|
|
47
|
+
[Changelog](CHANGELOG.md)
|
|
48
|
+
|
|
49
|
+
- [Quick start](#quick-start)
|
|
50
|
+
- [Images](#images), [video](#video), [audio](#lipsync-and-audio), [chat](#chat), [analysis](#visual-analysis)
|
|
51
|
+
- [Tasks and downloads](#async-tasks-and-downloads)
|
|
52
|
+
- [JSON output](#json-output) and [generic API calls](#generic-openapi-runner)
|
|
53
|
+
- [Authentication](#authentication) and [profiles](#configuration-profiles)
|
|
54
|
+
- [MCP server](#mcp-server)
|
|
55
|
+
- [Global options](#global-options), [exit codes](#exit-codes), [troubleshooting](#troubleshooting)
|
|
48
56
|
|
|
49
57
|
## Installation
|
|
50
58
|
|
|
@@ -63,44 +71,35 @@ epx --help
|
|
|
63
71
|
|
|
64
72
|
## Quick Start
|
|
65
73
|
|
|
66
|
-
Create API credentials in your Everypixel Labs account
|
|
67
|
-
|
|
74
|
+
Create API credentials in your [Everypixel Labs account](https://labs.everypixel.com/).
|
|
75
|
+
Run the interactive setup and enter the client ID and secret when prompted:
|
|
68
76
|
|
|
69
77
|
```bash
|
|
70
|
-
everypixel auth configure
|
|
71
|
-
--client-id "$EVERYPIXEL_CLIENT_ID" \
|
|
72
|
-
--client-secret "$EVERYPIXEL_CLIENT_SECRET"
|
|
73
|
-
|
|
78
|
+
everypixel auth configure
|
|
74
79
|
everypixel auth check
|
|
75
80
|
```
|
|
76
81
|
|
|
77
|
-
Generate an image and
|
|
82
|
+
Generate an image and save it locally:
|
|
78
83
|
|
|
79
84
|
```bash
|
|
80
|
-
everypixel image generate \
|
|
81
|
-
|
|
82
|
-
--model flux2 \
|
|
83
|
-
--size square \
|
|
84
|
-
--download ./outputs
|
|
85
|
+
everypixel image generate "editorial product photo on a white background" \
|
|
86
|
+
--model flux3 --download ./outputs
|
|
85
87
|
```
|
|
86
88
|
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
```bash
|
|
90
|
-
everypixel image generate \
|
|
91
|
-
"editorial product photo on a white background" \
|
|
92
|
-
--model flux2 \
|
|
93
|
-
--no-wait \
|
|
94
|
-
--output-json
|
|
95
|
-
```
|
|
89
|
+
Media commands wait for completion by default. See [Tasks and downloads](#async-tasks-and-downloads)
|
|
90
|
+
for background jobs and [JSON output](#json-output) for scripts.
|
|
96
91
|
|
|
97
|
-
Use `--help`
|
|
92
|
+
Use `--help` for command syntax. To list image generation models, select their
|
|
93
|
+
enum from OpenAPI:
|
|
98
94
|
|
|
99
95
|
```bash
|
|
100
96
|
everypixel image generate --help
|
|
101
|
-
everypixel
|
|
97
|
+
everypixel docs openapi --jq .components.schemas.ImageGenerateModelEnum.enum
|
|
102
98
|
```
|
|
103
99
|
|
|
100
|
+
Examples use Bash syntax. Examples that extract IDs with `jq` require the
|
|
101
|
+
separate `jq` command.
|
|
102
|
+
|
|
104
103
|
## Authentication
|
|
105
104
|
|
|
106
105
|
Everypixel uses HTTP Basic Auth with the client ID as the username and the
|
|
@@ -190,9 +189,10 @@ everypixel image generate "a detailed botanical illustration" \
|
|
|
190
189
|
--model gpt-image-2.5-sunburst --quality high --download ./outputs
|
|
191
190
|
```
|
|
192
191
|
|
|
193
|
-
|
|
194
|
-
`
|
|
195
|
-
|
|
192
|
+
Other image models include `flux3`, `gemini-nano-banana-2.1` (Nano Banana 2.1),
|
|
193
|
+
`gemini-3.1-flash-lite` (Nano Banana 2 Lite), and `seedream-5-flash`.
|
|
194
|
+
Nano Banana 2 Lite uses `--resolution 1k`. Repeat `--image` to provide multiple
|
|
195
|
+
inputs to an editing model.
|
|
196
196
|
|
|
197
197
|
### Video
|
|
198
198
|
|
|
@@ -204,57 +204,49 @@ Grok image models are `grok-imagine`, `grok-imagine-2`, and
|
|
|
204
204
|
| `everypixel video edit` | Edit video with text and media references |
|
|
205
205
|
| `everypixel video upscale` | Upscale a video, URL, or existing task result |
|
|
206
206
|
|
|
207
|
-
|
|
207
|
+
Animate a local image or continue a video:
|
|
208
208
|
|
|
209
209
|
```bash
|
|
210
|
-
everypixel video
|
|
211
|
-
|
|
212
|
-
--model ltx23 \
|
|
213
|
-
--duration 10 \
|
|
214
|
-
--resolution 720p \
|
|
215
|
-
--download ./outputs
|
|
216
|
-
|
|
217
|
-
everypixel video from-image \
|
|
218
|
-
"subtle camera movement and natural wind" \
|
|
219
|
-
--image ./first-frame.png \
|
|
220
|
-
--model ltx23 \
|
|
221
|
-
--download ./outputs
|
|
222
|
-
|
|
223
|
-
everypixel video edit \
|
|
224
|
-
"make the scene cinematic" \
|
|
225
|
-
--video ./input.mp4 \
|
|
226
|
-
--download ./outputs
|
|
227
|
-
|
|
228
|
-
everypixel video generate "a slow aerial shot over mountain lakes" \
|
|
229
|
-
--model minimax-h3-turbo --duration 10 --download ./outputs
|
|
210
|
+
everypixel video from-image "subtle camera movement and natural wind" \
|
|
211
|
+
--image ./first-frame.png --model ltx23 --download ./outputs
|
|
230
212
|
|
|
231
213
|
everypixel video edit "continue the scene with a slow camera pan" \
|
|
232
214
|
--model flux3 --video ./input.mp4 --download ./outputs
|
|
215
|
+
```
|
|
233
216
|
|
|
234
|
-
|
|
235
|
-
|
|
217
|
+
Generate a video with Gemini Omni 1.1 Flash, then edit the completed task:
|
|
218
|
+
|
|
219
|
+
```bash
|
|
220
|
+
task_id="$(
|
|
221
|
+
everypixel video generate "a slow aerial shot over mountain lakes" \
|
|
222
|
+
--model gemini-omni-1.1-flash --output-json | jq -er '.task_id'
|
|
223
|
+
)"
|
|
224
|
+
|
|
225
|
+
everypixel video edit "change the scene to sunset" \
|
|
226
|
+
--model gemini-omni-1.1-flash --task-id "$task_id" --download ./outputs
|
|
236
227
|
```
|
|
237
228
|
|
|
238
|
-
|
|
229
|
+
Gemini Omni editing requires an owned Gemini Omni source task. Other editing
|
|
230
|
+
models accept `--task-id` as an alternative to `--video`.
|
|
231
|
+
|
|
232
|
+
Input options depend on the model:
|
|
239
233
|
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
234
|
+
- `first-last` accepts `--image` and `--last-image` for models that support frame pairs.
|
|
235
|
+
- MiniMax and WAN 3.0 accept repeatable reference options, separately from frame inputs.
|
|
236
|
+
Use `--reference-image`, `--reference-video`, and, for MiniMax, `--reference-audio`.
|
|
237
|
+
- Gemini Omni generation accepts frame images or `--reference-image`, separately.
|
|
238
|
+
- Grok Imagine 1.5 (`grok-imagine-1.5`) requires `--image` and supports 1080p.
|
|
239
|
+
- Aleph 2 accepts repeatable `--keyframe` JSON; inspect `video edit --help` for its fields.
|
|
246
240
|
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
frames. WAN 3.0 also separates frame and reference inputs. Seedance 2.5 supports
|
|
250
|
-
up to 1080p;
|
|
251
|
-
Seedance 2 and Mini retain their 15-second limit. Grok video model names are
|
|
252
|
-
`grok-imagine` and `grok-imagine-1.5` (image required); `grok` and `grok15`
|
|
253
|
-
remain accepted aliases. The CLI's default video model remains `ltx23`.
|
|
241
|
+
See the [API documentation](https://labs.everypixel.com/docs) for each model's
|
|
242
|
+
accepted inputs, resolutions, and durations.
|
|
254
243
|
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
244
|
+
For upscaling, use `seedvr2` (the default) or a Topaz model such as `topaz-prob-4`:
|
|
245
|
+
|
|
246
|
+
```bash
|
|
247
|
+
everypixel video upscale --video ./input.mp4 \
|
|
248
|
+
--model topaz-prob-4 --resolution 4k --download ./outputs
|
|
249
|
+
```
|
|
258
250
|
|
|
259
251
|
### Lipsync and Audio
|
|
260
252
|
|
|
@@ -270,47 +262,50 @@ They support 4K output. The default `seedvr2` supports up to 1440p, with a
|
|
|
270
262
|
| `everypixel audio tts-voices` | List presets and saved voices |
|
|
271
263
|
| `everypixel audio tts-delete` | Delete an owned saved voice |
|
|
272
264
|
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
Examples:
|
|
265
|
+
Synchronize video, transcribe audio, or synthesize speech with a Qwen preset:
|
|
276
266
|
|
|
277
267
|
```bash
|
|
278
|
-
everypixel lipsync video \
|
|
279
|
-
--video ./input.mp4 \
|
|
280
|
-
--audio ./voice.mp3 \
|
|
268
|
+
everypixel lipsync video --video ./input.mp4 --audio ./voice.mp3 \
|
|
281
269
|
--download ./outputs
|
|
282
270
|
|
|
283
|
-
everypixel audio transcribe \
|
|
284
|
-
--audio ./speech.mp3 \
|
|
285
|
-
--language English \
|
|
271
|
+
everypixel audio transcribe --audio ./speech.mp3 --language English \
|
|
286
272
|
--download ./outputs
|
|
287
273
|
|
|
288
|
-
everypixel audio tts-create \
|
|
289
|
-
--
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
274
|
+
everypixel audio tts-create --model qwen3 --text "Hello world" \
|
|
275
|
+
--speaker Ryan --style Warm --language English --download ./outputs
|
|
276
|
+
```
|
|
277
|
+
|
|
278
|
+
`--speaker`, `--style`, `--language`, and `--seed` are Qwen controls;
|
|
279
|
+
`--character` applies only to Qwen voice design. ElevenLabs synthesis uses
|
|
280
|
+
`--voice-id` instead of preset controls. `tts-clone` and `tts-design` default
|
|
281
|
+
to Qwen; `tts-create` lets the API choose when `--model` is omitted.
|
|
282
|
+
|
|
283
|
+
Design an ElevenLabs preview, save the first preview as a voice, and use it:
|
|
284
|
+
|
|
285
|
+
```bash
|
|
286
|
+
preview_id="$(
|
|
287
|
+
everypixel audio tts-design --model eleven_ttv_v3 \
|
|
288
|
+
--prompt "A warm, calm narrator with clear diction and a relaxed pace." \
|
|
289
|
+
--text "Welcome to our guided tour. Today we will explore the stories behind these photographs and the people who made them." \
|
|
290
|
+
--output-json | jq -er '.result.previews[0].preview_id'
|
|
291
|
+
)"
|
|
292
|
+
|
|
293
|
+
voice_id="$(
|
|
294
|
+
everypixel audio tts-voice --name "Narrator" --preview-id "$preview_id" \
|
|
295
|
+
--output-json | jq -er '.voice.id'
|
|
296
|
+
)"
|
|
297
|
+
|
|
298
|
+
everypixel audio tts-create --model eleven_v3 --voice-id "$voice_id" \
|
|
299
|
+
--text "Hello world" --download ./outputs
|
|
294
300
|
```
|
|
295
301
|
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
`--
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
`eleven_multilingual_ttv_v2` or `eleven_ttv_v3`, with 100–1000 characters of
|
|
304
|
-
text and a 20–1000 character `--prompt`.
|
|
305
|
-
|
|
306
|
-
Save a returned preview with `tts-voice --name "Narrator" --preview-id UUID`, or save local
|
|
307
|
-
samples with `tts-voice --name "My voice" --provider elevenlabs --audio ./sample.wav`.
|
|
308
|
-
`--audio` is repeatable for ElevenLabs; Qwen (`--provider labs`, the default)
|
|
309
|
-
requires one sample. Saving returns a voice card immediately. Use its ID with
|
|
310
|
-
`tts-create --model eleven_v3 --voice-id UUID --text "Hello"` or
|
|
311
|
-
`tts-clone --voice-id UUID --text "Hello"`. List voices with
|
|
312
|
-
`tts-voices --provider elevenlabs --offset 0 --limit 50`, and delete an owned
|
|
313
|
-
voice with `tts-delete --voice-id UUID`.
|
|
302
|
+
To save your own samples, use `tts-voice --name "My voice" --provider elevenlabs
|
|
303
|
+
--audio ./sample.wav`; repeat `--audio` for more samples. Qwen uses
|
|
304
|
+
`--provider labs` and one sample. Saved Qwen voices work with `tts-clone --voice-id`.
|
|
305
|
+
|
|
306
|
+
List saved ElevenLabs voices with `everypixel audio tts-voices --provider elevenlabs`.
|
|
307
|
+
See the [API documentation](https://labs.everypixel.com/docs) for model choices
|
|
308
|
+
and text constraints.
|
|
314
309
|
|
|
315
310
|
### Chat
|
|
316
311
|
|
|
@@ -391,20 +386,11 @@ Passing `--download` always waits for a successful result before saving files:
|
|
|
391
386
|
everypixel wait TASK_ID --download ./outputs
|
|
392
387
|
```
|
|
393
388
|
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
```bash
|
|
397
|
-
task_id="$(
|
|
398
|
-
everypixel image generate \
|
|
399
|
-
"automation test image" \
|
|
400
|
-
--model flux2 \
|
|
401
|
-
--no-wait \
|
|
402
|
-
--output-json \
|
|
403
|
-
--jq .task_id | tr -d '"'
|
|
404
|
-
)"
|
|
389
|
+
`elapsed_sec` is total local waiting time; `queue_sec` estimates time until the
|
|
390
|
+
first observed `STARTED` response.
|
|
405
391
|
|
|
406
|
-
|
|
407
|
-
|
|
392
|
+
API costs are USD strings: `estimated_cost` for pending tasks and `billed_cost`
|
|
393
|
+
for successful results and chat. Missing costs are omitted; `"0"` means no charge.
|
|
408
394
|
|
|
409
395
|
## Generic OpenAPI Runner
|
|
410
396
|
|
|
@@ -426,6 +412,9 @@ everypixel run /v1/image_generate \
|
|
|
426
412
|
--input-file ./payload.json
|
|
427
413
|
```
|
|
428
414
|
|
|
415
|
+
`--help-schema` shows the operation definition. Referenced component schemas
|
|
416
|
+
are included in the full document returned by `docs openapi`.
|
|
417
|
+
|
|
429
418
|
The schema loader tries the live API first, then the local cache, and finally
|
|
430
419
|
the schema bundled with the package.
|
|
431
420
|
|
|
@@ -467,8 +456,9 @@ Global options must appear before the command they apply to.
|
|
|
467
456
|
| `--no-color` | Disable colored terminal output |
|
|
468
457
|
| `--debug` | Include sanitized diagnostic locations for internal errors |
|
|
469
458
|
|
|
470
|
-
|
|
471
|
-
`everypixel COMMAND --help` for the
|
|
459
|
+
Operation commands also accept common options such as `--download`, `--no-wait`,
|
|
460
|
+
and `--output-json` after the command. Run `everypixel COMMAND --help` for the
|
|
461
|
+
exact syntax.
|
|
472
462
|
|
|
473
463
|
## Configuration Profiles
|
|
474
464
|
|
|
@@ -478,10 +468,7 @@ projects. Most users can stay on the `default` profile.
|
|
|
478
468
|
```bash
|
|
479
469
|
everypixel config profile create project-a
|
|
480
470
|
everypixel config profile use project-a
|
|
481
|
-
everypixel auth configure
|
|
482
|
-
--client-id "$PROJECT_A_CLIENT_ID" \
|
|
483
|
-
--client-secret "$PROJECT_A_CLIENT_SECRET"
|
|
484
|
-
|
|
471
|
+
everypixel auth configure
|
|
485
472
|
everypixel config list
|
|
486
473
|
```
|
|
487
474
|
|