image-skill 0.1.0
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 +36 -0
- package/bin/image-skill.mjs +1524 -0
- package/cli.md +856 -0
- package/llms.txt +221 -0
- package/package.json +24 -0
- package/skill.md +318 -0
package/llms.txt
ADDED
|
@@ -0,0 +1,221 @@
|
|
|
1
|
+
# Image Skill LLM Contract
|
|
2
|
+
|
|
3
|
+
Status: preview hosted-product contract
|
|
4
|
+
Canonical homepage: https://image-skill.com
|
|
5
|
+
Canonical skill URL: https://image-skill.com/skill.md
|
|
6
|
+
Canonical LLM URL: https://image-skill.com/llms.txt
|
|
7
|
+
Canonical CLI URL: https://image-skill.com/cli.md
|
|
8
|
+
Canonical hosted API URL: https://api.image-skill.com
|
|
9
|
+
|
|
10
|
+
Purpose:
|
|
11
|
+
Image Skill is a CLI-first hosted creative runtime for agents. Agents use it to create, edit, inspect, iterate on, and reuse generated images through a thin CLI/client and hosted API.
|
|
12
|
+
|
|
13
|
+
Product thesis:
|
|
14
|
+
Created by agents, for agents to create.
|
|
15
|
+
|
|
16
|
+
Capability-preserving pillar:
|
|
17
|
+
Do not handicap agent capability by reducing rich model/provider controls into
|
|
18
|
+
coarse universal categories. Image Skill standardizes common controls for
|
|
19
|
+
legibility and exposes introspection for model-specific controls. Agents should
|
|
20
|
+
use capabilities, model parameter schemas, explicit budget/latency/output
|
|
21
|
+
constraints, and validated model_parameters rather than guessing or treating
|
|
22
|
+
quality tiers as a universal model abstraction.
|
|
23
|
+
|
|
24
|
+
Primary public surfaces:
|
|
25
|
+
- Homepage: https://image-skill.com
|
|
26
|
+
- Skill: https://image-skill.com/skill.md
|
|
27
|
+
- LLM contract: https://image-skill.com/llms.txt
|
|
28
|
+
- CLI contract: https://image-skill.com/cli.md
|
|
29
|
+
- Thin CLI/client: image-skill
|
|
30
|
+
- Hosted API: https://api.image-skill.com for generation, editing, jobs, activity, storage, telemetry, identity, quota, and feedback
|
|
31
|
+
- Hosted artifacts: prefer Image Skill-owned asset URLs such as https://media.image-skill.com/... when returned in assets[].url
|
|
32
|
+
|
|
33
|
+
Actor types:
|
|
34
|
+
- human: sponsor, admin, billing, or claim actor
|
|
35
|
+
- agent: durable agent identity
|
|
36
|
+
- session: ephemeral agent run
|
|
37
|
+
- system: service automation
|
|
38
|
+
|
|
39
|
+
Claim states:
|
|
40
|
+
- unclaimed: restricted agent identity, tiny quota, low-risk workflows only
|
|
41
|
+
- payment_backed_unclaimed: future capped paid state with receipts but no org/admin authority
|
|
42
|
+
- claimed: human sponsor attached, scoped grants available
|
|
43
|
+
- revoked: token or agent disabled
|
|
44
|
+
|
|
45
|
+
First-run flow:
|
|
46
|
+
1. image-skill doctor --json
|
|
47
|
+
2. image-skill signup --agent --human-email EMAIL --agent-name NAME --runtime RUNTIME --save --json. The preview hosted signup path currently requires human_email; future payment-backed and agent-contact-backed signup paths are planned. Use --show-token only when the runtime has a separate secret store and needs the raw token once.
|
|
48
|
+
3. Reuse the saved CLI auth for later commands, or store the returned data.token from --show-token in the agent runtime secret store and expose it as IMAGE_SKILL_TOKEN.
|
|
49
|
+
4. image-skill whoami --json
|
|
50
|
+
5. image-skill usage quota --json
|
|
51
|
+
5-credit-note. One Image Skill credit is $0.01. Credit quotes grant prepaid value units; create/edit operations debit model-priced credits reported as cost.credit_pricing. Starter preview currently gives bounded free-preview credits plus a two-job daily cap.
|
|
52
|
+
5a. image-skill credits packs list --json to inspect recommended live-money packs.
|
|
53
|
+
5b. image-skill credits quote --pack starter-500 --payment-method stripe_checkout --idempotency-key KEY --json for the default Stripe Checkout top-up path. Use --credits CREDITS instead of --pack only when the required exact budget is already known.
|
|
54
|
+
5c. image-skill credits buy --provider stripe --quote-id QUOTE_ID --idempotency-key KEY --json when the agent has a stripe_checkout quote and needs a Stripe-hosted checkout_url. Credits are granted only after verified Stripe webhook fulfillment succeeds.
|
|
55
|
+
5d. image-skill credits status --payment-attempt-id PAYMENT_ATTEMPT_ID --json after buy or checkout completion to read durable payment state, receipt, credit_event, limits, and retry guidance without inferring from quota text.
|
|
56
|
+
5e. image-skill credits quote --credits 10 --json and image-skill credits fake-purchase --quote-id QUOTE_ID --idempotency-key KEY --json only for fake/test credit-ledger proof. This moves no live money, accepts no payment credential, and returns live_money:false.
|
|
57
|
+
6. image-skill create --dry-run --prompt PROMPT --json for zero-cost planning.
|
|
58
|
+
7. image-skill models list --json, then image-skill models show MODEL_ID --json to inspect available creative models, operations, media inputs/outputs, model parameters, fixed controls, cost/latency class, safety behavior, and migration hints.
|
|
59
|
+
8. image-skill create --prompt PROMPT --intent explore --max-estimated-usd-per-image 0.05 --json for the first bounded free-preview operation when quota allows.
|
|
60
|
+
9. image-skill jobs show JOB_ID --json to recover status, cost, safety, timestamps, and final assets.
|
|
61
|
+
10. image-skill assets get ASSET_URL_OR_ID --output ./result.png --json to fetch the generated asset without repeating provider work.
|
|
62
|
+
11. image-skill activity list --subject JOB_ID --json to find the ledger event, trace, usage, and asset links to cite.
|
|
63
|
+
12. image-skill edit --input ASSET_URL_OR_ID --prompt PROMPT --accept-unknown-cost --json for the second bounded free-preview operation when the task needs an edit.
|
|
64
|
+
13. Leave image-skill feedback create --json if the first-run flow is confusing, blocked, or missing an affordance.
|
|
65
|
+
14. image-skill activity show FEEDBACK_ID --json to confirm the feedback entered the hosted ledger.
|
|
66
|
+
|
|
67
|
+
Core commands:
|
|
68
|
+
- image-skill doctor --json
|
|
69
|
+
- image-skill signup --agent --human-email EMAIL --agent-name NAME --runtime RUNTIME --save --json
|
|
70
|
+
- image-skill whoami --json
|
|
71
|
+
- image-skill usage quota --json
|
|
72
|
+
- image-skill quota --json (compatibility alias)
|
|
73
|
+
- image-skill credits packs list --json
|
|
74
|
+
- image-skill credits quote --pack PACK_ID --payment-method fake|stripe_checkout --idempotency-key KEY --json
|
|
75
|
+
- image-skill credits quote --credits CREDITS --payment-method fake|stripe_checkout --idempotency-key KEY --json
|
|
76
|
+
- image-skill credits buy --provider stripe --quote-id QUOTE_ID --idempotency-key KEY --json
|
|
77
|
+
- image-skill credits status --payment-attempt-id PAYMENT_ATTEMPT_ID --json
|
|
78
|
+
- image-skill credits fake-purchase --quote-id QUOTE_ID --idempotency-key KEY --json
|
|
79
|
+
- image-skill capabilities --json
|
|
80
|
+
- image-skill capabilities list --json
|
|
81
|
+
- image-skill capabilities show CAPABILITY_ID --json
|
|
82
|
+
- image-skill models --json
|
|
83
|
+
- image-skill models list --json
|
|
84
|
+
- image-skill models show MODEL_ID --json
|
|
85
|
+
- image-skill create --prompt PROMPT --json
|
|
86
|
+
- image-skill create --dry-run --prompt PROMPT --json
|
|
87
|
+
- image-skill upload PATH_OR_URL --json
|
|
88
|
+
- image-skill edit --input ASSET_ID_OR_PATH_OR_URL --prompt PROMPT --accept-unknown-cost --json
|
|
89
|
+
- image-skill assets show ASSET_ID_OR_URL --json
|
|
90
|
+
- image-skill assets get ASSET_ID_OR_URL --output PATH --json
|
|
91
|
+
- image-skill jobs show JOB_ID --json
|
|
92
|
+
- image-skill jobs wait JOB_ID --timeout-ms 30000 --poll-interval-ms 1000 --json
|
|
93
|
+
- image-skill activity list --limit 20 --json
|
|
94
|
+
- image-skill activity list --subject JOB_OR_ASSET_OR_FEEDBACK_OR_TRACE --json
|
|
95
|
+
- image-skill activity show EVENT_OR_JOB_OR_ASSET_OR_FEEDBACK_OR_TRACE --json
|
|
96
|
+
- image-skill feedback create --type TYPE --title TITLE --body BODY --command COMMAND --expected EXPECTED --actual ACTUAL --proof-needed PROOF --surface cli,docs --evidence trace:TRACE_ID --severity medium --confidence high --next-state watch --json
|
|
97
|
+
|
|
98
|
+
Hosted API endpoints:
|
|
99
|
+
- POST https://api.image-skill.com/v1/agent-signups creates or rotates a restricted unclaimed agent token. The response returns the token once as data.token. Store it in the agent runtime secret store; never put it in prompts, logs, issue text, or feedback.
|
|
100
|
+
- GET https://api.image-skill.com/v1/whoami returns durable hosted identity for Authorization: Bearer TOKEN.
|
|
101
|
+
- GET https://api.image-skill.com/v1/quota returns durable hosted quota for Authorization: Bearer TOKEN.
|
|
102
|
+
- GET https://api.image-skill.com/v1/credit-packs returns the public pack catalog. Recommended live-money packs include starter-500, builder-2000, and studio-5000. Packs are the default Stripe Checkout UX; exact quotes remain supported for agents that already know the required credit budget.
|
|
103
|
+
- POST https://api.image-skill.com/v1/credit-quotes returns a fake/test or stripe_checkout credit quote for Authorization: Bearer TOKEN. Request JSON: either credits or pack_id, optional payment_method, idempotency_key. Response includes quote_id, credits, price_amount_cents, currency, accepted_payment_method, pack_id, pack, and live_money. One credit equals $0.01, so price_amount_cents equals credits. This does not grant credits.
|
|
104
|
+
- POST https://api.image-skill.com/v1/credit-purchases/stripe-checkout-sessions creates a Stripe Checkout Session for a stripe_checkout quote. Request JSON: quote_id, idempotency_key. Response includes state: action_required, payment_attempt_id, checkout_session_id, checkout_url, accepted_payment_method: stripe_checkout, and next.human_action: open_checkout_url. This does not grant credits; verified Stripe webhook fulfillment grants paid credits exactly once.
|
|
105
|
+
- GET https://api.image-skill.com/v1/credit-purchases/status returns durable payment state for Authorization: Bearer TOKEN. Query with exactly one of quote_id, payment_attempt_id, checkout_session_id, or receipt_id. Response includes state, quote, payment_attempt, receipt, credit_event, provider_event, limits, and next.
|
|
106
|
+
- POST https://api.image-skill.com/v1/credit-purchases confirms a fake/test quote for Authorization: Bearer TOKEN. Request JSON: quote_id, idempotency_key. Response includes receipt_id, credit_event_id, credits_granted, accepted_payment_method: fake, balance_after, and live_money:false. This grants bounded payment-backed credits without moving live money.
|
|
107
|
+
- GET https://api.image-skill.com/v1/models returns the public model registry. GET https://api.image-skill.com/v1/models/MODEL_ID returns one model's capability-preserving schema.
|
|
108
|
+
- GET https://api.image-skill.com/v1/capabilities returns the hosted capability catalog, normalized controls, model-parameter schemas, auth requirements, and deprecation notices.
|
|
109
|
+
- POST https://api.image-skill.com/v1/create creates or dry-runs one bounded free-preview image when Authorization: Bearer TOKEN has quota and the relevant preview grant. Request JSON: prompt, optional model, optional intent, optional aspect_ratio, optional output constraints, optional model_parameters, optional dry_run, optional max_estimated_usd_per_image, optional max_usd, optional accept_unknown_cost. Success responses include cost.credit_pricing; agents should read credits_required instead of assuming one credit per operation.
|
|
110
|
+
- POST https://api.image-skill.com/v1/upload accepts client-normalized base64 raster image bytes when Authorization: Bearer TOKEN has asset.upload. Request JSON: source_kind, filename, remote_origin, mime_type, content_length, sha256, bytes_base64. Do not send local paths, full remote URLs, prompts, tokens, or provider credentials.
|
|
111
|
+
- POST https://api.image-skill.com/v1/edit edits an Image Skill-owned input asset when Authorization: Bearer TOKEN has quota and the relevant preview grant. Request JSON: input_asset_id, prompt, optional model, optional intent, optional aspect_ratio, optional output constraints, optional model_parameters, optional max_estimated_usd_per_image, optional max_usd, optional accept_unknown_cost. The public CLI uploads local paths or external URLs first; do not send source bytes or external URLs to /v1/edit.
|
|
112
|
+
- GET https://api.image-skill.com/v1/assets/ASSET_ID returns hosted asset metadata for Authorization: Bearer TOKEN when the asset belongs to the actor organization.
|
|
113
|
+
- GET https://api.image-skill.com/v1/jobs/JOB_ID returns hosted job metadata for Authorization: Bearer TOKEN when the job belongs to the actor organization.
|
|
114
|
+
- GET https://api.image-skill.com/v1/activity returns hosted activity ledger events for Authorization: Bearer TOKEN. Optional query: limit, subject. Activity is for ledger context, not job recovery.
|
|
115
|
+
- GET https://api.image-skill.com/v1/activity/REFERENCE returns hosted activity events related to one event, job, asset, usage, feedback, or trace reference.
|
|
116
|
+
- Public activity event types are: job.completed, asset.created, asset.uploaded, usage.credit_consumed, feedback.created, payment.checkout_session.created, credits.payment_backed_granted. Treat any other activity type as a contract bug and leave feedback with event ID plus trace ID.
|
|
117
|
+
- POST https://api.image-skill.com/v1/cli runs public CLI-compatible commands over JSON argv.
|
|
118
|
+
- GET https://api.image-skill.com/healthz checks API readiness.
|
|
119
|
+
|
|
120
|
+
Expected JSON envelope:
|
|
121
|
+
{
|
|
122
|
+
"ok": true,
|
|
123
|
+
"command": "string",
|
|
124
|
+
"trace_id": "trace_...",
|
|
125
|
+
"actor": {
|
|
126
|
+
"actor_type": "agent",
|
|
127
|
+
"actor_id": "agt_...",
|
|
128
|
+
"organization_id": "org_...",
|
|
129
|
+
"claim_state": "unclaimed"
|
|
130
|
+
},
|
|
131
|
+
"data": {},
|
|
132
|
+
"warnings": [],
|
|
133
|
+
"error": null
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
Expected error envelope:
|
|
137
|
+
{
|
|
138
|
+
"ok": false,
|
|
139
|
+
"command": "string",
|
|
140
|
+
"trace_id": "trace_...",
|
|
141
|
+
"actor": null,
|
|
142
|
+
"data": null,
|
|
143
|
+
"warnings": [],
|
|
144
|
+
"error": {
|
|
145
|
+
"code": "string",
|
|
146
|
+
"message": "redacted human-readable message",
|
|
147
|
+
"retryable": false
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
Standard exit codes:
|
|
152
|
+
- 0 success
|
|
153
|
+
- 1 generic failure
|
|
154
|
+
- 2 invalid arguments
|
|
155
|
+
- 3 auth required or invalid token
|
|
156
|
+
- 4 capability denied
|
|
157
|
+
- 5 quota exceeded
|
|
158
|
+
- 6 content policy denied
|
|
159
|
+
- 7 provider failure
|
|
160
|
+
- 8 timeout
|
|
161
|
+
- 9 filesystem failure
|
|
162
|
+
|
|
163
|
+
Unclaimed agents may:
|
|
164
|
+
- inspect docs, capabilities, models, identity, and quota
|
|
165
|
+
- request human claim
|
|
166
|
+
- create product feedback
|
|
167
|
+
- inspect fake/test or Stripe Checkout credit quotes, create Stripe-hosted checkout sessions for stripe_checkout quotes, and, when explicitly asked to exercise the preview credit ledger, confirm fake/test quotes
|
|
168
|
+
- run only bounded free-preview workflows when quota, artifact storage, budget guard, and policy allow
|
|
169
|
+
|
|
170
|
+
Unclaimed agents may not:
|
|
171
|
+
- run high-cost or bulk jobs
|
|
172
|
+
- publish publicly
|
|
173
|
+
- create arbitrary webhooks
|
|
174
|
+
- import provider keys
|
|
175
|
+
- change billing plans, saved payment methods, team settings, or organization settings
|
|
176
|
+
- access assets outside their organization
|
|
177
|
+
- disable telemetry or audit logging
|
|
178
|
+
- send card data, wallet secrets, provider receipts, Stripe secrets, MPP tokens, SPTs, or any payment credential to Image Skill; Stripe payment details must be entered only on Stripe-hosted checkout pages
|
|
179
|
+
|
|
180
|
+
Credits:
|
|
181
|
+
One Image Skill credit is $0.01. Use image-skill credits packs list --json to inspect recommended Stripe Checkout packs. Use image-skill credits quote --pack PACK_ID --payment-method stripe_checkout --json for the default live-money top-up path. Use image-skill credits quote --credits CREDITS --json for exact bounded custom top-ups when the required budget is already known. The default payment_method is fake. Use image-skill credits buy --provider stripe --json to create a hosted Stripe Checkout Session for a stripe_checkout quote; this returns checkout_url and does not grant credits. Use image-skill credits status --payment-attempt-id PAYMENT_ATTEMPT_ID --json after buy and after checkout completion to read state, receipt, credit_event, limits, and retry guidance. Use image-skill credits fake-purchase --json only to exercise the quote, receipt, credit-ledger, and activity-audit contract before live settlement rails are enabled. Create/edit debit model-priced credits after provider success; inspect models show and operation cost.credit_pricing for credits_required and pricing_confidence. Credits buy and fake-purchase require explicit --idempotency-key. Never send payment credentials to Image Skill; Stripe collects payment details on Stripe-hosted pages. Public request fields are credits, pack_id, payment_method, quote_id, status reference IDs, and idempotency_key.
|
|
182
|
+
|
|
183
|
+
Telemetry:
|
|
184
|
+
- command or endpoint name
|
|
185
|
+
- CLI, skill, and API version
|
|
186
|
+
- actor class
|
|
187
|
+
- capability id and, when explicitly authorized, model/provider provenance
|
|
188
|
+
- status
|
|
189
|
+
- duration
|
|
190
|
+
- cost estimate
|
|
191
|
+
- output count
|
|
192
|
+
- error class
|
|
193
|
+
- retry state
|
|
194
|
+
- job ID or trace ID
|
|
195
|
+
|
|
196
|
+
Telemetry must not include raw prompts, source images, generated images, provider keys, tokens, or sensitive payloads by default.
|
|
197
|
+
|
|
198
|
+
Activity:
|
|
199
|
+
Use image-skill activity list/show when an agent needs recent ledger context,
|
|
200
|
+
auditable event IDs, feedback confirmation, usage links, job/asset links, or
|
|
201
|
+
trace references. Activity is broader than jobs and can include completed
|
|
202
|
+
outputs, uploads, usage events, and feedback. Activity does not replace jobs
|
|
203
|
+
show/wait for polling, recovery, retry judgment, or final job state.
|
|
204
|
+
Current activity event registry: job.completed, asset.created, asset.uploaded,
|
|
205
|
+
usage.credit_consumed, feedback.created, payment.checkout_session.created,
|
|
206
|
+
credits.payment_backed_granted.
|
|
207
|
+
|
|
208
|
+
Feedback:
|
|
209
|
+
Use image-skill feedback create --json when the workflow fails, succeeds with friction, reveals confusing behavior, or suggests a missing feature. Feedback should include command, expected behavior, actual behavior, proof needed, surface, evidence, severity, confidence, and next state.
|
|
210
|
+
|
|
211
|
+
Artifact retry rule:
|
|
212
|
+
If create returns ARTIFACT_STORAGE_WRITE_FAILED, do not retry the whole create blindly. The provider may have already generated an image. Leave feedback or wait for storage/job repair.
|
|
213
|
+
|
|
214
|
+
Asset fetch rule:
|
|
215
|
+
Use image-skill assets get on Image Skill-owned URLs or asset ids. Do not use Image Skill as a generic external URL downloader.
|
|
216
|
+
|
|
217
|
+
Reference:
|
|
218
|
+
- https://image-skill.com
|
|
219
|
+
- https://image-skill.com/skill.md
|
|
220
|
+
- https://image-skill.com/cli.md
|
|
221
|
+
- https://image-skill.com/llms.txt
|
package/package.json
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "image-skill",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"description": "Thin hosted CLI for Image Skill, a creative runtime for agents.",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"private": false,
|
|
7
|
+
"bin": {
|
|
8
|
+
"image-skill": "bin/image-skill.mjs"
|
|
9
|
+
},
|
|
10
|
+
"files": [
|
|
11
|
+
"bin",
|
|
12
|
+
"README.md",
|
|
13
|
+
"skill.md",
|
|
14
|
+
"llms.txt",
|
|
15
|
+
"cli.md"
|
|
16
|
+
],
|
|
17
|
+
"engines": {
|
|
18
|
+
"node": ">=22.0.0"
|
|
19
|
+
},
|
|
20
|
+
"publishConfig": {
|
|
21
|
+
"access": "public"
|
|
22
|
+
},
|
|
23
|
+
"license": "UNLICENSED"
|
|
24
|
+
}
|
package/skill.md
ADDED
|
@@ -0,0 +1,318 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: image-skill
|
|
3
|
+
description: Use Image Skill when an agent needs to create, edit, inspect, iterate on, or manage generated images through the hosted image-skill service and thin CLI/client. Also use it when an agent needs to bootstrap restricted access, check quota, request human claim, or leave product feedback.
|
|
4
|
+
homepage: https://image-skill.com
|
|
5
|
+
docs: https://image-skill.com/llms.txt
|
|
6
|
+
metadata:
|
|
7
|
+
{
|
|
8
|
+
"status": "preview-contract",
|
|
9
|
+
"cli": "image-skill",
|
|
10
|
+
"canonical_skill_url": "https://image-skill.com/skill.md",
|
|
11
|
+
"canonical_api_url": "https://api.image-skill.com",
|
|
12
|
+
}
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
# Image Skill
|
|
16
|
+
|
|
17
|
+
Status: preview hosted-product contract.
|
|
18
|
+
|
|
19
|
+
Image Skill is a CLI-first hosted creative runtime for agents. Use it to create, edit, inspect, iterate on, and reuse generated images.
|
|
20
|
+
|
|
21
|
+
Public agents should depend on the hosted contract, a thin CLI/client, stable JSON outputs, trace IDs, job IDs, artifact references, quota/cost state, and feedback commands.
|
|
22
|
+
|
|
23
|
+
Core rule: Image Skill should preserve model capability, not flatten it away.
|
|
24
|
+
Use capability introspection and model parameter schemas before assuming what a
|
|
25
|
+
model can do. Normalized controls are for common paths; model parameters are
|
|
26
|
+
how rare or provider-native capabilities remain available without turning the
|
|
27
|
+
whole CLI into a lowest-common-denominator interface.
|
|
28
|
+
|
|
29
|
+
## First Run
|
|
30
|
+
|
|
31
|
+
Install the agent-facing skill from the public mirror repo when the runtime
|
|
32
|
+
supports skills.sh-compatible installation:
|
|
33
|
+
|
|
34
|
+
```bash
|
|
35
|
+
npx skills add danielgwilson/image-skill-cli --skill image-skill -g -a codex -y
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
Install the executable CLI from npm:
|
|
39
|
+
|
|
40
|
+
```bash
|
|
41
|
+
npm install -g image-skill
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
Check service and client health:
|
|
45
|
+
|
|
46
|
+
```bash
|
|
47
|
+
image-skill doctor --json
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
Bootstrap restricted agent access:
|
|
51
|
+
|
|
52
|
+
```bash
|
|
53
|
+
image-skill signup --agent \
|
|
54
|
+
--human-email HUMAN_EMAIL \
|
|
55
|
+
--agent-name AGENT_NAME \
|
|
56
|
+
--runtime RUNTIME_NAME \
|
|
57
|
+
--save \
|
|
58
|
+
--json
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
`--save` stores the returned hosted token in the public CLI config with 0600
|
|
62
|
+
permissions and redacts it from stdout. Use `--show-token` only when the agent
|
|
63
|
+
runtime has a separate secret store and needs the raw token once.
|
|
64
|
+
|
|
65
|
+
If the runtime supports stdin secret handoff, prefer `--token-stdin` for
|
|
66
|
+
`whoami`, `usage quota`, `quota`, `create`, and `feedback create` instead of
|
|
67
|
+
placing the token in command args.
|
|
68
|
+
|
|
69
|
+
Inspect identity and quota:
|
|
70
|
+
|
|
71
|
+
```bash
|
|
72
|
+
image-skill whoami --json
|
|
73
|
+
image-skill usage quota --json
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
The preview hosted signup path currently uses a human sponsor email. Future
|
|
77
|
+
payment-backed and agent-contact-backed signup paths are planned so capable
|
|
78
|
+
agents can become bounded paying users without making human claim the only
|
|
79
|
+
path to meaningful usage.
|
|
80
|
+
|
|
81
|
+
Credit quote and buy flow:
|
|
82
|
+
|
|
83
|
+
```bash
|
|
84
|
+
image-skill credits packs list --json
|
|
85
|
+
image-skill credits quote \
|
|
86
|
+
--pack starter-500 \
|
|
87
|
+
--payment-method stripe_checkout \
|
|
88
|
+
--idempotency-key stripe-pack-quote-run-001 \
|
|
89
|
+
--json
|
|
90
|
+
image-skill credits quote --credits 137 --json
|
|
91
|
+
image-skill credits buy \
|
|
92
|
+
--provider stripe \
|
|
93
|
+
--quote-id QUOTE_ID \
|
|
94
|
+
--idempotency-key stripe-buy-run-001 \
|
|
95
|
+
--json
|
|
96
|
+
image-skill credits fake-purchase \
|
|
97
|
+
--quote-id QUOTE_ID \
|
|
98
|
+
--idempotency-key purchase-run-001 \
|
|
99
|
+
--json
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
This is the agent-facing precursor to future MPP, Stripe, wallet, or
|
|
103
|
+
delegated-card adapters. Packs are the default Stripe Checkout UX; exact
|
|
104
|
+
`--credits` quotes remain available when an agent already knows the required
|
|
105
|
+
budget. `credits buy --provider stripe` returns a
|
|
106
|
+
Stripe-hosted `checkout_url` for a `stripe_checkout` quote and does not grant
|
|
107
|
+
credits until verified webhook fulfillment succeeds. `credits fake-purchase`
|
|
108
|
+
returns `live_money:false`, moves no live money, accepts no payment credential,
|
|
109
|
+
and exists so agents can exercise the quote, receipt, credit-ledger, and
|
|
110
|
+
activity-audit contract safely.
|
|
111
|
+
One Image Skill credit is `$0.01`. Creative operations debit model-priced
|
|
112
|
+
credits, not a flat one-credit unit. Use `models show MODEL_ID --json` and the
|
|
113
|
+
operation response `cost.credit_pricing` to see `credits_required`,
|
|
114
|
+
`estimated_provider_cost_usd`, and pricing confidence.
|
|
115
|
+
|
|
116
|
+
## Create An Image
|
|
117
|
+
|
|
118
|
+
Inspect models first:
|
|
119
|
+
|
|
120
|
+
```bash
|
|
121
|
+
image-skill models --json
|
|
122
|
+
image-skill models list --json
|
|
123
|
+
image-skill models show openai.gpt-image-2 --json
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
`models show` is the first detailed discovery surface for agents. It exposes
|
|
127
|
+
operations, media inputs/outputs, model-parameter schemas, fixed and wired
|
|
128
|
+
controls, cost/latency class, safety behavior, and migration hints. Use
|
|
129
|
+
`capabilities` when you need the schema language directly.
|
|
130
|
+
|
|
131
|
+
Create with hosted artifact URLs and JSON:
|
|
132
|
+
|
|
133
|
+
```bash
|
|
134
|
+
image-skill create \
|
|
135
|
+
--prompt "A product mockup of a compact field camera on a stainless workbench" \
|
|
136
|
+
--intent explore \
|
|
137
|
+
--aspect-ratio 1:1 \
|
|
138
|
+
--max-estimated-usd-per-image 0.05 \
|
|
139
|
+
--json
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
For model-specific controls that are advertised by models/capabilities, use a
|
|
143
|
+
validated JSON parameter payload instead of inventing coarse global categories:
|
|
144
|
+
|
|
145
|
+
```bash
|
|
146
|
+
image-skill create \
|
|
147
|
+
--prompt-file ./prompt.md \
|
|
148
|
+
--intent finalize \
|
|
149
|
+
--model MODEL_ID \
|
|
150
|
+
--model-parameters-json '{"seed":1234}' \
|
|
151
|
+
--max-usd 0.25 \
|
|
152
|
+
--json
|
|
153
|
+
```
|
|
154
|
+
|
|
155
|
+
In the current preview, Fal create/edit expose executable `seed`, while OpenAI
|
|
156
|
+
GPT Image 2 exposes documented provider-native controls such as size, output
|
|
157
|
+
format, compression, background, moderation, and its provider-native quality
|
|
158
|
+
parameter through validated `model_parameters`. These are model-specific
|
|
159
|
+
controls, not universal Image Skill tiers.
|
|
160
|
+
|
|
161
|
+
Hosted free-preview API:
|
|
162
|
+
|
|
163
|
+
```bash
|
|
164
|
+
curl -sS https://api.image-skill.com/v1/create \
|
|
165
|
+
-H "authorization: Bearer $IMAGE_SKILL_TOKEN" \
|
|
166
|
+
-H "content-type: application/json" \
|
|
167
|
+
-d '{"prompt":"A product mockup of a compact field camera on a stainless workbench","intent":"explore","aspect_ratio":"1:1","max_estimated_usd_per_image":0.05,"model_parameters":{"seed":1234}}'
|
|
168
|
+
```
|
|
169
|
+
|
|
170
|
+
Expected behavior:
|
|
171
|
+
|
|
172
|
+
- returns `job_id`, `trace_id`, `asset_ids`, artifact references, cost estimate, and safety status;
|
|
173
|
+
- returns Image Skill-owned artifact references under `assets[].url`;
|
|
174
|
+
- emits service telemetry;
|
|
175
|
+
- refuses when quota, claim state, scopes, content policy, budget guard, provider availability, or safety rules do not allow the job.
|
|
176
|
+
|
|
177
|
+
## Fetch Generated Assets
|
|
178
|
+
|
|
179
|
+
Upload an existing image into an Image Skill-owned input asset:
|
|
180
|
+
|
|
181
|
+
```bash
|
|
182
|
+
image-skill upload PATH_OR_URL --json
|
|
183
|
+
```
|
|
184
|
+
|
|
185
|
+
Use upload before edit workflows. The CLI normalizes local paths and remote
|
|
186
|
+
URLs client-side; public responses include `asset_id`, `job_id`, hosted URL,
|
|
187
|
+
MIME type, byte length, and SHA-256 hash, but never local paths, full remote
|
|
188
|
+
URLs, raw bytes, base64 payloads, buckets, or object keys.
|
|
189
|
+
|
|
190
|
+
Edit an owned input asset, local path, or remote URL:
|
|
191
|
+
|
|
192
|
+
```bash
|
|
193
|
+
image-skill edit \
|
|
194
|
+
--input ASSET_ID_OR_PATH_OR_URL \
|
|
195
|
+
--prompt "Remove the background and keep natural object shadows" \
|
|
196
|
+
--accept-unknown-cost \
|
|
197
|
+
--json
|
|
198
|
+
```
|
|
199
|
+
|
|
200
|
+
For local paths and external URLs, the public CLI uploads the input first and
|
|
201
|
+
then edits the resulting Image Skill-owned asset id. Preview hosted edit uses
|
|
202
|
+
Fal Nano Banana 2 Edit and consumes model-priced restricted free-preview
|
|
203
|
+
credits after provider success.
|
|
204
|
+
|
|
205
|
+
Inspect an Image Skill-owned asset:
|
|
206
|
+
|
|
207
|
+
```bash
|
|
208
|
+
image-skill assets show ASSET_ID_OR_URL --json
|
|
209
|
+
```
|
|
210
|
+
|
|
211
|
+
Download it without repeating provider work:
|
|
212
|
+
|
|
213
|
+
```bash
|
|
214
|
+
image-skill assets get ASSET_ID_OR_URL --output ./result.png --json
|
|
215
|
+
```
|
|
216
|
+
|
|
217
|
+
`assets get` refuses to overwrite existing files unless `--overwrite` is
|
|
218
|
+
explicit. Use only Image Skill-owned asset URLs or asset ids returned by
|
|
219
|
+
Image Skill.
|
|
220
|
+
|
|
221
|
+
## Inspect Generated Jobs
|
|
222
|
+
|
|
223
|
+
Inspect a hosted job:
|
|
224
|
+
|
|
225
|
+
```bash
|
|
226
|
+
image-skill jobs show JOB_ID --json
|
|
227
|
+
```
|
|
228
|
+
|
|
229
|
+
Wait for a hosted job to complete:
|
|
230
|
+
|
|
231
|
+
```bash
|
|
232
|
+
image-skill jobs wait JOB_ID --json
|
|
233
|
+
```
|
|
234
|
+
|
|
235
|
+
Use `jobs show` or `jobs wait` instead of telemetry or history files when you
|
|
236
|
+
need status, cost, safety, public capability id, timestamps, and reusable assets
|
|
237
|
+
for a hosted create.
|
|
238
|
+
|
|
239
|
+
## Inspect Activity
|
|
240
|
+
|
|
241
|
+
List recent ledger events:
|
|
242
|
+
|
|
243
|
+
```bash
|
|
244
|
+
image-skill activity list --limit 20 --json
|
|
245
|
+
```
|
|
246
|
+
|
|
247
|
+
Show one event or subject:
|
|
248
|
+
|
|
249
|
+
```bash
|
|
250
|
+
image-skill activity show EVENT_OR_JOB_OR_ASSET_OR_FEEDBACK --json
|
|
251
|
+
```
|
|
252
|
+
|
|
253
|
+
Use `activity` when you need an audit trail: recent jobs, assets, usage events,
|
|
254
|
+
feedback acceptance, trace IDs, and status changes that can be cited in product
|
|
255
|
+
feedback. Do not use `activity` as a wait or recovery command. Use `jobs show`
|
|
256
|
+
or `jobs wait` for operational job state, final assets, and retry judgment.
|
|
257
|
+
|
|
258
|
+
## Feedback
|
|
259
|
+
|
|
260
|
+
If a workflow fails, is confusing, succeeds with friction, or suggests a missing feature, leave product feedback:
|
|
261
|
+
|
|
262
|
+
```bash
|
|
263
|
+
image-skill feedback create \
|
|
264
|
+
--type user_feedback \
|
|
265
|
+
--title "Short concrete title" \
|
|
266
|
+
--body "What happened, what was expected, and why it matters" \
|
|
267
|
+
--command "Command or workflow observed" \
|
|
268
|
+
--expected "Expected result" \
|
|
269
|
+
--actual "Actual result" \
|
|
270
|
+
--proof-needed "What would prove this is handled" \
|
|
271
|
+
--surface cli,docs \
|
|
272
|
+
--evidence trace:TRACE_ID \
|
|
273
|
+
--severity medium \
|
|
274
|
+
--confidence high \
|
|
275
|
+
--next-state watch \
|
|
276
|
+
--json
|
|
277
|
+
```
|
|
278
|
+
|
|
279
|
+
Good feedback includes the command, trace ID, expected result, actual result, and whether the issue is CLI affordance, model output, auth/quota, docs, provider reliability, or product judgment.
|
|
280
|
+
If the agent cannot fill every structured field, still submit `--title` and
|
|
281
|
+
`--body`; narrative feedback is accepted, and quality warnings remain available
|
|
282
|
+
when the signal lacks enough triage evidence.
|
|
283
|
+
|
|
284
|
+
When a JSON command fails, inspect `error.recovery` before retrying. Recovery
|
|
285
|
+
may include `required_flag`, `suggested_command`, `docs_url`, or
|
|
286
|
+
`retry_after_seconds`; use these fields instead of scraping prose messages.
|
|
287
|
+
|
|
288
|
+
Public feedback is hosted by default. With `IMAGE_SKILL_TOKEN` set, the CLI
|
|
289
|
+
submits to `https://api.image-skill.com/v1/feedback` and the service fails
|
|
290
|
+
closed if durable hosted feedback storage is unavailable.
|
|
291
|
+
|
|
292
|
+
## Safety And Cost
|
|
293
|
+
|
|
294
|
+
- Check `usage quota --json` before costly workflows. `quota --json` remains a
|
|
295
|
+
compatibility alias.
|
|
296
|
+
- Use `credits packs list --json` to inspect recommended live-money packs.
|
|
297
|
+
- Use `credits quote --pack PACK_ID --payment-method stripe_checkout --json`
|
|
298
|
+
for the default Stripe Checkout path.
|
|
299
|
+
- Use `credits quote --credits CREDITS --json` for exact bounded custom
|
|
300
|
+
top-ups when the required budget is already known.
|
|
301
|
+
- Use `credits buy --provider stripe --json` only to create a Stripe-hosted
|
|
302
|
+
checkout action. Session creation itself does not grant credits.
|
|
303
|
+
- Use `credits fake-purchase --json` only for preview credit-ledger proof; it
|
|
304
|
+
is not live settlement and must not receive payment credentials.
|
|
305
|
+
- Treat credits as prepaid cents of Image Skill value. Operation debits are
|
|
306
|
+
model-aware and appear in `cost.credit_pricing`.
|
|
307
|
+
- Use dry-run modes and explicit budget caps for exploration.
|
|
308
|
+
- Do not mistake quota limits or free-preview policy for creative quality
|
|
309
|
+
labels. Ask capabilities what a capability supports.
|
|
310
|
+
- Do not bypass claim state, scopes, policy checks, or telemetry.
|
|
311
|
+
- Do not create deceptive, harassing, infringing, or unsafe media.
|
|
312
|
+
- Escalate to the human when a workflow needs spend, identity, legal judgment, or external publishing.
|
|
313
|
+
|
|
314
|
+
## Reference
|
|
315
|
+
|
|
316
|
+
- Full machine-readable contract: `https://image-skill.com/llms.txt`
|
|
317
|
+
- CLI command contract: `https://image-skill.com/cli.md`
|
|
318
|
+
- Product homepage: `https://image-skill.com`
|