ไธๅไธๅพๅ็ๆ API ไธญ่ฝฌๆๅก - ไธไธชๆฅๅฃ๏ผๅคๆธ ้ๅพๅ็ๆ
# 1. ๅคๅถ้
็ฝฎๆไปถๆจกๆฟ
cp config.example.json config.json
# 2. ็ผ่พ้
็ฝฎๆไปถ๏ผๅกซๅ
ฅไฝ ็ API Keys
# ไฟฎๆน config.json ไธญ็ไปฅไธๅญๆฎต๏ผ
# - server.url: ไฝ ็ๆๅกๅจ่ฎฟ้ฎๅฐๅ๏ผๅฆ http://10.8.2.26:8080๏ผ
# - apiKeys.volcengine: ็ซๅฑฑๅผๆ API Key
# - apiKeys.gitee: Gitee AI API Key
# - apiKeys.modelscope: ModelScope API Key
# 3. ๅฏๅจๆๅก
deno task start
# 4. ่ฎฟ้ฎ Web ็้ข
ๆต่งๅจๆๅผ้
็ฝฎๆไปถไธญ็ server.url ๅฐๅ็ปไธ็ซฏๅฃ๏ผ
- ๐ 8080 - Web ็้ข + API ๆฅๅฃ๏ผ็ปไธ็ซฏๅฃ๏ผ
่ฏฆ็ปๅฏๅจๆๅ่ฏทๆฅ็ QUICKSTART.md
- ๆบ่ฝ่ทฏ็ฑ - ๆ นๆฎๆจกๅๅ็งฐ่ชๅจ่ฏๅซๅนถๅๅๅฐๅฏนๅบๆธ ้
- ไธๆธ ้ๆฏๆ - ็ซๅฑฑๅผๆใGitee (ๆจกๅๆน่)ใModelScope (้ญๅก)
- JSON ้ ็ฝฎ - ไฝฟ็จ config.json ็ปไธ็ฎก็ๆๆ้ ็ฝฎๅ API Keys
- OpenAI ๅ
ผๅฎน - ๅฎๅ
จๅ
ผๅฎน
/v1/chat/completionsๆฅๅฃๆ ผๅผ - ๆตๅผๅๅบ - ๆฏๆ SSE ๆตๅผ่พๅบ
- ๅพ็ๅ่ - ๆฏๆไธไผ ๅ่ๅพ็่ฟ่กๅพ็ๅพ
- Docker ้จ็ฝฒ - ๅผ็ฎฑๅณ็จ็ๅฎนๅจๅ้จ็ฝฒๆนๆก
- ่ฏฆ็ปๆฅๅฟ - ๅฎๆด็่ฏทๆฑ/ๅๅบๆฅๅฟ่ฎฐๅฝ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ ๅฎขๆท็ซฏ่ฏทๆฑ โ
โ POST /v1/chat/completions โ
โ Authorization: Bearer <ACCESS_TOKEN> โ
โโโโโโโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ
โผ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ ๆจกๅๅ็งฐ่ทฏ็ฑๅจ โ
โ โโโโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโ โ
โ โ doubao-seedream โ z-image-turbo โ Tongyi-MAI/... โ โ
โ โ โ VolcEngine โ โ Gitee/HF โ โ ModelScope โ โ
โ โโโโโโโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโโโโ โ
โโโโโโโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ
โโโโโโโโโโโโโผโโโโโโโโโโโโฌโโโโโโโโโโโโ
โผ โผ โผ โผ
โโโโโโโโโโโโ โโโโโโโโโโโโ โโโโโโโโโโโโ โโโโโโโโโโโโ
โVolcEngineโ โ Gitee โ โModelScopeโ โHuggingFacโ
โ (็ซๅฑฑ) โ โ(ๆจกๅๆน่)โ โ (้ญๅก) โ โ (ๆฑ่ธ) โ
โ API Key โ โ API Key โ โ API Key โ โ API Key โ
โโโโโโโโโโโโ โโโโโโโโโโโโ โโโโโโโโโโโโ โโโโโโโโโโโโ
git clone https://github.com/lianwusuoai/img-router.git
cd img-router
# ้
็ฝฎ็ฏๅขๅ้
cat > .env <<EOF
ACCESS_TOKEN=your-secret-token-here
VOLCENGINE_API_KEY=your-volcengine-api-key
GITEE_API_KEY=your-gitee-api-key
MODELSCOPE_API_KEY=your-modelscope-api-key
EOF
docker-compose up -ddocker build -t img-router .
docker run -d --name img-router -p 8080:8080 img-router# ๅฎ่ฃ
Deno
# Windows: irm https://deno.land/install.ps1 | iex
# macOS/Linux: curl -fsSL https://deno.land/install.sh | sh
# ้
็ฝฎ็ฏๅขๅ้
export ACCESS_TOKEN=your-secret-token-here
export VOLCENGINE_API_KEY=your-volcengine-api-key
export GITEE_API_KEY=your-gitee-api-key
export MODELSCOPE_API_KEY=your-modelscope-api-key
# ๅผๅๆจกๅผ
deno task dev
# ็ไบงๆจกๅผ
deno task startๆณจๆ๏ผๅฎขๆท็ซฏๆ ้ๆไพๅๆธ ้็็ๅฎ API Keyใ็ณป็ปไผๆ นๆฎ model ๅๆฐ่ชๅจ้ๆฉๅฏนๅบๆธ ้ใ
curl -X POST http://localhost:10001/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{
"model": "doubao-seedream-4-0-250828",
"messages": [{"role": "user", "content": "ไธๅชๅฏ็ฑ็็ซๅช"}],
"size": "1024x1024"
}'curl -X POST http://localhost:10001/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{
"model": "doubao-seedream-4-0-250828",
"messages": [{
"role": "user",
"content": [
{"type": "text", "text": "่ฝฌๆขไธบๆฐดๅฝฉ็ป้ฃๆ ผ"},
{"type": "image_url", "image_url": {"url": "https://example.com/image.jpg"}}
]
}]
}'curl -X POST http://localhost:10001/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{
"model": "doubao-seedream-4-0-250828",
"messages": [{"role": "user", "content": "็พไธฝ็้ฃๆฏ"}],
"stream": true
}'| ๆธ ้ | ๆจกๅๅ็งฐ | ่ฏดๆ |
|---|---|---|
| ็ซๅฑฑๅผๆ | doubao-seedream-4-0-250828 |
่ฑๅ ็ๅพ 4.0๏ผ้ป่ฎค๏ผ |
| ็ซๅฑฑๅผๆ | doubao-seedream-4-5-251128 |
่ฑๅ ็ๅพ 4.5 |
| Gitee | z-image-turbo |
Z-Image Turbo |
| ModelScope | Tongyi-MAI/Z-Image-Turbo |
้ไนไธ็ธ |
็ณป็ปๆ นๆฎ model ๅๆฐ่ชๅจ่ทฏ็ฑๅฐๅฏนๅบๆธ ้ใๅฆๆไธๆๅฎ model ๆๆๅฎไบๆช็ฅๆจกๅ๏ผ้ป่ฎคไฝฟ็จGiteeๅผๆใ
ImgRouter ๅ ็ฝฎไบไธไธช็ฑป ChatGPT ้ฃๆ ผ็ Web ็้ข๏ผๅฏๅจๆๅกๅๅฏ็ดๆฅ่ฎฟ้ฎใ
ๅฏๅจๆๅกๅ๏ผWeb ็้ขไผ่ชๅจๅจ 8080 ็ซฏๅฃๅฏๅจ๏ผ
# ๅฏๅจๆๅก
deno task start
# ่ฎฟ้ฎ Web ็้ข
ๆต่งๅจ่ฎฟ้ฎ: http://localhost:8080ไธคไธช็ซฏๅฃ่ฏดๆ๏ผ
- 8080 ็ซฏๅฃ - Web ็้ข+APIๆๅก๏ผไพๆต่งๅจ+็จๅบ่ฎฟ้ฎ๏ผ
- ๐จ ๆจกๅ้ๆฉ - ้กถ้จไธๆๆกๅๆขไธๅๆธ ้็ๆจกๅ
- ๐ฌ ๅฏน่ฏๅผไบคไบ - ็ฑปไผผ ChatGPT ็่ๅคฉ็้ข
- ๐ผ๏ธ ๅฎๆถ้ข่ง - ็ๆ็ๅพ็็ดๆฅๆพ็คบๅจๅฏน่ฏไธญ
- โ๏ธ ้ ็ฝฎ็ฎก็ - ๅฏ่ชๅฎไน API ๅฐๅๅ่ฎฟ้ฎไปค็
- ๐ฑ ๅๅบๅผ่ฎพ่ฎก - ๆฏๆ็งปๅจ็ซฏๅๆก้ข็ซฏ
- ่ฎฟ้ฎ http://localhost:8080
- ้ๆฉๆจกๅๅนถ่พๅ ฅๆ็คบ่ฏๅผๅง็ๆ
| ๅ้ | ่ฏดๆ | ๅฟ ้ | ้ป่ฎคๅผ |
|---|---|---|---|
VOLCENGINE_API_KEY |
็ซๅฑฑๅผๆ API Key | ๅฆ | - |
GITEE_API_KEY |
Gitee API Key | ๅฆ | - |
MODELSCOPE_API_KEY |
ModelScope API Key | ๅฆ | - |
PORT |
็ๅฌ็ซฏๅฃ | ๅฆ | 8080 |
LOG_LEVEL |
ๆฅๅฟ็บงๅซ (DEBUG/INFO/WARN/ERROR) | ๅฆ | INFO |
่ฏดๆ๏ผ
- ๅๆธ ้ API Key ๆ้้ ็ฝฎ๏ผๅช้้ ็ฝฎไฝ ่ฆไฝฟ็จ็ๆธ ้
- ๅฆๆๆไธชๆธ ้็ API Key ๆช้ ็ฝฎ๏ผ่ฎฟ้ฎ่ฏฅๆธ ้ๆถไผ่ฟๅ้่ฏฏ
| ๆธ ้ | ้ป่ฎคๆจกๅ |
|---|---|
| ็ซๅฑฑๅผๆ | doubao-seedream-4-0-250828 |
| Gitee | z-image-turbo |
| ModelScope | Tongyi-MAI/Z-Image-Turbo |
ๅจ docker-compose.yml ไธญๆทปๅ ็ฏๅขๅ้๏ผ
services:
img-router:
image: img-router:latest
ports:
- "8080:8080"
environment:
- VOLCENGINE_API_KEY=your-volcengine-api-key
- GITEE_API_KEY=your-gitee-api-key
- MODELSCOPE_API_KEY=your-modelscope-api-key
- LOG_LEVEL=INFOๆไฝฟ็จ .env ๆไปถ๏ผๆจ่๏ผ๏ผ
# .env
VOLCENGINE_API_KEY=your-volcengine-api-key
GITEE_API_KEY=your-gitee-api-key
MODELSCOPE_API_KEY=your-modelscope-api-key{
"id": "chatcmpl-xxx",
"object": "chat.completion",
"created": 1734323445,
"model": "doubao-seedream-4-0-250828",
"choices": [{
"index": 0,
"message": {
"role": "assistant",
"content": ""
},
"finish_reason": "stop"
}]
}{
"error": {
"message": "API Error: ...",
"type": "server_error",
"provider": "VolcEngine"
}
}deno fmt # ๆ ผๅผๅไปฃ็
deno lint # ไปฃ็ ๆฃๆฅ
deno check main.ts # ็ฑปๅๆฃๆฅMIT License
ๆฌข่ฟๆไบค Issue ๅ Pull Request๏ผ