ComfyUI/comfy_api_nodes
Jedrzej Kosinski c899ea4ef7 feat(api-nodes): plumb auth_headers, base_url, error_parser, rate_limit_label through sync_op/poll_op
- Add auth_headers/base_url passthrough so RNP and other clients can override
  the default Comfy auth + base URL on a per-request basis without a node_cls.
- Add _parse_retry_after helper that honors RFC 7231 Retry-After (seconds or
  HTTP-date), feeding the existing 429 / SERVER_BUSY / MAINTENANCE backoff.
- Add rate_limit_label callback so callers can render a friendlier per-second
  status (e.g. 'Server busy, retrying in 30s...') during a rate-limit sleep;
  the in-flight monitor task is paused so the two writers don't race.
- Add error_parser callback so structured protocol errors (e.g. RNP
  RnpProtocolError) bubble unchanged instead of being flattened by
  _friendly_http_message; typed errors are also re-raised from poll_op_raw.
- Add allow_304 path returning None on conditional GETs.
- Allow node_cls=None for non-workflow callers; _display_text becomes a no-op.
- _diagnose_connectivity / ApiServerError respect the resolved base_url.

Amp-Thread-ID: https://ampcode.com/threads/T-019e1889-d8bd-732f-8170-b85fd94da503
Co-authored-by: Amp <amp@ampcode.com>
2026-05-11 12:37:10 -07:00
..
apis [Partner Nodes] new ByteDanceSeedreamNodeV2 node with DynamicCombo and autogrow (#13811) 2026-05-11 02:53:00 -07:00
util feat(api-nodes): plumb auth_headers, base_url, error_parser, rate_limit_label through sync_op/poll_op 2026-05-11 12:37:10 -07:00
__init__.py [API nodes] Add backbone for supporting api nodes in ComfyUI (#7745) 2025-04-23 02:18:08 -04:00
nodes_bfl.py [Partner Nodes] new Flux2ImageNode and GrokImageEditNodeV2 nodes with DynamicCombo and Autogrow (#13814) 2026-05-11 01:37:15 -07:00
nodes_bria.py feat(api-nodes): add Bria RMBG nodes (#12465) 2026-02-15 17:22:30 -08:00
nodes_bytedance.py [Partner Nodes] new ByteDanceSeedreamNodeV2 node with DynamicCombo and autogrow (#13811) 2026-05-11 02:53:00 -07:00
nodes_elevenlabs.py [API Nodes] add ElevenLabs nodes (#12207) 2026-02-19 22:12:28 -08:00
nodes_gemini.py [Partner Nodes] new NanoBanana2 node with DynamicCombo/Autogrow (#13753) 2026-05-07 12:19:44 -07:00
nodes_grok.py [Partner Nodes] new Flux2ImageNode and GrokImageEditNodeV2 nodes with DynamicCombo and Autogrow (#13814) 2026-05-11 01:37:15 -07:00
nodes_hitpaw.py chore(api-nodes): increase default timeout for partner API node tasks (#13663) 2026-05-01 12:48:41 -07:00
nodes_hunyuan3d.py fix(api-nodes): make "obj" output optional in Hunyuan3D Text and Image to 3D (#13449) 2026-04-18 01:31:37 +08:00
nodes_ideogram.py feat: mark 429 widgets as advanced for collapsible UI (#12197) 2026-02-19 19:20:02 -08:00
nodes_kling.py fix(api-nodes): fixed price badge for Kling V3 model in the Motion Control node (#13790) 2026-05-07 11:55:09 -07:00
nodes_ltxv.py feat: mark 429 widgets as advanced for collapsible UI (#12197) 2026-02-19 19:20:02 -08:00
nodes_luma.py feat(api-nodes): add Luma UNI-1 models (#13614) 2026-05-05 16:49:07 +03:00
nodes_magnific.py chore(api-nodes): increase default timeout for partner API node tasks (#13663) 2026-05-01 12:48:41 -07:00
nodes_meshy.py feat: mark 429 widgets as advanced for collapsible UI (#12197) 2026-02-19 19:20:02 -08:00
nodes_minimax.py chore(api-nodes): remove non-used; extract model to separate files (#11927) 2026-01-17 18:52:45 -08:00
nodes_openai.py [Partner Nodes] new OpenAI Image node with DynamicCombo and Autogrow (#13838) 2026-05-11 06:19:35 -07:00
nodes_pixverse.py chore(api-nodes): remove non-used; extract model to separate files (#11927) 2026-01-17 18:52:45 -08:00
nodes_quiver.py feat(api-nodes): add new "arrow-1.1" and "arrow-1.1-max" SVG models (#13447) 2026-04-17 12:02:06 -05:00
nodes_recraft.py feat: add essentials_category to nodes and blueprints for Essentials tab (#12573) 2026-03-15 16:18:04 -07:00
nodes_reve.py fix(api-nodes): made Reve node price badges more precise (#13154) 2026-03-25 11:05:49 -07:00
nodes_rodin.py feat: mark 429 widgets as advanced for collapsible UI (#12197) 2026-02-19 19:20:02 -08:00
nodes_runway.py chore(api-nodes): remove non-used; extract model to separate files (#11927) 2026-01-17 18:52:45 -08:00
nodes_sonilo.py [Partner Nodes] add Sonilo Audio nodes (#13391) 2026-04-13 22:21:01 -07:00
nodes_sora.py chore: Update display names and categories (CORE-151) (#13693) 2026-05-04 17:37:25 -07:00
nodes_stability.py fix(api-nodes): corrected StabilityAI price badges (#13454) 2026-04-17 11:44:08 -05:00
nodes_topaz.py [Partner Nodes] Topaz Astra 2 model (#13672) 2026-05-02 19:29:00 -07:00
nodes_tripo.py [Partner Nodes] Tripo3D 3.1 model (#13788) 2026-05-08 21:38:17 -07:00
nodes_veo2.py fix(veo): reject 4K resolution for veo-3.0 models in Veo3VideoGenerationNode (#13504) 2026-04-21 22:31:36 -07:00
nodes_vidu.py chore(api-nodes): increase default timeout for partner API node tasks (#13663) 2026-05-01 12:48:41 -07:00
nodes_wan.py chore(api-nodes): increase default timeout for partner API node tasks (#13663) 2026-05-01 12:48:41 -07:00
nodes_wavespeed.py chore(api-nodes): increase default timeout for partner API node tasks (#13663) 2026-05-01 12:48:41 -07:00