Nodes/ComfyUI-MiniMaxH3-Studio/H3 Provider Transparency
ComfyUI Node

H3 Provider Transparency

A provider node that never calls a provider — H3 Provider Transparency

By rookiestar28·Created 2 months ago·Updated a day ago· 79
H3 Provider Transparency
    • transparency
    • consent_notice
    • disclosure
    • provider_setup
    ◄providermanual►
    ◄privacy_modelocal_only►
    ◄offlinetrue►
    ◄network_allowedfalse►
    ◄upload_consentfalse►
    ◄credential_referencenone►
    ◄fallback_providernone►
    ◄local_backendnone►

    The name is a slight lie, and it's the good kind: H3 Provider Transparency never contacts a provider. It has no HTTP client, no key, no retry logic. You give it a written-down decision about where your prompt and media are allowed to go, and it hands back a plain-English disclosure plus a typed setup object the rest of the pack can consume. Its own execution boundary is literally policy_only.

    That sounds pointless until you remember what API-shaped nodes in ComfyUI actually look like. The KB's API-wrapper doc makes the point bluntly: a node whose entire job is to phone home with your credential is the one place where exfiltration doesn't look wrong - the pack category got weaponized once already with ComfyUI_LLMVISION. This node is the opposite move. It's a receipt for a decision you made, printed before anything happens.

    What it does with your seven fields

    Everything in the required block is a deliberate declaration, and nothing is inferred from context:

    • provider - manual, local, remote_custom or official_minimax. Default manual.
    • privacy_mode - local_only or explicit_remote. Default local_only.
    • offline / network_allowed / upload_consent - three booleans, all false by default.
    • credential_reference - an opaque runtime handle, default none.
    • fallback_provider - none, or one of the provider identities that differs from the one you chose. Default none.
    • local_backend (optional) - none, comfyui_native or ollama.

    The combinations matter more than the individual fields, and the node enforces them. manual only pairs with local_backend: none. local pairs with comfyui_native or ollama - and picking ollama is how the disclosure tells you a loopback process boundary is involved, i.e. another process on your own machine gets the frames. The two remote identities only pair with none. Get it wrong and the node refuses with provider transparency controls are invalid rather than quietly guessing a route.

    One gotcha worth knowing before you spend ten minutes staring at it: the credential reference is validated as a bounded identifier, and a list of secret-looking substrings is rejected outright - api_key, token, secret, password, authorization, path, url, signed. So api_key_1 fails validation. Use something like creative-session-1. And the disclosure text itself is checked for URLs, bearer tokens and even a stray /, so it can never leak an address back out through the socket.

    The four outputs, and where they actually go

    transparency (H3_PROVIDER_TRANSPARENCY), consent_notice (H3_PROVIDER_CONSENT), disclosure (a STRING) and provider_setup (H3_PROVIDER_SETUP).

    The first three are for you or a UI - disclosure is a sentence naming network requirement, upload requirement, credential runtime-only, retention, cost and execution_allowed=yes/no, plus the fallback sentence ("Fallback is caller-selected only and never automatic" or "never automatic"). If your declared policy doesn't add up - say a remote identity with offline: true, network_allowed: false and upload_consent: false - you don't get an exception, you get execution_allowed=no with the reason attached. That's the honest way to use it: point at the thing that's blocked and see why.

    The one output with a real wire is provider_setup, which feeds the required provider_setup input on H3 Semantic Proposal Producer. That's the node that would actually talk to a local Ollama profile, and it refuses to run without a declared setup. So in practice: Provider Transparency is the policy half, Semantic Proposal Producer is the execution half, and the pack keeps them in separate nodes on purpose - a typed object that carries consent can't be smuggled in as a bare boolean.

    Install it

    The pack isn't in the Comfy Registry yet, so Manager search may not find it. Manual install:

    cd ComfyUI/custom_nodes
    git clone https://github.com/rookiestar28/ComfyUI-MiniMaxH3-Studio.git
    

    Restart ComfyUI. Keep both the root __init__.py and the comfyui_h3_context/ folder - a partial copy is the usual reason the nodes don't show. Install pulls no models and no Python packages (the pack declares zero runtime dependencies), and Provider Transparency works with no H3 weights at all, since it never generates anything. Look for it under Add Node → h3_context → providers.

    When it fights you

    Validation errors here are all policy errors, not crashes, so read the code in the exception: provider transparency controls are invalid means a bad provider/backend pair or an illegal credential reference - not a broken install. Remember fallback_provider must differ from provider; setting both to official_minimax is rejected. And don't expect disclosure to be short - it's a deliberately boring compliance sentence, and the node's own docs note it never starts, retries or cancels anything. If you want the execution side of this guarantee, that's the reliability node, not this one.

    Categoryh3_context/providers

    Inputs (8)

    NameTypeDefaultDescription
    providerCOMBOmanualExplicit provider identity; no route is inferred.
    privacy_modeCOMBOlocal_onlyExplicit local-only or remote privacy decision.
    offlineBOOLEANtrueKeep the selected route offline when true.
    network_allowedBOOLEANfalseExplicitly permit the selected provider's network path.
    upload_consentBOOLEANfalseExplicitly consent to remote media transfer.
    credential_referenceSTRINGnoneOpaque runtime reference only; never returned in disclosure.
    fallback_providerCOMBOnoneOptional caller-selected fallback metadata; never automatic.
    local_backendoptCOMBOnoneLocal defaults to preferred comfyui_native; Ollama is explicit and uses a disclosed loopback process boundary.

    Outputs (4)

    NameTypeDescription
    transparencyH3_PROVIDER_TRANSPARENCY—
    consent_noticeH3_PROVIDER_CONSENT—
    disclosureSTRING—
    provider_setupH3_PROVIDER_SETUP—