Nodes/Cloud Offload/Cloud Partition Output
ComfyUI Node

Cloud Partition Output

The node that packs your cloud box's results for the trip home

By jethac·Created 2 months ago·Updated 7 days ago· 0
Cloud Partition Output
  • value
    boundary_key
    output_path
    type_name

    Every round trip needs a packing step, and this is the Cloud Offload pack's. Cloud Partition Output is the runner-side output node that takes a boxed subgraph's result, writes it into a typed boundary bundle, and makes it available for your local graph to pull back. It's the mirror of CloudPartitionInput, hidden and dev-only, and - like its sibling - it executes on the rented runner, never on your machine.

    What it's for

    A partition compiles into a hidden gateway and extract nodes locally, plus a remote workflow containing your original nodes with input/output bridges. CloudPartitionOutput is that output bridge: one per boundary output, standing in for where the boxed results used to connect. After the remote ComfyUI finishes, these nodes write the results so the coordinator can hand them back to the extract nodes on your side.

    Inputs

    • value - type *, whatever the boxed subgraph produced (an IMAGE, LATENT, tensor, string, mesh - whatever).
    • boundary_key - the named output this bundle represents.
    • output_path - where the bundle gets written, inside COMFY_PARTITION_ROOT; bundles are written with a .part extension while in progress.
    • type_name - the boundary type, validated first.

    No outputs. It's an output node; it reports through UI metadata (comfy_partition_artifacts) listing the boundary key and written path rather than returning values on wires.

    How it works

    The node validates the type, then serializes the value into a comfy.partition.bundle.v1 ZIP: a manifest describing the recursive value tree, tensors stored on CPU in a safetensors file (no pickle), and byte/file leaves under blobs/. Artifact identity is the SHA-256 digest of the complete bundle. And "safe" in the display description is doing real work: the protocol rejects unknown schemas, unsafe ZIP names, duplicate members, undeclared members, oversized manifests, excessive nesting, and unsupported runtime values. It's deliberately strict, because a corrupt boundary bundle would turn a paid remote run into a garbage local result.

    Install and gotchas

    Same install as the whole pack - ComfyUI Manager (search "Cloud Offload") or clone into custom_nodes, restart, and run the coordinator separately:

    python -m cloud_offload serve --host 127.0.0.1
    

    Deps are minimal (requests, safetensors) with torch/numpy/Pillow from the host. The COMFY_PARTITION_ROOT requirement applies here too - the node refuses to write outside it. And the standing rule for all four bridge nodes: is_dev_only means you never place them. Find one in a saved workflow and you're looking at the box's return address, not a node to rewire.

    CategoryCloud Offload/Internal

    Inputs (4)

    NameTypeDefaultDescription
    value*
    boundary_keySTRING
    output_pathSTRING
    type_nameSTRING

    Outputs (0)

    No outputs