img-cli 0.1.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,47 @@
1
+ name: Publish to PyPI
2
+
3
+ on:
4
+ push:
5
+ tags:
6
+ - "v*"
7
+
8
+ jobs:
9
+ build-and-publish:
10
+ name: Build package and publish to PyPI
11
+ runs-on: ubuntu-latest
12
+ environment:
13
+ name: pypi
14
+ url: https://pypi.org/p/img-cli
15
+ permissions:
16
+ id-token: write # Required for PyPI Trusted Publishing (OIDC)
17
+ contents: read
18
+
19
+ steps:
20
+ - name: Checkout code
21
+ uses: actions/checkout@v4
22
+ with:
23
+ fetch-depth: 0 # Fetch all history and tags for hatch-vcs dynamic versioning
24
+
25
+ - name: Install uv
26
+ uses: astral-sh/setup-uv@v5
27
+ with:
28
+ enable-cache: true
29
+
30
+ - name: Set up Python
31
+ uses: actions/setup-python@v5
32
+ with:
33
+ python-version-file: "pyproject.toml"
34
+
35
+ - name: Run tests
36
+ run: |
37
+ uv run pytest -v
38
+
39
+ - name: Build package
40
+ run: |
41
+ uv build
42
+
43
+ - name: Publish to PyPI
44
+ uses: pypa/gh-action-pypi-publish@release/v1
45
+ with:
46
+ packages-dir: dist/
47
+ skip-existing: true
@@ -0,0 +1,64 @@
1
+ # Byte-compiled / optimized / DLL files
2
+ __pycache__/
3
+ *.py[cod]
4
+ *$py.class
5
+
6
+ # C extensions
7
+ *.so
8
+
9
+ # Distribution / packaging
10
+ .Python
11
+ build/
12
+ develop-eggs/
13
+ dist/
14
+ downloads/
15
+ eggs/
16
+ .eggs/
17
+ lib/
18
+ lib64/
19
+ parts/
20
+ sdist/
21
+ var/
22
+ wheels/
23
+ share/python-wheels/
24
+ *.egg-info/
25
+ .installed.cfg
26
+ *.egg
27
+ MANIFEST
28
+ src/img_cli/_version.py
29
+
30
+ # Virtual Environments
31
+ .venv/
32
+ env/
33
+ venv/
34
+ ENV/
35
+ env.bak/
36
+ venv.bak/
37
+
38
+ # Testing and coverage
39
+ .cache
40
+ .pytest_cache/
41
+ .coverage
42
+ .coverage.*
43
+ htmlcov/
44
+ nosetests.xml
45
+ coverage.xml
46
+ *.cover
47
+ *.py,cover
48
+ .hypothesis/
49
+
50
+ # IDE & Editor files
51
+ .idea/
52
+ .vscode/
53
+ *.swp
54
+ *.swo
55
+ *~
56
+
57
+ # Operating System files
58
+ .DS_Store
59
+ .DS_Store?
60
+ ._*
61
+ .Spotlight-V100
62
+ .Trashes
63
+ ehthumbs.db
64
+ Thumbs.db
img_cli-0.1.0/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 8DE4732A
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
img_cli-0.1.0/PKG-INFO ADDED
@@ -0,0 +1,139 @@
1
+ Metadata-Version: 2.5
2
+ Name: img-cli
3
+ Version: 0.1.0
4
+ Summary: CLI tool for OpenAI-compatible Image Generation and Editing
5
+ License-File: LICENSE
6
+ Requires-Python: >=3.10
7
+ Requires-Dist: click>=8.1.7
8
+ Requires-Dist: httpx>=0.27.0
9
+ Requires-Dist: openai>=1.50.0
10
+ Requires-Dist: pillow>=10.2.0
11
+ Requires-Dist: pydantic>=2.6.0
12
+ Requires-Dist: rich>=13.7.0
13
+ Description-Content-Type: text/markdown
14
+
15
+ # img-cli
16
+
17
+ 命令行图片生成与编辑工具,基于 Python + uv 开发,封装 OpenAI 兼容的 Images API(文生图 `generate` 与图生图编辑 `edit`)。
18
+
19
+ <p align="center">
20
+ <img src="assets/poster.png" alt="img-cli Poster" width="600" />
21
+ </p>
22
+
23
+ ---
24
+
25
+ ## 特性
26
+
27
+ - 🚀 **简单易用**:一行命令完成图片生成和图片编辑。
28
+ - 🔑 **灵活认证**:支持 `~/.img_gen/auth.json` 配置文件及环境变量。
29
+ - 📝 **审计日志**:自动在 `~/.img_gen/img.log` 记录每次请求详情(JSON Lines 格式)。
30
+ - 🖼️ **格式与尺寸自适应**:支持 PNG / JPEG / WEBP,自动进行 RGBA 蒙版和格式转换。
31
+ - 🌐 **网络与本地图片支持**:编辑模式下原图和蒙版均支持本地路径(含 `~`)及 HTTP/HTTPS URL。
32
+ - 🤖 **Agent 友好**:清晰的标准输出与结构化错误码,便于自动化工作流接入。
33
+
34
+ ---
35
+
36
+ ## 安装与环境准备
37
+
38
+ ### 通过 PyPI 安装
39
+
40
+ ```bash
41
+ # 使用 uv 工具安装(推荐)
42
+ uv tool install img-cli
43
+
44
+ # 或通过 pip 安装
45
+ pip install img-cli
46
+ ```
47
+
48
+ ### 本地开发与运行
49
+
50
+ ```bash
51
+ # 1. 运行测试 / 调试
52
+ uv run img-cli --help
53
+
54
+ # 2. 从源码安装 CLI
55
+ uv tool install .
56
+ ```
57
+
58
+ ---
59
+
60
+ ## 认证配置
61
+
62
+ 首次使用前,请创建配置文件 `~/.img_gen/auth.json`:
63
+
64
+ ```bash
65
+ mkdir -p ~/.img_gen
66
+ echo '{"api_key":"sk-xxx","api_base":"https://api.openai.com/v1"}' > ~/.img_gen/auth.json
67
+ ```
68
+
69
+ 也可通过环境变量传入:
70
+ - `OPENAI_API_KEY`(或 `IMG_GEN_API_KEY`)
71
+ - `OPENAI_BASE_URL`(或 `OPENAI_API_BASE` / `IMG_GEN_API_BASE`)
72
+
73
+ ---
74
+
75
+ ## 快速使用
76
+
77
+ ### 1. 文生图 (generate)
78
+
79
+ ```bash
80
+ # 基础生成(默认模型 gpt-image-2,保存至当前目录)
81
+ img-cli generate "一只戴墨镜的猫坐在沙滩上"
82
+
83
+ # 指定模型、尺寸与输出目录
84
+ img-cli generate "a futuristic city at sunset" -m dall-e-3 -s 1792x1024 -q hd -o ~/Desktop
85
+
86
+ # 指定输出格式为 JPEG
87
+ img-cli generate "产品白底宣传图,极简风格" -m gpt-image-1 -q high --format jpeg -o ./output
88
+ ```
89
+
90
+ ### 2. 图片编辑 (edit)
91
+
92
+ ```bash
93
+ # 本地图片全图编辑
94
+ img-cli edit "给猫戴上一顶红色圣诞帽" --image ./cat.png -o ./output
95
+
96
+ # 网络图片直接编辑
97
+ img-cli edit "替换背景为星空" --image https://example.com/photo.jpg -o ./output
98
+
99
+ # 带蒙版的局部编辑(蒙版透明区域为待修改区域)
100
+ img-cli edit "用一朵玫瑰替换这里" --image ./photo.png --mask ./mask.png -o ./output
101
+ ```
102
+
103
+ ---
104
+
105
+ ## 命令参数参考
106
+
107
+ ### `img-cli generate <prompt>`
108
+
109
+ | 参数 | 默认值 | 说明 |
110
+ |---|---|---|
111
+ | `prompt` | 必填 | 提示词(支持中文与英文) |
112
+ | `-m`, `--model` | `gpt-image-2` | 模型名称(如 `gpt-image-2`, `dall-e-3`, `gpt-image-1`) |
113
+ | `-s`, `--size` | `1024x1024` | 尺寸(如 `1024x1024`, `1536x1024`, `1024x1536`, `auto`) |
114
+ | `-q`, `--quality` | 无 | 质量(`low` / `medium` / `high` / `auto` / `standard` / `hd`) |
115
+ | `-n`, `--n` | `1` | 生成张数 |
116
+ | `-o`, `--output` | `.` | 图片输出目录 |
117
+ | `--format` | `png` | 输出格式:`png` / `jpeg` / `webp` |
118
+
119
+ ### `img-cli edit <prompt>`
120
+
121
+ | 参数 | 默认值 | 说明 |
122
+ |---|---|---|
123
+ | `prompt` | 必填 | 修改描述 |
124
+ | `-i`, `--image` | 必填 | 原图:本地路径或 HTTP/HTTPS URL |
125
+ | `--mask` | 无 | 蒙版:本地路径或 URL(PNG 透明区域待修改) |
126
+ | `-m`, `--model` | `gpt-image-2` | 模型名称 |
127
+ | `-s`, `--size` | `auto` | 尺寸 |
128
+ | `-q`, `--quality` | `auto` | 质量 |
129
+ | `-n`, `--n` | `1` | 生成张数 |
130
+ | `-o`, `--output` | `.` | 图片输出目录 |
131
+ | `--format` | `png` | 输出格式:`png` / `jpeg` / `webp` |
132
+
133
+ ---
134
+
135
+ ## 运行测试
136
+
137
+ ```bash
138
+ uv run pytest -v
139
+ ```
@@ -0,0 +1,125 @@
1
+ # img-cli
2
+
3
+ 命令行图片生成与编辑工具,基于 Python + uv 开发,封装 OpenAI 兼容的 Images API(文生图 `generate` 与图生图编辑 `edit`)。
4
+
5
+ <p align="center">
6
+ <img src="assets/poster.png" alt="img-cli Poster" width="600" />
7
+ </p>
8
+
9
+ ---
10
+
11
+ ## 特性
12
+
13
+ - 🚀 **简单易用**:一行命令完成图片生成和图片编辑。
14
+ - 🔑 **灵活认证**:支持 `~/.img_gen/auth.json` 配置文件及环境变量。
15
+ - 📝 **审计日志**:自动在 `~/.img_gen/img.log` 记录每次请求详情(JSON Lines 格式)。
16
+ - 🖼️ **格式与尺寸自适应**:支持 PNG / JPEG / WEBP,自动进行 RGBA 蒙版和格式转换。
17
+ - 🌐 **网络与本地图片支持**:编辑模式下原图和蒙版均支持本地路径(含 `~`)及 HTTP/HTTPS URL。
18
+ - 🤖 **Agent 友好**:清晰的标准输出与结构化错误码,便于自动化工作流接入。
19
+
20
+ ---
21
+
22
+ ## 安装与环境准备
23
+
24
+ ### 通过 PyPI 安装
25
+
26
+ ```bash
27
+ # 使用 uv 工具安装(推荐)
28
+ uv tool install img-cli
29
+
30
+ # 或通过 pip 安装
31
+ pip install img-cli
32
+ ```
33
+
34
+ ### 本地开发与运行
35
+
36
+ ```bash
37
+ # 1. 运行测试 / 调试
38
+ uv run img-cli --help
39
+
40
+ # 2. 从源码安装 CLI
41
+ uv tool install .
42
+ ```
43
+
44
+ ---
45
+
46
+ ## 认证配置
47
+
48
+ 首次使用前,请创建配置文件 `~/.img_gen/auth.json`:
49
+
50
+ ```bash
51
+ mkdir -p ~/.img_gen
52
+ echo '{"api_key":"sk-xxx","api_base":"https://api.openai.com/v1"}' > ~/.img_gen/auth.json
53
+ ```
54
+
55
+ 也可通过环境变量传入:
56
+ - `OPENAI_API_KEY`(或 `IMG_GEN_API_KEY`)
57
+ - `OPENAI_BASE_URL`(或 `OPENAI_API_BASE` / `IMG_GEN_API_BASE`)
58
+
59
+ ---
60
+
61
+ ## 快速使用
62
+
63
+ ### 1. 文生图 (generate)
64
+
65
+ ```bash
66
+ # 基础生成(默认模型 gpt-image-2,保存至当前目录)
67
+ img-cli generate "一只戴墨镜的猫坐在沙滩上"
68
+
69
+ # 指定模型、尺寸与输出目录
70
+ img-cli generate "a futuristic city at sunset" -m dall-e-3 -s 1792x1024 -q hd -o ~/Desktop
71
+
72
+ # 指定输出格式为 JPEG
73
+ img-cli generate "产品白底宣传图,极简风格" -m gpt-image-1 -q high --format jpeg -o ./output
74
+ ```
75
+
76
+ ### 2. 图片编辑 (edit)
77
+
78
+ ```bash
79
+ # 本地图片全图编辑
80
+ img-cli edit "给猫戴上一顶红色圣诞帽" --image ./cat.png -o ./output
81
+
82
+ # 网络图片直接编辑
83
+ img-cli edit "替换背景为星空" --image https://example.com/photo.jpg -o ./output
84
+
85
+ # 带蒙版的局部编辑(蒙版透明区域为待修改区域)
86
+ img-cli edit "用一朵玫瑰替换这里" --image ./photo.png --mask ./mask.png -o ./output
87
+ ```
88
+
89
+ ---
90
+
91
+ ## 命令参数参考
92
+
93
+ ### `img-cli generate <prompt>`
94
+
95
+ | 参数 | 默认值 | 说明 |
96
+ |---|---|---|
97
+ | `prompt` | 必填 | 提示词(支持中文与英文) |
98
+ | `-m`, `--model` | `gpt-image-2` | 模型名称(如 `gpt-image-2`, `dall-e-3`, `gpt-image-1`) |
99
+ | `-s`, `--size` | `1024x1024` | 尺寸(如 `1024x1024`, `1536x1024`, `1024x1536`, `auto`) |
100
+ | `-q`, `--quality` | 无 | 质量(`low` / `medium` / `high` / `auto` / `standard` / `hd`) |
101
+ | `-n`, `--n` | `1` | 生成张数 |
102
+ | `-o`, `--output` | `.` | 图片输出目录 |
103
+ | `--format` | `png` | 输出格式:`png` / `jpeg` / `webp` |
104
+
105
+ ### `img-cli edit <prompt>`
106
+
107
+ | 参数 | 默认值 | 说明 |
108
+ |---|---|---|
109
+ | `prompt` | 必填 | 修改描述 |
110
+ | `-i`, `--image` | 必填 | 原图:本地路径或 HTTP/HTTPS URL |
111
+ | `--mask` | 无 | 蒙版:本地路径或 URL(PNG 透明区域待修改) |
112
+ | `-m`, `--model` | `gpt-image-2` | 模型名称 |
113
+ | `-s`, `--size` | `auto` | 尺寸 |
114
+ | `-q`, `--quality` | `auto` | 质量 |
115
+ | `-n`, `--n` | `1` | 生成张数 |
116
+ | `-o`, `--output` | `.` | 图片输出目录 |
117
+ | `--format` | `png` | 输出格式:`png` / `jpeg` / `webp` |
118
+
119
+ ---
120
+
121
+ ## 运行测试
122
+
123
+ ```bash
124
+ uv run pytest -v
125
+ ```
Binary file
@@ -0,0 +1,58 @@
1
+ [project]
2
+ name = "img-cli"
3
+ dynamic = ["version"]
4
+ description = "CLI tool for OpenAI-compatible Image Generation and Editing"
5
+ readme = "README.md"
6
+ requires-python = ">=3.10"
7
+ dependencies = [
8
+ "click>=8.1.7",
9
+ "httpx>=0.27.0",
10
+ "openai>=1.50.0",
11
+ "pillow>=10.2.0",
12
+ "rich>=13.7.0",
13
+ "pydantic>=2.6.0",
14
+ ]
15
+
16
+ [project.scripts]
17
+ img-cli = "img_cli.cli:main"
18
+
19
+ [build-system]
20
+ requires = ["hatchling", "hatch-vcs"]
21
+ build-backend = "hatchling.build"
22
+
23
+ [tool.hatch.version]
24
+ source = "vcs"
25
+
26
+ [tool.hatch.build.hooks.vcs]
27
+ version-file = "src/img_cli/_version.py"
28
+
29
+ [dependency-groups]
30
+ dev = [
31
+ "pytest>=8.0.0",
32
+ "pytest-mock>=3.14.0",
33
+ "respx>=0.21.0",
34
+ "ruff>=0.9.0",
35
+ ]
36
+
37
+ [tool.ruff]
38
+ line-length = 100
39
+ target-version = "py310"
40
+
41
+ [tool.ruff.lint]
42
+ select = [
43
+ "E", # pycodestyle errors
44
+ "W", # pycodestyle warnings
45
+ "F", # pyflakes
46
+ "I", # isort
47
+ "UP", # pyupgrade
48
+ "B", # flake8-bugbear
49
+ "C4", # flake8-comprehensions
50
+ "RUF", # ruff-specific rules
51
+ ]
52
+ ignore = [
53
+ "E501", # line too long (handled by formatter)
54
+ "B008", # do not perform function calls in argument defaults (click options)
55
+ "RUF001", # ambiguous unicode characters in Chinese strings
56
+ "RUF002", # ambiguous unicode characters in docstrings
57
+ "RUF003", # ambiguous unicode characters in comments
58
+ ]
@@ -0,0 +1,173 @@
1
+ ---
2
+ name: img-cli
3
+ description: 当用户需要生成图片、创建图片、用文字描述画图、修改图片、编辑图片、给图片加元素、替换图片背景时使用本技能,包括"生成图片"、"画一张"、"文生图"、"改图"、"编辑图片"、"img-cli"、"image generation"、"image edit"等请求。
4
+ allowed-tools:
5
+ - Bash(img-cli generate *)
6
+ - Bash(img-cli edit *)
7
+ ---
8
+
9
+ # 图片生成与编辑(img-cli)
10
+
11
+ 通过 `img-cli` 调用 OpenAI Images API 生成或编辑图片。
12
+
13
+ ## 安装说明
14
+
15
+ 使用 `uv`(推荐)或 `pip` 进行安装:
16
+
17
+ ```bash
18
+ # 使用 uv 工具安装(推荐)
19
+ uv tool install img-cli
20
+
21
+ # 或通过 pip 安装
22
+ pip install img-cli
23
+ ```
24
+
25
+ > **认证说明:** 所有命令需要 `~/.img_gen/auth.json` 中配置 `api_key` 和 `api_base`。
26
+ > 若报错"未找到认证文件",请创建该文件:
27
+ > ```bash
28
+ > mkdir -p ~/.img_gen
29
+ > echo '{"api_key":"sk-xxx","api_base":"https://api.openai.com/v1"}' > ~/.img_gen/auth.json
30
+ > ```
31
+
32
+ ---
33
+
34
+ ## 命令总览
35
+
36
+ | 命令 | 说明 |
37
+ |---|---|
38
+ | `img-cli generate <prompt>` | 文字描述生成图片 |
39
+ | `img-cli edit <prompt>` | 根据描述修改已有图片 |
40
+
41
+ ---
42
+
43
+ ## 命令参考
44
+
45
+ ### `img-cli generate`
46
+
47
+ 根据文字描述生成图片。
48
+
49
+ ```bash
50
+ img-cli generate <prompt> [OPTIONS]
51
+ ```
52
+
53
+ | 参数 | 默认值 | 说明 |
54
+ |---|---|---|
55
+ | `prompt` | 必填 | 图片描述,支持中文和英文 |
56
+ | `--model` / `-m` | `gpt-image-2` | 模型(目前仅支持 `gpt-image-2`) |
57
+ | `--size` / `-s` | `1024x1024` | 尺寸,见下方支持列表 |
58
+ | `--quality` / `-q` | 无 | 质量,见下方支持列表 |
59
+ | `--n` / `-n` | `1` | 生成数量(`dall-e-3` 固定为 1) |
60
+ | `--output` / `-o` | `.`(当前目录) | 输出目录 |
61
+ | `--format` | `png` | 输出格式:`png` / `jpeg` / `webp`(仅 `gpt-image-1` 有效) |
62
+
63
+ **gpt-image-2 支持的尺寸:** `1024x1024` / `1536x1024` / `1024x1536` / `auto`
64
+
65
+ **gpt-image-2 支持的 quality:** `low` / `medium` / `high` / `auto`
66
+
67
+ **示例:**
68
+
69
+ ```bash
70
+ # 使用默认模型(dall-e-3)生成
71
+ img-cli generate "一只戴墨镜的猫坐在沙滩上" --output ~/Desktop
72
+
73
+ # 生成横版高清图
74
+ img-cli generate "a futuristic city at sunset" -m dall-e-3 -s 1792x1024 -q hd -o ~/Desktop
75
+
76
+ # 使用 gpt-image-1 生成高质量图片
77
+ img-cli generate "产品白底宣传图,简洁风格" -m gpt-image-1 -q high -o ~/Desktop
78
+ ```
79
+
80
+ ---
81
+
82
+ ### `img-cli edit`
83
+
84
+ 根据文字描述修改已有图片。支持本地文件路径和网络图片 URL。
85
+
86
+ ```bash
87
+ img-cli edit <prompt> --image <路径或URL> [OPTIONS]
88
+ ```
89
+
90
+ | 参数 | 默认值 | 说明 |
91
+ |---|---|---|
92
+ | `prompt` | 必填 | 修改描述 |
93
+ | `--image` / `-i` | 必填 | 原图:本地文件路径或 HTTP URL |
94
+ | `--mask` | 无 | 蒙版图(PNG,透明区域为待编辑区域):本地路径或 URL |
95
+ | `--model` / `-m` | `gpt-image-2` | 模型(目前仅支持 `gpt-image-2`) |
96
+ | `--size` / `-s` | `auto` | 尺寸 |
97
+ | `--quality` / `-q` | `auto` | 质量(仅 `gpt-image-1`) |
98
+ | `--n` / `-n` | `1` | 生成数量 |
99
+ | `--output` / `-o` | `.`(当前目录) | 输出目录 |
100
+ | `--format` | `png` | 输出格式(仅 `gpt-image-1`) |
101
+
102
+ **关于蒙版(mask):**
103
+ - 蒙版为 PNG 格式,尺寸必须与原图相同
104
+ - **透明区域(alpha=0)** = 需要编辑的区域
105
+ - **不透明区域** = 保持原样的区域
106
+ - 不传 mask 时,模型自动判断需要修改的区域
107
+
108
+ **示例:**
109
+
110
+ ```bash
111
+ # 修改本地图片(全图编辑)
112
+ img-cli edit "给猫戴上一顶帽子" --image ~/Desktop/cat.png --output ~/Desktop
113
+
114
+ # 修改网络图片
115
+ img-cli edit "替换背景为星空" --image https://example.com/photo.jpg -o ~/Desktop
116
+
117
+ # 带蒙版的精确编辑(只修改透明区域)
118
+ img-cli edit "用一朵玫瑰替换这里" --image ~/photo.png --mask ~/mask.png -o ~/Desktop
119
+
120
+ # 使用 dall-e-2 编辑(低成本场景)
121
+ img-cli edit "remove the background" --image ~/item.png -m dall-e-2 -o ~/Desktop
122
+ ```
123
+
124
+ ---
125
+
126
+ ## 标准使用流程
127
+
128
+ ### 场景一:文字生成图片
129
+
130
+ ```bash
131
+ # 1. 直接生成,保存到当前目录
132
+ img-cli generate "一只在雪地里奔跑的柴犬,卡通风格"
133
+
134
+ # 2. 指定输出目录和更高质量
135
+ img-cli generate "一只在雪地里奔跑的柴犬,卡通风格" -q hd -o ~/Desktop/output
136
+ ```
137
+
138
+ ### 场景二:修改已有图片
139
+
140
+ ```bash
141
+ # 1. 先确认图片路径可访问
142
+ ls ~/Desktop/photo.png # 本地文件
143
+
144
+ # 2. 执行编辑
145
+ img-cli edit "将背景替换为办公室环境" --image ~/Desktop/photo.png -o ~/Desktop/output
146
+ ```
147
+
148
+ ### 场景三:网络图片直接编辑
149
+
150
+ ```bash
151
+ # 直接传入图片 URL,无需手动下载
152
+ img-cli edit "添加一个太阳" --image https://example.com/landscape.jpg -o ~/Desktop
153
+ ```
154
+
155
+ ---
156
+
157
+ ## 输出说明
158
+
159
+ - 生成的图片保存到 `--output` 指定目录,文件名格式为 `img_<时间戳>_<序号>.<格式>`
160
+ - 每次调用在 `~/.img_gen/img.log` 写入审计记录(JSON Lines 格式)
161
+ - `dall-e-3` 会输出 **修订后的 prompt**(模型对原始描述的优化版本)
162
+ - 输出耗时可能较长比如3-4分钟
163
+
164
+ ---
165
+
166
+ ## 常见问题
167
+
168
+ | 问题 | 原因 | 解决方式 |
169
+ |---|---|---|
170
+ | "未找到认证文件" | `~/.img_gen/auth.json` 不存在 | 按提示创建配置文件 |
171
+ | `dall-e-3` 只能生成 1 张 | API 限制,`n` 固定为 1 | 多次执行命令 |
172
+ | 图片 URL 下载超时 | 网络问题或 URL 失效 | 先手动下载为本地文件再使用 |
173
+ | "invalid size" 错误 | 尺寸与模型不匹配 | 参考上方模型能力对比表 |
@@ -0,0 +1,13 @@
1
+ """img-cli: CLI tool for OpenAI-compatible Image Generation and Editing."""
2
+
3
+ try:
4
+ from img_cli._version import __version__, __version_tuple__
5
+ except ImportError:
6
+ try:
7
+ from importlib.metadata import version
8
+
9
+ __version__ = version("img-cli")
10
+ __version_tuple__ = (0, 0, 0)
11
+ except Exception:
12
+ __version__ = "0.0.0.dev0"
13
+ __version_tuple__ = (0, 0, 0, "dev0")
@@ -0,0 +1,24 @@
1
+ # file generated by vcs-versioning
2
+ # don't change, don't track in version control
3
+ from __future__ import annotations
4
+
5
+ __all__ = [
6
+ "__version__",
7
+ "__version_tuple__",
8
+ "version",
9
+ "version_tuple",
10
+ "__commit_id__",
11
+ "commit_id",
12
+ ]
13
+
14
+ version: str
15
+ __version__: str
16
+ __version_tuple__: tuple[int | str, ...]
17
+ version_tuple: tuple[int | str, ...]
18
+ commit_id: str | None
19
+ __commit_id__: str | None
20
+
21
+ __version__ = version = '0.1.0'
22
+ __version_tuple__ = version_tuple = (0, 1, 0)
23
+
24
+ __commit_id__ = commit_id = None