diff --git a/comfy/utils.py b/comfy/utils.py index 7b7faad3a..91e1ba3d3 100644 --- a/comfy/utils.py +++ b/comfy/utils.py @@ -1390,7 +1390,7 @@ def convert_old_quants(state_dict, model_prefix="", metadata={}): k_out = "{}.weight_scale".format(layer) if layer is not None: - layer_conf = {"format": "float8_e4m3fn"} # TODO: check if anyone did some non e4m3fn scaled checkpoints + layer_conf = {"format": "float8_e4m3fn"} if full_precision_matrix_mult: layer_conf["full_precision_matrix_mult"] = full_precision_matrix_mult layers[layer] = layer_conf diff --git a/openapi.yaml b/openapi.yaml index e667fd67e..346722055 100644 --- a/openapi.yaml +++ b/openapi.yaml @@ -74,6 +74,8 @@ tags: description: Cloud workflow management and versioning (cloud-only) - name: task description: Background task management (cloud-only) + - name: runtime-only + description: Operations served exclusively by the cloud runtime with no local equivalent paths: # --------------------------------------------------------------------------- @@ -2630,35 +2632,38 @@ paths: # --------------------------------------------------------------------------- /api/experiment/nodes: get: - operationId: listCloudNodes - tags: [node] - summary: List installed custom nodes - description: "[cloud-only] Returns the list of custom node packages installed in the cloud runtime." + operationId: getNodeInfoSchema + tags: [runtime-only] + summary: Get pre-rendered node info schema + description: "[cloud-only] Returns the static ComfyUI object_info schema, identical for every caller, rendered once at startup with empty model/user-file context. Served by a raw HTTP handler that writes pre-rendered bytes with ETag + Cache-Control validators for RFC 7232 conditional GETs." x-runtime: [cloud] parameters: - - name: limit - in: query + - name: If-None-Match + in: header + required: false schema: - type: integer - description: Maximum number of results - - name: offset - in: query - schema: - type: integer - description: Pagination offset + type: string + description: Entity tag previously returned by this endpoint. When present and matching, the server returns 304 Not Modified. responses: "200": - description: Custom node list + description: Node info schema + headers: + ETag: + schema: + type: string + description: Entity tag for conditional request validation + Cache-Control: + schema: + type: string + description: Cache directives for the response content: application/json: schema: - $ref: "#/components/schemas/CloudNodeList" - "401": - description: Unauthorized - content: - application/json: - schema: - $ref: "#/components/schemas/CloudError" + type: object + additionalProperties: + $ref: "#/components/schemas/NodeInfo" + "304": + description: Not Modified — returned when the client sends a matching If-None-Match header post: operationId: installCloudNode tags: [node] @@ -2708,10 +2713,10 @@ paths: /api/experiment/nodes/{id}: get: - operationId: getCloudNode - tags: [node] - summary: Get details of an installed custom node - description: "[cloud-only] Returns details about a specific installed custom node package." + operationId: getNodeByID + tags: [runtime-only] + summary: Get a single node definition by ID + description: "[cloud-only] Returns one node's definition from the pre-indexed object_info schema. Served by a raw HTTP handler that writes pre-rendered bytes with ETag + Cache-Control validators for RFC 7232 conditional GETs." x-runtime: [cloud] parameters: - name: id @@ -2719,26 +2724,33 @@ paths: required: true schema: type: string - description: Custom node package ID + description: Node class identifier + - name: If-None-Match + in: header + required: false + schema: + type: string + description: Entity tag previously returned by this endpoint. When present and matching, the server returns 304 Not Modified. responses: "200": - description: Node detail + description: Single node definition + headers: + ETag: + schema: + type: string + description: Entity tag for conditional request validation + Cache-Control: + schema: + type: string + description: Cache directives for the response content: application/json: schema: - $ref: "#/components/schemas/CloudNode" - "401": - description: Unauthorized - content: - application/json: - schema: - $ref: "#/components/schemas/CloudError" + $ref: "#/components/schemas/NodeInfo" + "304": + description: Not Modified — returned when the client sends a matching If-None-Match header "404": - description: Not found - content: - application/json: - schema: - $ref: "#/components/schemas/CloudError" + description: Node not found delete: operationId: uninstallCloudNode tags: [node] @@ -7157,22 +7169,6 @@ components: enabled: type: boolean - CloudNodeList: - type: object - x-runtime: [cloud] - description: "[cloud-only] Paginated list of installed custom node packages." - required: - - nodes - properties: - nodes: - type: array - items: - $ref: "#/components/schemas/CloudNode" - total: - type: integer - has_more: - type: boolean - HubLabel: type: object x-runtime: [cloud]