Spaces:
Paused
Paused
|
Download README.md from chinazz/layerd-api: direct link, hf CLI and curl.
- Browser
- Download file 2.52 kB
-
https://huggingface.co/spaces/chinazz/layerd-api/resolve/main/README.md
- Command line
-
hf download hf://spaces/chinazz/layerd-api/README.md
-
curl -L -o README.md https://huggingface.co/spaces/chinazz/layerd-api/resolve/main/README.md
2.52 kB
| title: LayerD API | |
| emoji: 👀 | |
| colorFrom: yellow | |
| colorTo: indigo | |
| sdk: gradio | |
| sdk_version: 5.44.1 | |
| python_version: '3.12' | |
| app_file: app.py | |
| pinned: false | |
| short_description: LayerD raster design decomposition API | |
| # LayerD API | |
| 这个 Space 调用 CyberAgent 官方 [LayerD](https://github.com/CyberAgentAILab/LayerD),把一张海报或设计图拆成可编辑图层,并同时导出 PSD 和自包含 SVG。 | |
| ## 使用方式 | |
| 在页面上传 PNG、JPG 或 WEBP 图片,等待 GPU 任务完成后分别下载两个结果: | |
| - `layerd-output.psd`:可在 Photoshop 等软件中继续编辑的分层文件。 | |
| - `layerd-output.svg`:内嵌图像数据的单文件 SVG,不依赖额外资源。 | |
| Space 的 Gradio API 名称是 `/process`,可以用 `gradio_client` 调用: | |
| ```python | |
| from gradio_client import Client, handle_file | |
| client = Client("chinazz/layerd-api") | |
| psd_file, svg_file = client.predict( | |
| handle_file("design.png"), | |
| api_name="/process", | |
| ) | |
| print(psd_file, svg_file) | |
| ``` | |
| 也可以先运行 `client.view_api()` 查看当前 Space 的 API 描述。 | |
| ## 部署说明 | |
| Space 使用 ZeroGPU。模型在模块加载阶段放到 `cuda`,推理函数使用 `@spaces.GPU(duration=120)`,并通过队列串行处理任务。首次启动会下载约 0.9 GB 的 BiRefNet 权重和约 200 MB 的 LaMa 权重;BiRefNet 加载到内存后占用约 1.7 GB,第一次启动或重启可能需要更长时间。 | |
| `requirements.txt` 固定了 LayerD 的已验证提交、`gradio==5.44.1` 和 `transformers==4.57.5`。Gradio 6.x 需要 `huggingface-hub>=1.x`,而 LayerD 使用的 BiRefNet 远程模型尚不兼容 Transformers 5.x,因此这组版本约束必须一起保留。 | |
| 默认资源边界如下,均可通过 Space 的 Variables 设置调整: | |
| | 变量 | 默认值 | 作用 | | |
| | --- | ---: | --- | | |
| | `LAYERD_MAX_SIDE` | `2048` | 输入图片最长边上限,超出会等比缩小 | | |
| | `LAYERD_MAX_PIXELS` | `4194304` | 输入像素数上限 | | |
| | `LAYERD_MATTING_SIZE` | `1024` | BiRefNet 推理尺寸 | | |
| | `LAYERD_MAX_ITERATIONS` | `3` | LayerD 最大分解轮数 | | |
| | `LAYERD_OUTPUT_TTL_SECONDS` | `7200` | 临时下载文件保留时间 | | |
| 本地仅用于调试时可以设置 `LAYERD_DEVICE=cpu`;在这个 ZeroGPU Space 中不要把默认设备改为 CPU。 | |
| ## 相关项目 | |
| - [LayerD 官方仓库](https://github.com/CyberAgentAILab/LayerD) | |
| - [LayerD BiRefNet 模型](https://huggingface.co/cyberagent/layerd-birefnet) | |
| - [ZeroGPU 文档](https://huggingface.co/docs/hub/spaces-zerogpu) | |