mirror of
https://github.com/rookiestar28/ComfyUI-OpenClaw.git
synced 2026-08-14 08:52:45 +00:00
5.5 KiB
5.5 KiB
ComfyUI Asset API Adoption Decision (2026-04-16)
2026-07-10 reference anchor update
- Current reference anchor is ComfyUI
1377a2f7(v0.27.0-47-g1377a2f7, pyproject0.27.0). - SaveImage output sockets, 3D preview refs, typed asset dimensions, grouped asset downloads, and optional
hash/asset_hashaliases do not change the no-go decision. - ComfyUI asset hashing is host-side opt-in through
--enable-asset-hashing, so normal filename-backed output refs must not require hash metadata. - Current host asset metadata may expose
loader_path; model uploads requiremodel_type:<folder_name>tags, and/features.supports_model_type_tagsadvertises that contract. OpenClaw does not upload through or directly consume/api/assets, so these facts do not change the no-go decision. - OpenClaw continues to use
/history+/view; asset-service-only refs stay explicitasset_api_requiredstates.
2026-06-12 reconfirmation
- Current output parsing is media-aware for ComfyUI result groups
images,video,audio,3d, and boundedtext. - File-like media refs still use
/viewwhen they providefilename, or optional hash-backed preview metadata when the host provides it. - HDR
.exr/.hdrimage refs stay on the/viewsource-preview contract but render as explicit fallback links because OpenClaw does not embed the host HDR viewer. - Text output previews are bounded and rendered as text, not HTML.
- Asset-service-only identifiers remain explicit fallback states and still do not trigger automatic direct
/api/assetsfetches.
2026-05-31 reconfirmation
- Current host reference evidence shows upstream asset responses may expose optional
hashalongsideasset_hash. - OpenClaw accepts
hashas an alias for hash-backed previews when present, but still resolves those refs through/view?filename=blake3:.... - This does not change the no-go decision for automatic direct
/api/assetsruntime fetches.
Scope
- Goal: decide whether OpenClaw should adopt upstream
/api/assetssemantics as a normal runtime dependency beyond the bounded/viewinteroperability layer.
Current baseline
- Current history/output-facing interop already accepts:
- classic ComfyUI output refs (
filename,subfolder,type) - optional asset-hash-backed refs that still resolve through
/view?filename=blake3:...when host metadata is present - media-aware output groups (
images,video,audio,3d, and boundedtext) - HDR
.exr/.hdrimage refs as explicit/viewsource-preview fallback links, not normal thumbnails
- classic ComfyUI output refs (
- Current ComfyUI
1377a2f7/v0.27.0-47-g1377a2f7/ pyproject0.27.0reference facts:/api/assets*routes exist, but operational use is feature-gated behind--enable-assets- content hashing is opt-in through
--enable-asset-hashing, so normal filename-backed refs may omitasset_hash/hash /featuresexposes theassetscapability flag so hosts can report whether the asset system is enabled- frontend preview still resolves
blake3:...asset hashes through/view, so hash-backed outputs do not require a direct/api/assetsfetch - asset responses may expose optional
hashalongsideasset_hash; OpenClaw treats both as hash-backed preview aliases when present - asset metadata may expose
loader_path; model uploads requiremodel_type:<folder_name>tags, advertised by/features.supports_model_type_tags
- Current operator/runtime surfaces in scope:
- sidebar
Jobs - callback delivery payloads
- history/result consumption paths derived from
services.comfyui_history
- sidebar
- Current non-goal:
- no gallery/explorer/runtime flow currently requires direct
/api/assetsfetches to stay functional.
- no gallery/explorer/runtime flow currently requires direct
Decision
- No-go for first-class
/api/assetsruntime adoption in phase 2. - OpenClaw keeps
/history+/viewas the supported runtime contract for normal output handling. - Asset-api-only identifiers are treated as explicit unsupported contracts rather than implicit fetch targets.
Rationale
- Current OpenClaw output surfaces still succeed on the existing bounded
/viewcontract, including optional asset-hash-backed refs when metadata exists. - Adding
/api/assetsas a normal dependency would widen runtime coupling to upstream host behavior without a demonstrated operator need in current features. - A silent fallback from
asset id onlyto/api/assetswould weaken boundary clarity and make host drift harder to reason about.
Approved phase-2 seam
- Preserve current supported refs exactly:
- classic refs ->
/view?filename=...&type=... - optional asset-hash-backed refs ->
/view?filename=blake3:...when metadata exists - file-like media refs ->
/viewfallback/link surfaces when preview metadata is present - HDR
.exr/.hdrimage refs -> explicit source-preview fallback links - bounded text refs -> escaped text surfaces, not HTML
- classic refs ->
- For refs that expose only asset-service identifiers and are not representable through
/view:- keep them in normalized output payloads
- mark them as
asset_api_required - do not auto-fetch
/api/assets - surface a bounded operator-facing message where relevant
Re-open triggers
Revisit this decision only if one of the following becomes true:
- A current operator-facing surface cannot complete its supported workflow without direct
/api/assetssemantics. - Upstream ComfyUI stops providing
/view-compatible output metadata for supported runtime flows. - OpenClaw intentionally adds a new asset-management feature whose documented contract depends on asset-service metadata beyond hash-backed preview resolution.