with one click
with one click
ブラウザゲームを自動プレイするスキル。agent-browserを使ってローカルまたはオンラインのHTML/JSゲームをプレイします。倉庫番、オセロ、五目並べなど。
Creates browser-based board games (Othello, Gomoku, Chess, etc.) with HTML/CSS/JS. Use when the user wants to create a new board game, implement game logic, or add AI opponents.
背景透過された画像を生成する。Gemini APIで画像生成後、WaveSpeed AI (Bria) で背景を自動透過。透過PNG、切り抜き画像、背景なし画像の生成に使用。
ゲームを実際にプレイしてクリアできるか検証し、詰まった場合は原因を特定・修正するスキル。
Automates browser interactions for web testing, form filling, screenshots, and data extraction. Use when the user needs to navigate websites, interact with web pages, fill forms, take screenshots, test web applications, or extract information from web pages.
| name | generate-image |
| description | Gemini APIを使用して画像を生成します。テキストプロンプトからの画像生成が可能です。 |
Google Gemini APIを使用してテキストプロンプトから画像を生成します。curlを使用するため、追加の依存関係は不要です。
| モデル | モデルID | 特徴 |
|---|---|---|
| Gemini 3 Pro Image Preview | gemini-3-pro-image-preview | プロフェッショナルアセット制作向け |
GEMINI_API_KEY が設定されている必要があります。
指定可能な値: "1:1", "2:3", "3:2", "3:4", "4:3", "4:5", "5:4", "9:16", "16:9", "21:9"
指定可能な値: "1K", "2K", "4K"
注意: 大文字の K を使用してください(小文字は拒否されます)
curl -s -X POST "https://generativelanguage.googleapis.com/v1beta/models/gemini-3-pro-image-preview:generateContent" \
-H "x-goog-api-key: $GEMINI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"contents": [{
"parts": [{"text": "YOUR_PROMPT_HERE"}]
}],
"generationConfig": {
"responseModalities": ["IMAGE"]
}
}' | jq -r '.candidates[0].content.parts[0].inlineData.data' | base64 -d > output.png
curl -s -X POST "https://generativelanguage.googleapis.com/v1beta/models/gemini-3-pro-image-preview:generateContent" \
-H "x-goog-api-key: $GEMINI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"contents": [{
"parts": [{"text": "YOUR_PROMPT_HERE"}]
}],
"generationConfig": {
"responseModalities": ["IMAGE"],
"imageConfig": {
"aspectRatio": "16:9",
"imageSize": "2K"
}
}
}' | jq -r '.candidates[0].content.parts[0].inlineData.data' | base64 -d > output.png
既存の画像を参照して、スタイル変換や編集が可能です。参照画像はBase64エンコードしてinlineDataとして送信します。
# 画像をBase64エンコード
IMAGE_DATA=$(base64 -i input.png)
curl -s -X POST "https://generativelanguage.googleapis.com/v1beta/models/gemini-3-pro-image-preview:generateContent" \
-H "x-goog-api-key: $GEMINI_API_KEY" \
-H "Content-Type: application/json" \
-d "{
\"contents\": [{
\"parts\": [
{\"text\": \"この画像をアニメ風に変換\"},
{
\"inlineData\": {
\"mimeType\": \"image/png\",
\"data\": \"$IMAGE_DATA\"
}
}
]
}],
\"generationConfig\": {
\"responseModalities\": [\"IMAGE\"]
}
}" | jq -r '.candidates[0].content.parts[0].inlineData.data' | base64 -d > output.png
複雑な処理やAPIキーに特殊文字が含まれる場合はPythonスクリプトを推奨します。
import os
import json
import base64
import requests
from pathlib import Path
api_key = os.environ.get("GEMINI_API_KEY")
url = "https://generativelanguage.googleapis.com/v1beta/models/gemini-3-pro-image-preview:generateContent"
# 参照画像を読み込み
with open("input.png", "rb") as f:
image_data = base64.b64encode(f.read()).decode("utf-8")
headers = {
"x-goog-api-key": api_key,
"Content-Type": "application/json",
}
payload = {
"contents": [{
"parts": [
{"text": "この画像をアニメ風に変換"},
{
"inlineData": {
"mimeType": "image/png",
"data": image_data
}
}
]
}],
"generationConfig": {"responseModalities": ["IMAGE"]}
}
response = requests.post(url, headers=headers, json=payload, timeout=120)
data = response.json()
result_data = data["candidates"][0]["content"]["parts"][0]["inlineData"]["data"]
result_bytes = base64.b64decode(result_data)
with open("output.png", "wb") as f:
f.write(result_bytes)
| 形式 | MIMEタイプ |
|---|---|
| PNG | image/png |
| JPEG | image/jpeg |
| GIF | image/gif |
| WebP | image/webp |
レスポンスには以下が含まれます:
.inlineData.data)image/png などbase64 -d でデコードしてファイルに保存しますGEMINI_API_KEY で設定してくださいjq コマンドが必要です症状:
curl: option : blank argument where content is expected
原因:
GEMINI_API_KEYに特殊文字(+, /, =など、Base64エンコードされたキーによく含まれる)が入っている場合、シェルの変数展開で問題が発生することがあります。
解決策1: Pythonスクリプトを使用する
import os
import json
import base64
import requests
api_key = os.environ.get("GEMINI_API_KEY")
url = "https://generativelanguage.googleapis.com/v1beta/models/gemini-3-pro-image-preview:generateContent"
headers = {
"x-goog-api-key": api_key,
"Content-Type": "application/json",
}
payload = {
"contents": [{"parts": [{"text": "YOUR_PROMPT_HERE"}]}],
"generationConfig": {"responseModalities": ["IMAGE"]}
}
response = requests.post(url, headers=headers, json=payload, timeout=120)
data = response.json()
image_data = data["candidates"][0]["content"]["parts"][0]["inlineData"]["data"]
image_bytes = base64.b64decode(image_data)
with open("output.png", "wb") as f:
f.write(image_bytes)
解決策2: APIキーをファイルから読み込む
# APIキーをファイルに保存(改行なし)
echo -n "$GEMINI_API_KEY" > /tmp/api_key.txt
# ファイルから読み込んで使用
curl -s -X POST "https://generativelanguage.googleapis.com/v1beta/models/gemini-3-pro-image-preview:generateContent" \
-H "x-goog-api-key: $(cat /tmp/api_key.txt)" \
-H "Content-Type: application/json" \
-d '{"contents": [{"parts": [{"text": "YOUR_PROMPT"}]}], "generationConfig": {"responseModalities": ["IMAGE"]}}' \
| jq -r '.candidates[0].content.parts[0].inlineData.data' | base64 -d > output.png
# ファイルを削除
rm /tmp/api_key.txt
症状: 出力ファイルが0バイト
原因:
デバッグ方法:
# レスポンス全体を確認
curl -s -X POST "https://generativelanguage.googleapis.com/v1beta/models/gemini-3-pro-image-preview:generateContent" \
-H "x-goog-api-key: $GEMINI_API_KEY" \
-H "Content-Type: application/json" \
-d '{"contents": [{"parts": [{"text": "test"}]}], "generationConfig": {"responseModalities": ["IMAGE"]}}' \
| jq .
このスキルは画像生成のみを行います。背景透過が必要な場合は generate-transparent-image スキルを使用してください。