Nodes/MKRShift_Nodes/Addon Endpoint Submit
ComfyUI Node

Addon Endpoint Submit

The node that actually POSTs your job to the addon

By criskb·Created 7 months ago·Updated 5 months ago· 0
Addon Endpoint Submit
    • response_json
    • job_id
    • summary_json
    endpoint_plan_json{}
    payload_json{}

    Where Addon Endpoint Plan is the paperwork, Addon Endpoint Submit is the handshake. It's the runtime node in the MKRShift addon lane that actually makes the HTTP call: give it an endpoint_plan_json (from the Plan node) and an optional payload, and it POSTs to your addon's submit endpoint, reads the job_id out of the response, and hands it back to you. From there the job runs on the host's side - a render in After Effects, a document operation in Photoshop, a scene bake in Blender - and you poll for the result.

    This is the node that makes the pack's DCC story real, and it's worth knowing the boundaries. ComfyUI's own API is a web API (the community has been driving it from scripts and other apps since day one); this pack's addons flip that direction - your host app runs a small HTTP endpoint and ComfyUI drives it. Submit is the "go" signal in that arrangement.

    How it works

    The node reads the plan JSON for base_url, submit_path, timeout_ms, and the auth settings, then POSTs the payload. The plan's auth_mode is applied automatically - bearer or custom-header auth gets attached before the request goes out, so you don't juggle headers by hand. If you pass a payload_json, it's used as the request body; if you leave it empty, the node falls back to a resolved payload built from the plan. The response is parsed as JSON, and the job_id field is pulled out and returned as its own STRING output - that ID is the handle you'll feed to the Poll node.

    The outputs tell you everything you need:

    • response_json - the raw server response as text
    • job_id - the extracted ID, wired straight into MKRAddonEndpointPoll
    • summary_json - URL used, HTTP status, job ID, and a warning count

    Installation

    cd ComfyUI/custom_nodes
    git clone https://github.com/criskb/MKRShift_Nodes
    

    Restart ComfyUI, or install via ComfyUI Manager ("MKRShift Nodes"). Pure stdlib HTTP here - no pip requirements, nothing to configure beyond the plan.

    Common issues

    Three things trip people up. First, the endpoint has to actually exist - if you haven't installed the matching addon in your host app (the pack ships per-app scaffolds under addons/), you'll get a connection error and an empty job_id, and no amount of ComfyUI-side tweaking fixes it. Check the host first. Second, a valid response with no job_id field: the node returns an empty string, which downstream will quietly poll forever - so verify the response shape once with a curl before wiring the whole chain. And third, timeouts: the default is 30 seconds, which is plenty for a submit handshake but tight if your host blocks on a long render before acknowledging. If your server waits to respond until the job is done, bump timeout_ms in the Plan node. And the standing rule from the ecosystem docs applies here too - don't point this at an unauthenticated ComfyUI across the network; the plan's auth fields are your friend.

    CategoryMKRShift Nodes/Addons/Network

    Inputs (2)

    NameTypeDefaultDescription
    endpoint_plan_jsonSTRING{}
    payload_jsonoptSTRING{}

    Outputs (3)

    NameTypeDescription
    response_jsonSTRING
    job_idSTRING
    summary_jsonSTRING