Comfy-Org/ComfyUI · error · NotImplementedError

Large files are not currently supported. Please open an issu

Error message

Large files are not currently supported. Please open an issue in the ComfyUI repository.

What it means

For Topaz video enhancement, the proxy's accept step (/proxy/topaz/video/{requestId}/accept, PATCH) normally returns one pre-signed PUT URL. If it returns more than one URL, the video requires multipart upload, which this node does not implement, so it raises NotImplementedError. It is a capability gap, not an input error.

Source

Thrown at comfy_api_nodes/nodes_topaz.py:781

                    audioTransfer="Copy",
                    dynamicCompressionLevel=dynamic_compression_level,
                ),
            ),
            wait_label="Creating task",
            final_label_on_success="Task created",
        )
        upload_res = await sync_op(
            cls,
            ApiEndpoint(
                path=f"/proxy/topaz/video/{initial_res.requestId}/accept",
                method="PATCH",
            ),
            response_model=VideoAcceptResponse,
            wait_label="Preparing upload",
            final_label_on_success="Upload started",
        )
        if len(upload_res.urls) > 1:
            raise NotImplementedError(
                "Large files are not currently supported. Please open an issue in the ComfyUI repository."
            )
        async with aiohttp.ClientSession(headers={"Content-Type": "video/mp4"}) as session:
            if isinstance(src_video_stream, BytesIO):
                src_video_stream.seek(0)
                async with session.put(upload_res.urls[0], data=src_video_stream, raise_for_status=True) as res:
                    upload_etag = res.headers["Etag"]
            else:
                with builtins.open(src_video_stream, "rb") as video_file:
                    async with session.put(upload_res.urls[0], data=video_file, raise_for_status=True) as res:
                        upload_etag = res.headers["Etag"]
        await sync_op(
            cls,
            ApiEndpoint(
                path=f"/proxy/topaz/video/{initial_res.requestId}/complete-upload",
                method="PATCH",
            ),
            response_model=VideoCompleteUploadResponse,

View on GitHub (pinned to 1c6d8d45b3)

Solutions

  1. Reduce the video size before the node: shorter clip, lower bitrate, or re-encode (the node validates MP4 container, so keep it MP4).
  2. Split the video into segments under the multipart threshold and enhance each segment, then rejoin.
  3. If you genuinely need large-file support, open an issue in the ComfyUI repository as the message suggests.
Defensive patterns

Strategy: validation

Validate before calling

MAX_BYTES = 900 * 1024 * 1024  # stay under the multipart threshold
size = video.get_stream_source().getbuffer().nbytes if isinstance(video.get_stream_source(), io.BytesIO) else os.path.getsize(video.get_stream_source())
if size > MAX_BYTES:
    raise ValueError("video too large for single-PUT Topaz upload; split or re-encode")

Prevention

When it happens

Trigger: Calling the video enhance flow with a video file large enough that the Topaz proxy negotiates a chunked/multipart upload and returns multiple urls in VideoAcceptResponse.

Common situations: Long or high-bitrate MP4s (typically multi-GB screen recordings or ProRes-grade files) fed straight from disk; users unaware of any size threshold since none is documented locally.

Related errors


AI-assisted analysis of Comfy-Org/ComfyUI@1c6d8d45b3 (2026-08-14). Data as JSON: /api/errors/df34c82016e2a439. Report an issue: GitHub.