CC OpenAI Responses
The one node in this pack that costs you money
- output_text
- raw_json
- usage_json
Every other node in Auto-Card-Generator is local math or string wrangling. This one is the exception, and it's worth saying plainly: CC OpenAI Responses is the only node in the pack that calls an API, needs a key, and bills you per run. It's the GPT that turns your script into a per-segment Kling plan, and it sits in the middle of the reference workflows like a payphone.
What it does
It POSTs your system_prompt and user_prompt to OpenAI's Responses API and hands back the answer as a string the rest of the pipeline can parse. Under the hood it's a plain HTTP call - no SDK, no local model, no VRAM. That's the whole deal.
The settings that matter
model- defaults togpt-5.4, which was the current flagship when this pack shipped (early 2026). By mid-2026gpt-5.6was out, and since this is just a string you can type any model name you want. The list is a suggestion, not a cage.reasoning_effort-minimal,low,medium, orhigh(defaulthigh). This maps to the API'sreasoning.effortand it's the biggest cost lever in the node. A storyboard pass doesn't need max deliberation; trymediumand watch the bill drop.max_output_tokens- 3500 default, 256–16000 range. The plan JSON with six segments fits comfortably under the default.timeout_seconds- 180 default. If the model is slow, the request fails with a timeout error; bump it rather than assuming the node is broken.
Then the key handling, because this is where beginners get stuck: you can paste an API key into the optional api_key input, or set the OPENAI_API_KEY environment variable and leave the input empty. Miss both and the node raises ValueError: Missing OpenAI API key. There's no free tier and no fallback - this node does not run locally, full stop.
base_url is the escape hatch. It defaults to https://api.openai.com/v1/responses, and because the node is just an HTTP client, you can point it at any Responses-compatible endpoint - a proxy, a reseller, or an OpenAI-compatible gateway. Same shape, different billing.
Outputs
output_text- the model's answer. Wire this intoCC Kling Plan Parser.raw_json- the full API response, useful for debugging.usage_json- token counts. Check this after a few runs; it's the only visibility you get into where the money goes.
Troubleshooting
Failures here are loud, which is a mercy. Missing key → ValueError. Bad key or out of credits → a RuntimeError with the HTTP status and the API's error body pasted in - read it, it'll say insufficient_quota or invalid_api_key. Network trouble → a generic request-failed error.
One practice worth adopting, straight from the pack's own README: keep the key out of the workflow JSON. It's trivially easy to put a key in a node input and then share that workflow - and a leaked key is a bill you'll pay for. Environment variable or Comfy Cloud's Secrets, not the file. A node that phones home with your credential is exactly the shape of thing worth being paranoid about (the KB's security essay on API-wrapper nodes makes the full case); this one is MIT-licensed and tiny enough to read in a minute if you're the skeptical type.
Installing it
This node ships in the Auto-Card-Generator pack by mircudx - a small MIT-licensed bundle of script-to-Kling pipeline nodes with zero pip dependencies and no model downloads. Two ways in: ComfyUI Manager → Install Custom Nodes → search "Auto-Card-Generator", or:
cd ComfyUI/custom_nodes
git clone https://github.com/mircudx/Auto-Card-Generator
Restart ComfyUI and it shows up under "Card Creator/LLM". If you import one of the bundled workflows and get missing-node errors, use the *_local_safe_compat.json variant - it's trimmed for bare local installs. The reference workflows also expect a separate Kling custom-node pack (KlingStartEndFrameNode) to be installed; this pack provides the planning logic around it, not the Kling API calls themselves.
Inputs (9)
| Name | Type | Default | Description |
|---|---|---|---|
| user_prompt | STRING | — | |
| system_prompt | STRING | — | |
| model | COMBO | gpt-5.4 | 4 options: gpt-5.4, gpt-5, gpt-5-mini, gpt-5-nano |
| reasoning_effort | COMBO | high | 4 options: minimal, low, medium, high |
| max_output_tokens | INT | 3500256–16000 | — |
| timeout_seconds | INT | 18010–600 | — |
| api_keyopt | STRING | — | |
| base_urlopt | STRING | https://api.openai.com/v1/responses | — |
| metadata_tagopt | STRING | — |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| output_text | STRING | — |
| raw_json | STRING | — |
| usage_json | STRING | — |