Files
Van/攻城狮鹿鸣君 4cfe6c4e40 prepare a verifiable first Registry release
Establish the immutable mediahub-cloud identity, public documentation, branding, contribution contract, CI, guarded publishing workflow, and a live-smoke regression fix before the first public release.

Constraint: Registry versions and node IDs are immutable after publication

Rejected: Automatic publish on pyproject.toml changes | too easy to publish an unverified immutable version

Confidence: high

Scope-risk: moderate

Directive: Run paid provider-family live verification before triggering the manual Registry workflow

Tested: 221 pytest tests; JavaScript syntax; Python compilation; workflow JSON validation; restarted ComfyUI smoke; clean editable install; comfy node validate; comfy node pack inspection

Not-tested: Paid live API calls for every advertised provider family
2026-06-13 22:34:55 +08:00

2.6 KiB

Contributing to ComfyUI MediaHub

Thank you for helping MediaHub connect more useful generative-media APIs to ComfyUI. Contributions from people and coding agents are welcome.

Before You Start

  • Open or reference a GitHub issue for substantial new providers or operations.
  • Read AGENTS.md, docs/CURRENT_STATE.md, docs/DEVELOPMENT.md, and docs/AGENT_EXECUTION_PROTOCOL.md.
  • Use current official provider documentation. Do not infer regional products, authentication, models, or payloads from similar APIs.
  • Never commit API keys, publishing tokens, generated output, or private data.

Architecture Requirements

  • Put provider implementations under mediahub/providers/<provider>/.
  • Provider packages must not import ComfyUI, sibling providers, or sibling media-family modules.
  • Keep provider-specific fields in provider config nodes.
  • Reuse provider-neutral execution nodes and stable request/job contracts.
  • Keep image, video, and future media families independent.
  • Do not add extra_params.
  • Do not add provider-name branches to generic services.
  • Prefer existing patterns and small, reviewable changes over new frameworks.

Provider Evidence

Save dated official API evidence under docs/providers/<provider>/. Record:

  • Endpoint and region
  • Authentication
  • Models and operations
  • Parameters, defaults, constraints, and accepted values
  • HTTP and provider-level errors
  • Response schemas and task states
  • Media URL lifetime and download requirements
  • Any behavior confirmed only through a live probe

Required Deliverables

Every completed provider/operation path needs:

  • Provider implementation and registration
  • Provider config node
  • Payload, validation, provider-error, and node-contract tests
  • User-facing workflow under examples/
  • Deterministic API fixture under tests/fixtures/
  • Updated documentation and verification evidence

Verification

.venv/bin/python -m pytest -q
node --check js/mediahub.js
.venv/bin/python -m compileall -q .
for file in examples/*.json tests/fixtures/*.json; do
  .venv/bin/python -m json.tool "$file" >/dev/null
done

After Python node-schema changes, restart ComfyUI and run:

.venv/bin/python scripts/smoke_comfyui.py

Run paid live tests only through explicit live-test commands with authorized credentials. Redact all keys and sensitive data from evidence.

Pull Requests

Describe:

  • The provider and operations added or changed
  • Official documentation used
  • Architectural decisions and rejected alternatives
  • Tests and live verification performed
  • Known limitations and unverified boundaries

Keep unrelated refactors and generated files out of the pull request.