777
This commit is contained in:
parent
11548e854e
commit
cd9b029dfa
@ -1,121 +1,93 @@
|
|||||||
# ikunimage - AI 图片生成器
|
# oneimage - AI 图片生成器
|
||||||
|
|
||||||
**Claude Code Skill — 通过 ikun API 调用 Gemini 图像模型,支持文生图与图生图**
|
**Claude Code Skill — 通过 oneinai API 调用 Gemini 图像模型,支持文生图与图生图**
|
||||||
|
|
||||||
📋 简介
|
## 📋 简介
|
||||||
|
|
||||||
ikunimage 是一款 Claude Code Skill 插件,通过 [ikun API](<https://api.oneinai.com>) 调用 **NanoBananaPro(Gemini 3 Pro Image Preview)** 模型,在 Claude Code 对话中直接生成高质量图片。支持文生图、图生图编辑、批量并发等多种模式。
|
oneimage 是一款 Claude Code Skill 插件,通过 [oneinai API](https://api.oneinai.com) 调用 **NanoBananaPro(Gemini 3 Pro Image Preview)** 模型,在 Claude Code 对话中直接生成高质量图片。支持文生图、图生图编辑、批量并发等多种模式。
|
||||||
|
|
||||||
## 🔗 相关链接
|
## 🔗 相关链接
|
||||||
|
|
||||||
资源| 地址
|
| 资源 | 地址 |
|
||||||
---|---
|
| --- | --- |
|
||||||
GitHub 仓库| [deijing/ikunimage](<https://github.com/deijing/ikunimage>)
|
| GitHub 仓库 | [deijing/oneimage](https://github.com/deijing/oneimage) |
|
||||||
ikun API| [api.ikuncode.cc](<https://api.oneinai.com>)
|
| oneinai API | <https://api.oneinai.com> |
|
||||||
|
| oneinai 控制台 | <https://api.oneinai.com/console/token> |
|
||||||
|
|
||||||
## ✨ 功能特点
|
## ✨ 功能特点
|
||||||
|
|
||||||
* ✅ **文生图** :用自然语言描述场景,AI 生成对应图片
|
- ✅ **文生图**:用自然语言描述场景,AI 生成对应图片
|
||||||
* ✅ **图生图** :上传本地图片 + 编辑描述,AI 修改生成新图片
|
- ✅ **图生图**:上传本地图片 + 编辑描述,AI 修改生成新图片
|
||||||
* ✅ **10 种宽高比** :1:1 / 16:9 / 9:16 / 4:3 / 3:4 / 3:2 / 2:3 / 21:9 / 5:4 / 4:5
|
- ✅ **10 种宽高比**:1:1 / 16:9 / 9:16 / 4:3 / 3:4 / 3:2 / 2:3 / 21:9 / 5:4 / 4:5
|
||||||
* ✅ **3 档分辨率** :1K(快速预览)/ 2K(推荐)/ 4K(超高清)
|
- ✅ **3 档分辨率**:1K(快速预览)/ 2K(推荐)/ 4K(超高清)
|
||||||
* ✅ **文字渲染** :支持在图片中渲染中文文字(招牌、海报、标语等)
|
- ✅ **文字渲染**:支持在图片中渲染中文文字(招牌、海报、标语等)
|
||||||
* ✅ **并发批量** :多张图片并发生成,大幅缩短总耗时
|
- ✅ **并发批量**:多张图片并发生成,大幅缩短总耗时
|
||||||
* ✅ **配置文件管理** :API Key 存储在本地配置文件,安全便捷
|
- ✅ **配置文件管理**:API Key 存储在本地配置文件,安全便捷
|
||||||
|
|
||||||
## 📋 前置要求
|
## 📋 前置要求
|
||||||
|
|
||||||
* [Claude Code](<https://docs.anthropic.com/en/docs/claude-code>) CLI 已安装
|
- [Claude Code](https://docs.anthropic.com/en/docs/claude-code) CLI 已安装
|
||||||
* Python 3.10+
|
- Python 3.10+
|
||||||
* ikun API Key(从 [api.ikuncode.cc](<https://api.oneinai.com>) 获取)
|
- oneinai API Key(在 [oneinai 控制台](https://api.oneinai.com/console/token) 创建)
|
||||||
|
|
||||||
## 🛠️ 安装
|
## 🛠️ 安装
|
||||||
|
|
||||||
### 第一步:下载 Skill
|
### 第一步:下载 Skill
|
||||||
|
|
||||||
bash
|
```bash
|
||||||
|
|
||||||
|
|
||||||
# 如果目录不存在,先创建
|
# 如果目录不存在,先创建
|
||||||
mkdir -p ~/.claude/skills
|
mkdir -p ~/.claude/skills
|
||||||
|
|
||||||
# 克隆 ikunimage 到 skills 目录
|
# 克隆 oneimage 到 skills 目录
|
||||||
cd ~/.claude/skills
|
cd ~/.claude/skills
|
||||||
git clone https://github.com/deijing/ikunimage.git
|
git clone https://github.com/deijing/oneimage.git
|
||||||
|
```
|
||||||
1
|
|
||||||
2
|
|
||||||
3
|
|
||||||
4
|
|
||||||
5
|
|
||||||
6
|
|
||||||
|
|
||||||
安装完成后目录结构如下:
|
安装完成后目录结构如下:
|
||||||
|
|
||||||
|
```
|
||||||
~/.claude/skills/ikunimage/
|
~/.claude/skills/oneimage/
|
||||||
├── SKILL.md # Skill 定义文件
|
├── SKILL.md # Skill 定义文件
|
||||||
├── scripts/
|
├── scripts/
|
||||||
│ ├── generate_ikun.py # 文生图脚本
|
│ ├── generate_oneinai.py # 文生图脚本
|
||||||
│ └── generate_ikun_edit.py # 图生图脚本
|
│ └── generate_oneinai_edit.py # 图生图脚本
|
||||||
└── references/
|
└── references/
|
||||||
└── api-reference.md # API 参考文档
|
└── api-reference.md # API 参考文档
|
||||||
|
```
|
||||||
1
|
|
||||||
2
|
|
||||||
3
|
|
||||||
4
|
|
||||||
5
|
|
||||||
6
|
|
||||||
7
|
|
||||||
|
|
||||||
### 第二步:安装依赖
|
### 第二步:安装依赖
|
||||||
|
|
||||||
bash
|
```bash
|
||||||
|
|
||||||
|
|
||||||
pip install httpx
|
pip install httpx
|
||||||
|
```
|
||||||
1
|
|
||||||
|
|
||||||
### 第三步:配置 API Key
|
### 第三步:配置 API Key
|
||||||
|
|
||||||
三种方式任选其一:
|
三种方式任选其一。
|
||||||
|
|
||||||
**方式 A:交互式配置(推荐)**
|
**方式 A:交互式配置(推荐)**
|
||||||
|
|
||||||
bash
|
```bash
|
||||||
|
python ~/.claude/skills/oneimage/scripts/generate_oneinai.py --setup
|
||||||
|
```
|
||||||
|
|
||||||
|
按提示输入你的 API Key 即可,配置会保存到 `~/.oneimage/config.json`。
|
||||||
python ~/.claude/skills/ikunimage/scripts/generate_ikun.py --setup
|
|
||||||
|
|
||||||
1
|
|
||||||
|
|
||||||
按提示输入你的 API Key 即可,配置会保存到 `~/.ikunimage/config.json`。
|
|
||||||
|
|
||||||
**方式 B:手动创建配置文件**
|
**方式 B:手动创建配置文件**
|
||||||
|
|
||||||
bash
|
```bash
|
||||||
|
mkdir -p ~/.oneimage
|
||||||
|
echo '{"api_key": "sk-你的key"}' > ~/.oneimage/config.json
|
||||||
mkdir -p ~/.ikunimage
|
```
|
||||||
echo '{"api_key": "sk-你的key"}' > ~/.ikunimage/config.json
|
|
||||||
|
|
||||||
1
|
|
||||||
2
|
|
||||||
|
|
||||||
**方式 C:环境变量**
|
**方式 C:环境变量**
|
||||||
|
|
||||||
bash
|
```bash
|
||||||
|
export ONEINAI_API_KEY="sk-你的key"
|
||||||
|
```
|
||||||
|
|
||||||
|
> 💡 **API Key 加载优先级**
|
||||||
export IKUN_API_KEY="sk-你的key"
|
> `--api-key` 命令行参数 > `ONEINAI_API_KEY` 环境变量 > `~/.oneimage/config.json` 配置文件
|
||||||
|
|
||||||
1
|
|
||||||
|
|
||||||
💡 API Key 加载优先级
|
|
||||||
|
|
||||||
`--api-key` 命令行参数 > `IKUN_API_KEY` 环境变量 > `~/.ikunimage/config.json` 配置文件
|
|
||||||
|
|
||||||
## 📖 使用方法
|
## 📖 使用方法
|
||||||
|
|
||||||
@ -123,20 +95,19 @@ bash
|
|||||||
|
|
||||||
安装配置完成后,在 Claude Code 对话中输入:
|
安装配置完成后,在 Claude Code 对话中输入:
|
||||||
|
|
||||||
|
```
|
||||||
/ikunimage
|
/oneimage
|
||||||
|
```
|
||||||
1
|
|
||||||
|
|
||||||
然后描述你想要的图片即可。例如:
|
然后描述你想要的图片即可。例如:
|
||||||
|
|
||||||
* "画一张江南水乡的风景"
|
- "画一张江南水乡的风景"
|
||||||
* "生成一张 4K 超宽屏的故宫雪景"
|
- "生成一张 4K 超宽屏的故宫雪景"
|
||||||
* "批量生成 5 张不同风格的古风人像"
|
- "批量生成 5 张不同风格的古风人像"
|
||||||
|
|
||||||
图生图编辑:
|
图生图编辑:
|
||||||
|
|
||||||
* "编辑 /path/to/photo.jpg,把背景改成竹林"
|
- "编辑 /path/to/photo.jpg,把背景改成竹林"
|
||||||
|
|
||||||
### 独立脚本使用
|
### 独立脚本使用
|
||||||
|
|
||||||
@ -144,43 +115,27 @@ bash
|
|||||||
|
|
||||||
**文生图**:
|
**文生图**:
|
||||||
|
|
||||||
bash
|
```bash
|
||||||
|
python ~/.claude/skills/oneimage/scripts/generate_oneinai.py \
|
||||||
|
-p "一位中国女性,身穿汉服,站在竹林中,晨雾缭绕" \
|
||||||
python ~/.claude/skills/ikunimage/scripts/generate_ikun.py \\
|
-ar 3:4 \
|
||||||
-p "一位中国女性,身穿汉服,站在竹林中,晨雾缭绕" \\
|
-s 2K \
|
||||||
-ar 3:4 \\
|
|
||||||
-s 2K \\
|
|
||||||
-o ./output.png
|
-o ./output.png
|
||||||
|
```
|
||||||
1
|
|
||||||
2
|
|
||||||
3
|
|
||||||
4
|
|
||||||
5
|
|
||||||
|
|
||||||
**图生图**:
|
**图生图**:
|
||||||
|
|
||||||
bash
|
```bash
|
||||||
|
python ~/.claude/skills/oneimage/scripts/generate_oneinai_edit.py \
|
||||||
|
-i ./photo.jpg \
|
||||||
python ~/.claude/skills/ikunimage/scripts/generate_ikun_edit.py \\
|
-p "将背景改为雪景,保持人物不变" \
|
||||||
-i ./photo.jpg \\
|
-ar 3:4 \
|
||||||
-p "将背景改为雪景,保持人物不变" \\
|
|
||||||
-ar 3:4 \\
|
|
||||||
-o ./edited.png
|
-o ./edited.png
|
||||||
|
```
|
||||||
1
|
|
||||||
2
|
|
||||||
3
|
|
||||||
4
|
|
||||||
5
|
|
||||||
|
|
||||||
**批量生成**:
|
**批量生成**:
|
||||||
|
|
||||||
bash
|
```bash
|
||||||
|
|
||||||
|
|
||||||
# 准备任务文件 tasks.json
|
# 准备任务文件 tasks.json
|
||||||
cat > tasks.json << 'EOF'
|
cat > tasks.json << 'EOF'
|
||||||
[
|
[
|
||||||
@ -190,114 +145,97 @@ bash
|
|||||||
EOF
|
EOF
|
||||||
|
|
||||||
# 执行批量生成
|
# 执行批量生成
|
||||||
python ~/.claude/skills/ikunimage/scripts/generate_ikun.py \\
|
python ~/.claude/skills/oneimage/scripts/generate_oneinai.py \
|
||||||
--batch tasks.json \\
|
--batch tasks.json \
|
||||||
--workers 2
|
--workers 2
|
||||||
|
```
|
||||||
1
|
|
||||||
2
|
|
||||||
3
|
|
||||||
4
|
|
||||||
5
|
|
||||||
6
|
|
||||||
7
|
|
||||||
8
|
|
||||||
9
|
|
||||||
10
|
|
||||||
11
|
|
||||||
12
|
|
||||||
|
|
||||||
## 📐 参数速查
|
## 📐 参数速查
|
||||||
|
|
||||||
### 文生图 (generate_ikun.py)
|
### 文生图(`generate_oneinai.py`)
|
||||||
|
|
||||||
参数| 简写| 说明| 默认值
|
| 参数 | 简写 | 说明 | 默认值 |
|
||||||
---|---|---|---
|
| --- | --- | --- | --- |
|
||||||
`--setup`| | 交互式配置 API Key|
|
| `--setup` | | 交互式配置 API Key | |
|
||||||
`--api-key`| | 指定 API Key| 从配置加载
|
| `--api-key` | | 指定 API Key | 从配置加载 |
|
||||||
`--prompt`| `-p`| 图片描述(必填)|
|
| `--prompt` | `-p` | 图片描述(必填) | |
|
||||||
`--aspect-ratio`| `-ar`| 宽高比| `1:1`
|
| `--aspect-ratio` | `-ar` | 宽高比 | `1:1` |
|
||||||
`--size`| `-s`| 分辨率(1K/2K/4K)| `2K`
|
| `--size` | `-s` | 分辨率(1K/2K/4K) | `2K` |
|
||||||
`--output`| `-o`| 输出路径| `output.png`
|
| `--output` | `-o` | 输出路径 | `output.png` |
|
||||||
`--batch`| `-b`| 批量任务 JSON 文件|
|
| `--batch` | `-b` | 批量任务 JSON 文件 | |
|
||||||
`--workers`| `-w`| 并发数| 自动(默认 2)
|
| `--workers` | `-w` | 并发数 | 自动(默认 2) |
|
||||||
`--retry`| `-r`| 重试次数(0-10)| `3`
|
| `--retry` | `-r` | 重试次数(0-10) | `3` |
|
||||||
|
|
||||||
### 图生图 (generate_ikun_edit.py)
|
### 图生图(`generate_oneinai_edit.py`)
|
||||||
|
|
||||||
参数| 简写| 说明| 默认值
|
| 参数 | 简写 | 说明 | 默认值 |
|
||||||
---|---|---|---
|
| --- | --- | --- | --- |
|
||||||
`--setup`| | 交互式配置 API Key|
|
| `--setup` | | 交互式配置 API Key | |
|
||||||
`--api-key`| | 指定 API Key| 从配置加载
|
| `--api-key` | | 指定 API Key | 从配置加载 |
|
||||||
`--input`| `-i`| 输入图片路径(必填)|
|
| `--input` | `-i` | 输入图片路径(必填) | |
|
||||||
`--prompt`| `-p`| 编辑描述(必填)|
|
| `--prompt` | `-p` | 编辑描述(必填) | |
|
||||||
`--aspect-ratio`| `-ar`| 输出宽高比| `1:1`
|
| `--aspect-ratio` | `-ar` | 输出宽高比 | `1:1` |
|
||||||
`--output`| `-o`| 输出路径| `output.png`
|
| `--output` | `-o` | 输出路径 | `output.png` |
|
||||||
`--batch`| `-b`| 批量任务 JSON 文件|
|
| `--batch` | `-b` | 批量任务 JSON 文件 | |
|
||||||
`--workers`| `-w`| 并发数| 自动(默认 2)
|
| `--workers` | `-w` | 并发数 | 自动(默认 2) |
|
||||||
`--retry`| `-r`| 重试次数(0-10)| `3`
|
| `--retry` | `-r` | 重试次数(0-10) | `3` |
|
||||||
|
|
||||||
⚠️ 互斥参数
|
> ⚠️ **互斥参数**
|
||||||
|
> `--prompt` 和 `--batch` 互斥,单图模式和批量模式必须二选一。
|
||||||
`--prompt` 和 `--batch` 互斥,单图模式和批量模式必须二选一。
|
|
||||||
|
|
||||||
## 📊 分辨率参考
|
## 📊 分辨率参考
|
||||||
|
|
||||||
### 1K(快速预览)
|
### 1K(快速预览)
|
||||||
|
|
||||||
宽高比| 分辨率
|
| 宽高比 | 分辨率 |
|
||||||
---|---
|
| --- | --- |
|
||||||
1:1| 1024×1024
|
| 1:1 | 1024×1024 |
|
||||||
16:9| 1376×768
|
| 16:9 | 1376×768 |
|
||||||
9:16| 768×1376
|
| 9:16 | 768×1376 |
|
||||||
4:3| 1200×896
|
| 4:3 | 1200×896 |
|
||||||
3:4| 896×1200
|
| 3:4 | 896×1200 |
|
||||||
|
|
||||||
### 2K(推荐)
|
### 2K(推荐)
|
||||||
|
|
||||||
宽高比| 分辨率
|
| 宽高比 | 分辨率 |
|
||||||
---|---
|
| --- | --- |
|
||||||
1:1| 2048×2048
|
| 1:1 | 2048×2048 |
|
||||||
16:9| 2752×1536
|
| 16:9 | 2752×1536 |
|
||||||
9:16| 1536×2752
|
| 9:16 | 1536×2752 |
|
||||||
4:3| 2400×1792
|
| 4:3 | 2400×1792 |
|
||||||
3:4| 1792×2400
|
| 3:4 | 1792×2400 |
|
||||||
|
|
||||||
### 4K(超高清)
|
### 4K(超高清)
|
||||||
|
|
||||||
宽高比| 分辨率
|
| 宽高比 | 分辨率 |
|
||||||
---|---
|
| --- | --- |
|
||||||
1:1| 4096×4096
|
| 1:1 | 4096×4096 |
|
||||||
16:9| 5504×3072
|
| 16:9 | 5504×3072 |
|
||||||
9:16| 3072×5504
|
| 9:16 | 3072×5504 |
|
||||||
4:3| 4800×3584
|
| 4:3 | 4800×3584 |
|
||||||
3:4| 3584×4800
|
| 3:4 | 3584×4800 |
|
||||||
|
|
||||||
## 🖼️ 图生图支持格式
|
## 🖼️ 图生图支持格式
|
||||||
|
|
||||||
格式| 支持| 备注
|
| 格式 | 支持 | 备注 |
|
||||||
---|---|---
|
| --- | --- | --- |
|
||||||
JPG / JPEG| ✅| 推荐
|
| JPG / JPEG | ✅ | 推荐 |
|
||||||
PNG| ✅| 推荐
|
| PNG | ✅ | 推荐 |
|
||||||
WebP| ✅|
|
| WebP | ✅ | |
|
||||||
GIF| ✅| 仅使用第一帧
|
| GIF | ✅ | 仅使用第一帧 |
|
||||||
|
|
||||||
💡 建议
|
> 💡 **建议**
|
||||||
|
> 图片大小推荐小于 4MB,过大可能导致上传变慢或超时。
|
||||||
|
|
||||||
图片大小推荐 < 4MB,过大可能导致上传变慢或超时。
|
## ❓ 常见问题
|
||||||
|
|
||||||
## 常见问题
|
### 提示「未找到 API Key」?
|
||||||
|
|
||||||
### 提示 "未找到 API Key"?
|
|
||||||
|
|
||||||
运行交互式配置命令:
|
运行交互式配置命令:
|
||||||
|
|
||||||
bash
|
```bash
|
||||||
|
python ~/.claude/skills/oneimage/scripts/generate_oneinai.py --setup
|
||||||
|
```
|
||||||
python ~/.claude/skills/ikunimage/scripts/generate_ikun.py --setup
|
|
||||||
|
|
||||||
1
|
|
||||||
|
|
||||||
### 请求超时?
|
### 请求超时?
|
||||||
|
|
||||||
@ -309,4 +247,4 @@ bash
|
|||||||
|
|
||||||
### 更多问题
|
### 更多问题
|
||||||
|
|
||||||
请查看 [FAQ](</support/faq>) 或联系[售后支持](</support/after-sales>)。
|
请查看 [FAQ](/support/faq) 或联系[售后支持](/support/after-sales)。
|
||||||
|
|||||||
@ -17,13 +17,7 @@
|
|||||||
* 获取最新消息
|
* 获取最新消息
|
||||||
* 与其他用户交流
|
* 与其他用户交流
|
||||||
|
|
||||||
### QQ 群
|
|
||||||
|
|
||||||
* **QQ 群号** :请扫描下方二维码加入
|
|
||||||
|
|
||||||
### 扫码加群
|
|
||||||
|
|
||||||

|
|
||||||
|
|
||||||
## 服务时间
|
## 服务时间
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user