diff --git a/.env.example b/.env.example index 734e036..b2f66c1 100644 --- a/.env.example +++ b/.env.example @@ -44,6 +44,7 @@ CREATE_IMAGE_MODEL=imagen-3.0-generate-002 UPLOAD_PROVIDER=smms SMMS_SECRET_TOKEN=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX PICGO_API_KEY=xxxx +PICGO_API_URL=https://www.picgo.net/api/1/upload CLOUDFLARE_IMGBED_URL=https://xxxxxxx.pages.dev/upload CLOUDFLARE_IMGBED_AUTH_CODE=xxxxxxxxx CLOUDFLARE_IMGBED_UPLOAD_FOLDER= diff --git a/README.md b/README.md index f9c087b..f076250 100644 --- a/README.md +++ b/README.md @@ -220,6 +220,7 @@ This endpoint is directly forwarded to official OpenAI Compatible API format end | `UPLOAD_PROVIDER` | Image upload provider: `smms`, `picgo`, `cloudflare_imgbed` | `smms` | | `SMMS_SECRET_TOKEN` | SM.MS API Token | `your-smms-token` | | `PICGO_API_KEY` | PicoGo API Key | `your-picogo-apikey` | +| `PICGO_API_URL` | PicoGo API Server URL | `https://www.picgo.net/api/1/upload` | | `CLOUDFLARE_IMGBED_URL` | CloudFlare ImgBed upload URL | `https://xxxxxxx.pages.dev/upload` | | `CLOUDFLARE_IMGBED_AUTH_CODE`| CloudFlare ImgBed auth key | `your-cloudflare-imgber-auth-code` | | `CLOUDFLARE_IMGBED_UPLOAD_FOLDER`| CloudFlare ImgBed upload folder | `""` | diff --git a/README_ZH.md b/README_ZH.md index b2c52f3..dfc0b34 100644 --- a/README_ZH.md +++ b/README_ZH.md @@ -220,6 +220,7 @@ app/ | `UPLOAD_PROVIDER` | 图片上传提供商: `smms`, `picgo`, `cloudflare_imgbed` | `smms` | | `SMMS_SECRET_TOKEN` | SM.MS图床的API Token | `your-smms-token` | | `PICGO_API_KEY` | [PicoGo](https://www.picgo.net/)图床的API Key | `your-picogo-apikey` | +| `PICGO_API_URL` | [PicoGo](https://www.picgo.net/)图床的API服务器地址 | `https://www.picgo.net/api/1/upload` | | `CLOUDFLARE_IMGBED_URL` | [CloudFlare](https://github.com/MarSeventh/CloudFlare-ImgBed) 图床上传地址 | `https://xxxxxxx.pages.dev/upload` | | `CLOUDFLARE_IMGBED_AUTH_CODE`| CloudFlare图床的鉴权key | `your-cloudflare-imgber-auth-code` | | `CLOUDFLARE_IMGBED_UPLOAD_FOLDER`| CloudFlare图床的上传文件夹路径 | `""` | diff --git a/app/config/config.py b/app/config/config.py index 18a8fef..1f41da1 100644 --- a/app/config/config.py +++ b/app/config/config.py @@ -94,6 +94,7 @@ class Settings(BaseSettings): UPLOAD_PROVIDER: str = "smms" SMMS_SECRET_TOKEN: str = "" PICGO_API_KEY: str = "" + PICGO_API_URL: str = "https://www.picgo.net/api/1/upload" CLOUDFLARE_IMGBED_URL: str = "" CLOUDFLARE_IMGBED_AUTH_CODE: str = "" CLOUDFLARE_IMGBED_UPLOAD_FOLDER: str = "" diff --git a/app/handler/response_handler.py b/app/handler/response_handler.py index 57a2932..80de990 100644 --- a/app/handler/response_handler.py +++ b/app/handler/response_handler.py @@ -293,7 +293,9 @@ def _extract_image_data(part: dict) -> str: ) elif settings.UPLOAD_PROVIDER == "picgo": image_uploader = ImageUploaderFactory.create( - provider=settings.UPLOAD_PROVIDER, api_key=settings.PICGO_API_KEY + provider=settings.UPLOAD_PROVIDER, + api_key=settings.PICGO_API_KEY, + api_url=settings.PICGO_API_URL ) elif settings.UPLOAD_PROVIDER == "cloudflare_imgbed": image_uploader = ImageUploaderFactory.create( diff --git a/app/service/image/image_create_service.py b/app/service/image/image_create_service.py index 7b676d7..8c6bd28 100644 --- a/app/service/image/image_create_service.py +++ b/app/service/image/image_create_service.py @@ -122,6 +122,7 @@ class ImageCreateService: image_uploader = ImageUploaderFactory.create( provider=settings.UPLOAD_PROVIDER, api_key=settings.PICGO_API_KEY, + api_url=settings.PICGO_API_URL, ) elif settings.UPLOAD_PROVIDER == "cloudflare_imgbed": image_uploader = ImageUploaderFactory.create( diff --git a/app/templates/config_editor.html b/app/templates/config_editor.html index 95cb86b..f1db0b3 100644 --- a/app/templates/config_editor.html +++ b/app/templates/config_editor.html @@ -1835,6 +1835,23 @@ endblock %} {% block head_extra_styles %} SM.MS图床的密钥 + +
+ + + PicGo服务器的API地址,默认为 https://www.picgo.net/api/1/upload +
+