@miketromba/ploof 0.1.3 → 0.1.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 +31 -2
- package/SPEC.md +31 -1
- package/dist/ploof.js +169 -169
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
<img src="https://img.shields.io/badge/node-%3E%3D18-brightgreen" alt="node version" />
|
|
10
10
|
</p>
|
|
11
11
|
|
|
12
|
-
Ploof is a CLI for generating and editing creative assets with AI providers. It supports OpenAI image generation and editing today,
|
|
12
|
+
Ploof is a CLI for generating and editing creative assets with AI providers. It supports OpenAI image generation and editing today, plus the legacy OpenAI image variations endpoint when the authenticated project has access. The provider registry is designed for audio, video, and broader model marketplaces over time.
|
|
13
13
|
|
|
14
14
|
It is built for both developers and AI agents: predictable commands, parseable output, local auth profiles, YAML manifests, parallel execution, and a companion skill.
|
|
15
15
|
|
|
@@ -20,6 +20,7 @@ It is built for both developers and AI agents: predictable commands, parseable o
|
|
|
20
20
|
| OpenAI auth profiles | Supported |
|
|
21
21
|
| OpenAI image generation | Supported |
|
|
22
22
|
| OpenAI image editing | Supported |
|
|
23
|
+
| OpenAI image variations | Legacy endpoint; supported when available to the authenticated project |
|
|
23
24
|
| Context images and masks | Supported |
|
|
24
25
|
| YAML/JSON batch manifests | Supported |
|
|
25
26
|
| Dependency-aware parallel runs | Supported |
|
|
@@ -58,7 +59,6 @@ ploof login openai --api-key <your-api-key>
|
|
|
58
59
|
ploof image generate \
|
|
59
60
|
--prompt "Studio product photo of a matte black water bottle" \
|
|
60
61
|
--out assets/hero.png \
|
|
61
|
-
--model gpt-image-2 \
|
|
62
62
|
--size 1024x1024
|
|
63
63
|
|
|
64
64
|
# Edit an image with context
|
|
@@ -108,6 +108,8 @@ ploof login openai \
|
|
|
108
108
|
|
|
109
109
|
## Image Generation
|
|
110
110
|
|
|
111
|
+
OpenAI image generation and editing default to `gpt-image-2` when `--model` is omitted.
|
|
112
|
+
|
|
111
113
|
```bash
|
|
112
114
|
ploof image generate \
|
|
113
115
|
--provider openai \
|
|
@@ -150,6 +152,24 @@ ploof image edit \
|
|
|
150
152
|
|
|
151
153
|
Use repeated `--image` flags for context/reference images. Use `--mask` when the selected provider/model supports masked edits.
|
|
152
154
|
|
|
155
|
+
## Image Variations
|
|
156
|
+
|
|
157
|
+
OpenAI image variations use the legacy variations endpoint and default to `dall-e-2`, which is currently the only supported model for that endpoint. If OpenAI returns a 404 for this command, use `ploof image edit` for image-to-image workflows or try a profile/project with DALL-E 2 variation access.
|
|
158
|
+
|
|
159
|
+
```bash
|
|
160
|
+
ploof image variation \
|
|
161
|
+
--provider openai \
|
|
162
|
+
--image input.png \
|
|
163
|
+
--out variation.png \
|
|
164
|
+
--size 1024x1024
|
|
165
|
+
```
|
|
166
|
+
|
|
167
|
+
The plural alias also works:
|
|
168
|
+
|
|
169
|
+
```bash
|
|
170
|
+
ploof image variations --image input.png --out variation.png
|
|
171
|
+
```
|
|
172
|
+
|
|
153
173
|
## Batch Manifests
|
|
154
174
|
|
|
155
175
|
```yaml
|
|
@@ -176,6 +196,15 @@ tasks:
|
|
|
176
196
|
mask: ./mask.png
|
|
177
197
|
prompt: "Add a premium background"
|
|
178
198
|
output: assets/final.png
|
|
199
|
+
|
|
200
|
+
- id: variation
|
|
201
|
+
kind: image.variation
|
|
202
|
+
provider: openai
|
|
203
|
+
needs: [base]
|
|
204
|
+
inputs:
|
|
205
|
+
images:
|
|
206
|
+
- task: base
|
|
207
|
+
output: assets/variation.png
|
|
179
208
|
```
|
|
180
209
|
|
|
181
210
|
Run it:
|
package/SPEC.md
CHANGED
|
@@ -86,6 +86,7 @@ Initial capabilities:
|
|
|
86
86
|
|
|
87
87
|
- `image.generate`
|
|
88
88
|
- `image.edit`
|
|
89
|
+
- `image.variation`
|
|
89
90
|
|
|
90
91
|
Future providers should be added through the provider registry without changing the manifest model.
|
|
91
92
|
|
|
@@ -176,6 +177,8 @@ ploof config reset
|
|
|
176
177
|
|
|
177
178
|
### Image Generation
|
|
178
179
|
|
|
180
|
+
OpenAI image generation and editing default to `gpt-image-2` when no model is specified.
|
|
181
|
+
|
|
179
182
|
```bash
|
|
180
183
|
ploof image generate \
|
|
181
184
|
--provider openai \
|
|
@@ -209,6 +212,23 @@ ploof image edit \
|
|
|
209
212
|
|
|
210
213
|
The CLI must support multiple context images where the provider supports them.
|
|
211
214
|
|
|
215
|
+
### Image Variations
|
|
216
|
+
|
|
217
|
+
```bash
|
|
218
|
+
ploof image variation \
|
|
219
|
+
--provider openai \
|
|
220
|
+
--image input.png \
|
|
221
|
+
--out assets/variation.png \
|
|
222
|
+
--model dall-e-2 \
|
|
223
|
+
--size 1024x1024
|
|
224
|
+
```
|
|
225
|
+
|
|
226
|
+
OpenAI variations default to `dall-e-2`, because the legacy OpenAI variations
|
|
227
|
+
endpoint only supports that model. This endpoint is supported when the
|
|
228
|
+
authenticated project has DALL-E 2 variation access; if OpenAI returns a 404,
|
|
229
|
+
use `ploof image edit` for image-to-image workflows. `ploof image variations`
|
|
230
|
+
is an alias.
|
|
231
|
+
|
|
212
232
|
### Batch Run
|
|
213
233
|
|
|
214
234
|
```bash
|
|
@@ -241,6 +261,15 @@ tasks:
|
|
|
241
261
|
mask: ./mask.png
|
|
242
262
|
prompt: "Add a premium background"
|
|
243
263
|
output: assets/final.png
|
|
264
|
+
|
|
265
|
+
- id: variation
|
|
266
|
+
kind: image.variation
|
|
267
|
+
provider: openai
|
|
268
|
+
needs: [base]
|
|
269
|
+
inputs:
|
|
270
|
+
images:
|
|
271
|
+
- task: base
|
|
272
|
+
output: assets/variation.png
|
|
244
273
|
```
|
|
245
274
|
|
|
246
275
|
## Asset Input Model
|
|
@@ -280,6 +309,7 @@ type Provider = {
|
|
|
280
309
|
capabilities: ProviderCapability[]
|
|
281
310
|
runImageGenerate(job, context): Promise<ProviderResult>
|
|
282
311
|
runImageEdit(job, context): Promise<ProviderResult>
|
|
312
|
+
runImageVariation(job, context): Promise<ProviderResult>
|
|
283
313
|
}
|
|
284
314
|
```
|
|
285
315
|
|
|
@@ -429,7 +459,7 @@ The initial complete implementation should include:
|
|
|
429
459
|
- npm package scaffolding for `@miketromba/ploof`.
|
|
430
460
|
- Build, test, typecheck, lint setup.
|
|
431
461
|
- OpenAI auth profiles.
|
|
432
|
-
- OpenAI image generate/edit.
|
|
462
|
+
- OpenAI image generate/edit/variation.
|
|
433
463
|
- Asset input normalization.
|
|
434
464
|
- Manifest run with dependency-aware parallelism.
|
|
435
465
|
- Output formats and sidecar metadata.
|