layerd-api / README.md
chinazz's picture
fix: stabilize LayerD Space deployment
017676c verified
|
Raw History Blame Contribute Delete
2.52 kB

A newer version of the Gradio SDK is available: 6.30.0

Upgrade
metadata
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,把一张海报或设计图拆成可编辑图层,并同时导出 PSD 和自包含 SVG。

使用方式

在页面上传 PNG、JPG 或 WEBP 图片,等待 GPU 任务完成后分别下载两个结果:

  • layerd-output.psd:可在 Photoshop 等软件中继续编辑的分层文件。
  • layerd-output.svg:内嵌图像数据的单文件 SVG,不依赖额外资源。

Space 的 Gradio API 名称是 /process,可以用 gradio_client 调用:

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。

相关项目