# web.rest.polyHaven 库模块帮助文档

[Poly Haven 使用指南](https://www.aardio.com/zh-cn/docs/library/web/rest/polyHaven/index.html)

## web.rest.polyHaven 成员列表 <a id="web.rest.polyHaven" href="#web.rest.polyHaven">&#x23;</a>

Poly Haven 公共 API 与按需资产下载，继承 web.rest.jsonLiteClient。无 API key。界面显示内容来源 Poly Haven；正式应用请设置独立 userAgent。

### web.rest.polyHaven.buildPlan(资产ID,文件树,选项) <a id="web.rest.polyHaven.buildPlan" href="#web.rest.polyHaven.buildPlan">&#x23;</a>
无网络，生成并校验单个主文件及依赖的下载计划。与 planDownload 的选项相同。

### web.rest.polyHaven.selectFile(文件树,类型,分辨率,格式) <a id="web.rest.polyHaven.selectFile" href="#web.rest.polyHaven.selectFile">&#x23;</a>
无网络，返回精确文件叶节点。分辨率默认1k；类型默认自动hdri或blend，格式默认exr或类型本身。

### web.rest.polyHaven.verifyFile(文件路径,文件描述) <a id="web.rest.polyHaven.verifyFile" href="#web.rest.polyHaven.verifyFile">&#x23;</a>
检查大小与 MD5，文件描述含 size/md5。分块读取文件，无需把大文件加载入内存。返回 true 或 null,err。

### web.rest.polyHaven.version <a id="web.rest.polyHaven.version" href="#web.rest.polyHaven.version">&#x23;</a>
库版本。

## polyHavenClientObject 成员列表 <a id="polyHavenClientObject" href="#polyHavenClientObject">&#x23;</a>

[返回对象:webRestClientObject](https://www.aardio.com/zh-cn/docs/library-reference/web/rest/client.html#webRestClientObject)

### polyHavenClientObject.download() <a id="polyHavenClientObject.download" href="#polyHavenClientObject.download">&#x23;</a>
[返回对象:polyHavenReportObject](#polyHavenReportObject)

### polyHavenClientObject.download(计划,目标目录,选项) <a id="polyHavenClientObject.download" href="#polyHavenClientObject.download">&#x23;</a>
流式下载计划文件及 include，保留相对路径。选项 maxBytes（默认512MiB，0禁止下载）、overwrite（默认false）、onProgress。已存在文件须大小+MD5正确才复用；临时文件校验后改名。成功返回 report，失败 null,err,partialReport。

### polyHavenClientObject.downloadAsset() <a id="polyHavenClientObject.downloadAsset" href="#polyHavenClientObject.downloadAsset">&#x23;</a>
[返回对象:polyHavenReportObject](#polyHavenReportObject)

### polyHavenClientObject.downloadAsset(资产ID,目标目录,选项) <a id="polyHavenClientObject.downloadAsset" href="#polyHavenClientObject.downloadAsset">&#x23;</a>
planDownload + download。选项合并上述方法的选项。成功返回 report（含 mainFile）；不自动启动/导入 Blender。

### polyHavenClientObject.getAssets(筛选表) <a id="polyHavenClientObject.getAssets" href="#polyHavenClientObject.getAssets">&#x23;</a>
GET /assets。支持 type/category/categories/collection/vault 和 taxonomy 定义的属性。数组转逗号分隔字符串，不改参数。返回以资产 ID 为键的表；失败 null,err,code。

### polyHavenClientObject.getAuthor(作者ID) <a id="polyHavenClientObject.getAuthor" href="#polyHavenClientObject.getAuthor">&#x23;</a>
GET /author/{id}，自动编码作者 ID（可含空格）。

### polyHavenClientObject.getCategories(资产类型,分类数组或字符串) <a id="polyHavenClientObject.getCategories" href="#polyHavenClientObject.getCategories">&#x23;</a>
GET /categories/{type}，旧分类计数；默认 all 返回三种资产数。新应用优先 getTaxonomy。

### polyHavenClientObject.getFiles(资产ID) <a id="polyHavenClientObject.getFiles" href="#polyHavenClientObject.getFiles">&#x23;</a>
GET /files/{id}。返回 文件类型→分辨率→格式 的树；叶节点含 url、size、md5，部分含 include 相对路径依赖。

### polyHavenClientObject.getInfo(资产ID) <a id="polyHavenClientObject.getInfo" href="#polyHavenClientObject.getInfo">&#x23;</a>
GET /info/{id}。保留原始 JSON 字段；type：0 HDRI，1 材质，2 模型。

### polyHavenClientObject.getTaxonomy(资产类型) <a id="polyHavenClientObject.getTaxonomy" href="#polyHavenClientObject.getTaxonomy">&#x23;</a>
GET /taxonomy/{type}；省略参数则 GET /taxonomy。返回分类树和属性定义。

### polyHavenClientObject.getTypes() <a id="polyHavenClientObject.getTypes" href="#polyHavenClientObject.getTypes">&#x23;</a>
GET /types，返回 hdris、textures、models 数组。

### polyHavenClientObject.planDownload() <a id="polyHavenClientObject.planDownload" href="#polyHavenClientObject.planDownload">&#x23;</a>
[返回对象:polyHavenPlanObject](#polyHavenPlanObject)

### polyHavenClientObject.planDownload(资产ID,选项) <a id="polyHavenClientObject.planDownload" href="#polyHavenClientObject.planDownload">&#x23;</a>
只取文件清单，不下载。选项 kind/resolution/format；默认自动 HDRI/exr 或 blend/blend、1k。严格精确选取，不隐式换分辨率/格式。计划含 mainRelativePath/files/totalSize。

### polyHavenClientObject.search(搜索词,筛选表) <a id="polyHavenClientObject.search" href="#polyHavenClientObject.search">&#x23;</a>
GET /search。自动 trim/lower。筛选表支持 t/type、limit、min、future、hybrid。保留返回的排名顺序，不按 score 重排；不自动回退或重试。

## polyHavenPlanObject 成员列表 <a id="polyHavenPlanObject" href="#polyHavenPlanObject">&#x23;</a>

### polyHavenPlanObject.files <a id="polyHavenPlanObject.files" href="#polyHavenPlanObject.files">&#x23;</a>
文件数组，每项含 relativePath、url、size、md5。

### polyHavenPlanObject.mainRelativePath <a id="polyHavenPlanObject.mainRelativePath" href="#polyHavenPlanObject.mainRelativePath">&#x23;</a>
主文件相对路径。

### polyHavenPlanObject.totalSize <a id="polyHavenPlanObject.totalSize" href="#polyHavenPlanObject.totalSize">&#x23;</a>
主文件及所有依赖的总字节数。

## polyHavenReportObject 成员列表 <a id="polyHavenReportObject" href="#polyHavenReportObject">&#x23;</a>

### polyHavenReportObject.cached <a id="polyHavenReportObject.cached" href="#polyHavenReportObject.cached">&#x23;</a>
大小+MD5符合而复用的文件数。

### polyHavenReportObject.complete <a id="polyHavenReportObject.complete" href="#polyHavenReportObject.complete">&#x23;</a>
所有文件完成才为 true。失败的 partialReport 为 false。

### polyHavenReportObject.directory <a id="polyHavenReportObject.directory" href="#polyHavenReportObject.directory">&#x23;</a>
文件包根目录；整个目录一起移动才能保持相对贴图引用。

### polyHavenReportObject.downloaded <a id="polyHavenReportObject.downloaded" href="#polyHavenReportObject.downloaded">&#x23;</a>
实际下载文件数。

### polyHavenReportObject.files <a id="polyHavenReportObject.files" href="#polyHavenReportObject.files">&#x23;</a>
已校验的文件数组，每项包含绝对 path、relativePath、url、size、md5、可选 cached。

### polyHavenReportObject.mainFile <a id="polyHavenReportObject.mainFile" href="#polyHavenReportObject.mainFile">&#x23;</a>
主文件绝对路径，可作为 process.blender 的 args 参数传递。

### polyHavenReportObject.totalSize <a id="polyHavenReportObject.totalSize" href="#polyHavenReportObject.totalSize">&#x23;</a>
总计划大小（包含已缓存文件）。

## web.rest 成员列表 <a id="web.rest" href="#web.rest">&#x23;</a>

### web.rest.polyHaven() <a id="web.rest.polyHaven" href="#web.rest.polyHaven">&#x23;</a>
[返回对象:polyHavenClientObject](#polyHavenClientObject)

### web.rest.polyHaven(配置表) <a id="web.rest.polyHaven" href="#web.rest.polyHaven">&#x23;</a>
可选配置 userAgent、proxy、proxyBypass、httpFlags。默认节点 https://api.polyhaven.com。每个工作线程各建客户端；同步调用，勿在界面线程下载大文件。
