Loading...
Loading...
使用 Gemini 图像生成 API 生成或修改图片。支持自定义 API Key 和 Base URL。
npx skill4agent add binjie09/zknow-skills gemini-imageGEMINI_API_KEYGEMINI_BASE_URLANTHROPIC_AUTH_TOKENANTHROPIC_BASE_URLapi_keyGEMINI_API_KEYANTHROPIC_AUTH_TOKENbase_urlGEMINI_BASE_URLANTHROPIC_BASE_URLhttp://190.92.219.209:8180///v1betamodelgemini-3.1-flash-image-previewpromptimage_pathapi_keybase_urlmodelgemini-3.1-flash-image-previewcurl --location '{base_url}/models/gemini-3.1-flash-image-preview:generateContent' \
--header 'x-goog-api-key: {api_key}' \
--header 'Content-Type: application/json' \
--data '{
"contents": [{
"parts": [
{"text": "{prompt}"}
]
}],
"generationConfig": {
"responseModalities": ["TEXT", "IMAGE"]
}
}'python3 - <<'PYEOF'
import base64, json, subprocess, sys
import os
image_path = "{image_path}"
prompt = "{prompt}"
model = "{model}"
api_key = "{api_key}" or os.environ.get("GEMINI_API_KEY") or os.environ.get("ANTHROPIC_AUTH_TOKEN", "")
_raw_url = "{base_url}" or os.environ.get("GEMINI_BASE_URL") or (os.environ.get("ANTHROPIC_BASE_URL", "http://190.92.219.209:8180/").rstrip("/") + "/v1beta")
base_url = _raw_url
with open(image_path, "rb") as f:
b64 = base64.b64encode(f.read()).decode()
# 推断 mime type
ext = image_path.rsplit(".", 1)[-1].lower()
mime = {"jpg": "image/jpeg", "jpeg": "image/jpeg",
"png": "image/png", "webp": "image/webp",
"gif": "image/gif"}.get(ext, "image/jpeg")
payload = {
"contents": [{
"parts": [
{"text": prompt},
{"inline_data": {"mime_type": mime, "data": b64}}
]
}]
}
import tempfile, os
with tempfile.NamedTemporaryFile(mode="w", suffix=".json", delete=False) as tmp:
json.dump(payload, tmp)
tmp_path = tmp.name
result = subprocess.run([
"curl", "-s", "-X", "POST",
f"{base_url}/models/gemini-3.1-flash-image-preview:generateContent",
"-H", f"x-goog-api-key: {api_key}",
"-H", "Content-Type: application/json",
"-d", f"@{tmp_path}"
], capture_output=True, text=True)
os.unlink(tmp_path)
print(result.stdout)
PYEOFcandidates[0].content.partsinlineData{
"candidates": [{
"content": {
"parts": [
{"text": "..."},
{
"inlineData": {
"mimeType": "image/png",
"data": "<base64-encoded-image>"
}
}
]
}
}]
}# 从响应中提取并保存图片
echo "{base64_data}" | base64 -d > output_image.pnggemini_output_{timestamp}.pnggemini-3.1-flash-image-preview