agentsclimarketplace

Ewo image generate

Skill RZX00/ewo-skills/ewo-image-generate

Open-source image & video generation agent skills, powered by ewo's OpenAI-compatible media API. Free to start, pay-as-you-go.

Install
npx -y skills add RZX00/ewo-skills --skill ewo-image-generate

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

2 things to look at

  • 15 days oldThe repository was created 15 days ago. New is not bad, but a brand new repository carrying a familiar-sounding name is the shape a typosquat arrives in, and there has been no time for anyone else to find a problem with it.
  • 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its author says it does

Copied from the file, not written here

Generate or edit images. Use whenever the user asks to draw, create, or modify any picture, illustration, logo, poster, icon, or photo — 画图/画一张/生成图片/改图/做个logo/海报/插画/头像. Free to start — new ewo accounts get a trial credit; then pay-as-you-go with your own ewo key (sk-ewo-…), no subscription.

SKILL.md

4.6 KB, as published. Nobody here has run it

Image Generate & Edit — ewo open skill

A drop-in, multi-model media API. This skill calls ewo's public OpenAI-compatible endpoint; you pay only for what you generate, from a prepaid ewo wallet. Free to start — a new ewo account comes with a small trial credit, enough to try it out before you ever recharge.

  • Endpoint: POST https://api.ewo.so/v1/images/generations
  • Default model: gpt-image-2. Pick a model by setting the model field.

Step 1 — resolve ORIGIN and KEY (first hit wins)

ORIGIN=https://api.ewo.so. For the key:

  1. Environment: KEY=$EWO_API_KEY.
  2. Config file: ~/.ewo/credentials (or %USERPROFILE%\.ewo\credentials on Windows) — a line api_key=sk-ewo-... or a JSON { "api_key": "sk-ewo-..." }.
  3. If the ewo desktop app is running, its managed key also works — set EWO_API_KEY from it.

If you find no key, STOP — do not call the API. Tell the user, in their language:

This skill uses ewo's image/video API. It's free to start:

  1. Sign up at https://api.ewo.so/sign-up — new accounts get a free trial credit.
  2. Create an API key at https://api.ewo.so/keys (it starts with sk-ewo-).
  3. Save it: export EWO_API_KEY=sk-ewo-... (or put api_key=sk-ewo-... in ~/.ewo/credentials), then ask me again.

Step 2 — call the endpoint

Write the JSON body to a temp file — never inline user text into shell quoting.

cat > /tmp/ewo-req.json <<'EOF'
{
  "model": "gpt-image-2",
  "prompt": "a fluffy orange cat, watercolor style",
  "size": "1024x1024"
}
EOF
curl -sS --max-time 180 "$ORIGIN/v1/images/generations" \
  -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" \
  -d @/tmp/ewo-req.json -o /tmp/ewo-resp.json

Fields

  • prompt (string, required) — The image prompt. When editing (image_url provided), describe the desired edit.
  • model (string, optional) (one of: gpt-image-2) — Optional image model. Defaults to gpt-image-2.
  • image_url (string, optional) — Optional. URL or data URL of a source image to edit; when provided the invocation runs in edit mode against an edit-capable model.
  • mask_url (string, optional) — Optional mask URL or data URL. Only valid together with image_url.
  • size (string, optional) (one of: 1024x1024, 1024x1536, 1536x1024, auto)
  • quality (string, optional) (one of: standard, medium, high, auto) — Requested quality tier (OpenAI-image models only). Non-OpenAI image models (Nano Banana, Doubao Seedream) ignore this and render at their native quality; it is dropped before upstream so it never causes a 4xx.
  • background (string, optional) (one of: opaque, transparent, auto)
  • output_format (string, optional) (one of: png, jpeg, webp)

Step 3 — save the image

The synchronous response is the OpenAI images shape: .data[0] holds either b64_json (a multi-megabyte base64 payload — NEVER print it into the chat, it destroys your context) or url (a short-lived link — download it immediately).

B64=$(jq -r '.data[0].b64_json // empty' /tmp/ewo-resp.json)
URL=$(jq -r '.data[0].url // empty' /tmp/ewo-resp.json)
OUT="ewo-image-$(date +%s).png"   # or the path the user asked for
if [ -n "$B64" ]; then printf %s "$B64" | base64 -d > "$OUT"; else curl -sS "$URL" -o "$OUT"; fi
echo "saved: $OUT"

Finish by telling the user the saved file path.

Editing an existing image

To edit instead of generate, POST the same body plus image (a data: URL of the source picture) to $ORIGIN/v1/images/edits. gpt-image-2 supports editing.

Failures (JSON { error: { code, message } }) — do NOT blind-retry 4xx

  • 401 (missing / invalid / expired key) → the user has no working ewo key. Walk them through Step 1 signup (sign up at https://api.ewo.so/sign-up, create a key at https://api.ewo.so/keys), then stop.
  • 402 HABITAT_INSUFFICIENT_BALANCE → the ewo wallet is empty. Tell the user, in their language, to recharge at https://api.ewo.so/console/topup, then stop. Do not retry — 402 is terminal.
  • 400 invalid_request_error → fix the request body against the Fields list.
  • 429 → real rate limit; honor Retry-After and retry once.
  • 503 → temporary ewo-side capacity issue; wait a few seconds, retry once.

Gives 0 of the 12 instructions most images graphics skills give

Counted across 371 of the 372 authors here whose files we hold, read 2026-08-06

  • create a complete brand world in one imagein 19 of 371, across 5 files
  • infer the brand strategy before generatingin 19 of 371, across 5 files
  • use a clean presentation gridin 19 of 371, across 5 files
  • confirm connection status is activein 19 of 371, across 4 files
  • base the visual system on meaningin 17 of 371, across 3 files
  • use very little textin 17 of 371, across 3 files
  • make every panel feel connectedin 17 of 371, across 3 files
  • call RUBE_SEARCH_TOOLS firstin 17 of 371, across 3 files
  • convert dash-format node IDs to colon formatin 17 of 371, across 5 files
  • match reference quality and rhythm if providedin 16 of 371, across 2 files
  • narrow scope or reduce depth to avoid oversized payloadsin 16 of 371, across 4 files
  • generate a simple and memorable logoin 15 of 371, across 1 file

Said here and by no other author read

  • resolve the API key first
  • stop immediately if no API key is found
  • use curl to call the endpoint
  • decode base64 responses to a file
  • download URL responses immediately
  • tell the user the saved file path

Grouped from the skills themselves: near-identical wordings counted once, and counted by distinct author, so one author publishing three of these counts once.

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.