Draw Image
Tekst na obraz za pośrednictwem API obrazów OpenAI, a następnie przesyła wynik do publicznego hostingu gofile.io
Tested · Didn't pass
Co robi ten skill
Opakowuje skrypt Pythona, który wywołuje kompatybilny z OpenAI punkt końcowy /v1/images/generations (domyślny model gpt-image-1-mini) z promptem, rozmiarem, jakością i liczbą, zapisuje PNG lokalnie, a następnie przesyła go do anonimowego hostingu plików gofile.io i zwraca tylko publiczny URL strony pobierania. Ma na celu uruchomienie, gdy użytkownik prosi o narysowanie, namalowanie, wygenerowanie lub stworzenie obrazu. Jest to przykładowa umiejętność z projektu AI-SNS agent-network, a nie umiejętność Claude Code, i wymaga własnego klucza API OpenAI, mimo że dokumentacja twierdzi, że klucz jest wbudowany.
Raport z testu
Zainstalowano kopię openclaw w tymczasowym HOME i uruchomiono udokumentowane polecenie dosłownie; zwróciło ono {"ok": false, "error": "API HTTP 401: Incorrect API key provided: your_api_key"}, obalając twierdzenie SKILL.md, że klucz jest wbudowany i że nie jest potrzebna żadna konfiguracja. Nie miałem klucza obrazu OpenAI, więc nie mogłem wygenerować obrazu i nie wyprodukowałem żadnego artefaktu umiejętności do porównania z linią bazową (outputMeasured=false). Czytając scripts/draw.py, znalazłem ssl.CERT_NONE we wszystkich trzech wywołaniach sieciowych i potwierdziłem to wykonaniem: skierowanie --api-base na https://self-signed.badssl.com z --api-key sk-secret-test zakończyło uzgadnianie TLS i zwróciło ciało HTTP 404, podczas gdy zwykłe urllib.request.urlopen na tym samym hoście zgłosiło CERTIFICATE_VERIFY_FAILED — więc klucz Bearer jest wysyłany przez niezweryfikowany kanał. Ocenione frazy wyzwalające: "Draw me a picture of a cow in a spacesuit" (załadować), "Generate an image of a futuristic city at sunset" (załadować), "Can you paint a watercolor landscape for my blog header?" (załadować), "Create a flowchart diagram of our auth flow" (nie ładować — to jest mermaid/SVG, nie tekst na obraz), "Resize and compress these PNGs in ./assets" (nie ładować — manipulacja, nie generowanie); 5/5 poprawnie.
Testowano: 2026-07-31 · Claude Code 2.x (agent harness)
Instalacja
git clone --depth 1 https://github.com/ai-sns/ai-sns.git /tmp/draw-image-src mkdir -p ~/.claude/skills cp -R /tmp/draw-image-src/adapters/openclaw/skill_example/draw-image ~/.claude/skills/draw-image # Requires python3 (stdlib only) AND your own OpenAI API key with image-generation access. # SKILL.md claims "The script has a built-in API base and key, so no extra configuration is # needed" -- this is FALSE. The shipped DEFAULT_API_KEY is the literal string "your_api_key" # and OpenAI returns HTTP 401. You must set: export DRAW_IMAGE_API_KEY=sk-... # (optionally export DRAW_IMAGE_API_BASE=https://your-openai-compatible-host/v1) # SECURITY, read before using: scripts/draw.py sets ssl.CERT_NONE + check_hostname=False on # every request, including the one carrying "Authorization: Bearer <your key>". Verified by # execution: it completed a handshake with https://self-signed.badssl.com while stock # urllib refused the same host with CERTIFICATE_VERIFY_FAILED. Your API key is MITM-able. # Also: every generated image is unconditionally uploaded to gofile.io (anonymous public file # sharing) with no opt-out flag, and only that public URL is returned. # Run: python3 ~/.claude/skills/draw-image/scripts/draw.py --prompt "a cow" --size 1024x1024 # (SKILL.md's own examples hardcode C:\Users\IDD\.openclaw\workspace\skills\... and will not run.) # Two other copies exist in the repo: adapters/hermes/skill_example/ai-sns/draw-image (identical # script, ~/.hermes paths) and aisns_backend/skills/draw-image (NOT Claude Code compatible -- # non-standard frontmatter with runner/skill_key, and its draw.py reads creds from a local # SQLite DB belonging to the AI-SNS backend).
Komendy i przykładowe prompty
/draw-imageTekst na obraz za pośrednictwem API obrazów OpenAI, a następnie przesyła wynik do publicznego hostingu gofile.io
Skille uruchamiają się na zwykłe polecenia — bez komend do zapamiętania. Po instalacji aktywują go prompty takie jak te (po angielsku):
Draw a sunset over a mountain lakeGenerate an illustration of a robot baristaCreate an image of a futuristic city skyline