@miketromba/ploof 0.1.3 → 0.1.4
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 +28 -1
- package/dist/ploof.js +181 -181
- 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
|
|
12
|
+
Ploof is a CLI for generating and editing creative assets with AI providers. It supports OpenAI image generation, editing, and variations today, with a provider registry 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 | Supported |
|
|
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.
|
|
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,20 @@ 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 current OpenAI variations
|
|
227
|
+
endpoint only supports that model. `ploof image variations` is an alias.
|
|
228
|
+
|
|
212
229
|
### Batch Run
|
|
213
230
|
|
|
214
231
|
```bash
|
|
@@ -241,6 +258,15 @@ tasks:
|
|
|
241
258
|
mask: ./mask.png
|
|
242
259
|
prompt: "Add a premium background"
|
|
243
260
|
output: assets/final.png
|
|
261
|
+
|
|
262
|
+
- id: variation
|
|
263
|
+
kind: image.variation
|
|
264
|
+
provider: openai
|
|
265
|
+
needs: [base]
|
|
266
|
+
inputs:
|
|
267
|
+
images:
|
|
268
|
+
- task: base
|
|
269
|
+
output: assets/variation.png
|
|
244
270
|
```
|
|
245
271
|
|
|
246
272
|
## Asset Input Model
|
|
@@ -280,6 +306,7 @@ type Provider = {
|
|
|
280
306
|
capabilities: ProviderCapability[]
|
|
281
307
|
runImageGenerate(job, context): Promise<ProviderResult>
|
|
282
308
|
runImageEdit(job, context): Promise<ProviderResult>
|
|
309
|
+
runImageVariation(job, context): Promise<ProviderResult>
|
|
283
310
|
}
|
|
284
311
|
```
|
|
285
312
|
|
|
@@ -429,7 +456,7 @@ The initial complete implementation should include:
|
|
|
429
456
|
- npm package scaffolding for `@miketromba/ploof`.
|
|
430
457
|
- Build, test, typecheck, lint setup.
|
|
431
458
|
- OpenAI auth profiles.
|
|
432
|
-
- OpenAI image generate/edit.
|
|
459
|
+
- OpenAI image generate/edit/variation.
|
|
433
460
|
- Asset input normalization.
|
|
434
461
|
- Manifest run with dependency-aware parallelism.
|
|
435
462
|
- Output formats and sidecar metadata.
|