ComfyUI Node
arkennemasis Codex LLM (ChatGPT login)
Text + vision from the GPT-5 family using your ChatGPT/Codex login instead of an API key. Run `codex login` first. Multiple accounts: set codex_home per account.
arkennemasis Codex LLM (ChatGPT login)
- image_1
- image_2
- image_3
- image_4
- text
- account
◄prompt►
◄system_instructions►
◄batch_keys►
◄model▾►
◄model_override►
◄reasoning_effort▾►
◄json_onlyfalse►
◄codex_home►
◄allow_refreshtrue►
◄timeout_seconds600►
◄force_rerunfalse►
◄run_mode▾►
◄max_concurrent2►
◄batch_total0►
◄batch_size5►
◄speed▾►
Categoryarkennemasis/LLM
Inputs (20)
| Name | Type | Default | Description |
|---|---|---|---|
| prompt | STRING | — | |
| system_instructionsopt | STRING | The role/rules for the model. Wire the 'System Instructions' node here, or type it directly. | |
| image_1opt | IMAGE | Optional image to look at. Can be a batch. | |
| batch_keysopt | STRING | Optional JSON array of the item keys being asked for. When supplied, batching slices by these keys instead of by scene number, each batch names the exact keys it must return, and the numbering is NOT re-stamped — so the caller can match results by key rather than by position. | |
| image_2opt | IMAGE | — | |
| image_3opt | IMAGE | — | |
| image_4opt | IMAGE | — | |
| modelopt | COMBO | Smartest first. Availability depends on your ChatGPT plan; if one is refused, try the next. | |
| model_overrideopt | STRING | Raw model id, used INSTEAD of the dropdown when not blank. For models newer than this node. | |
| reasoning_effortopt | COMBO | How hard the model thinks before answering. Levels above 'high' are what the Codex CLI itself uses on this machine - 'ultra' is its workhorse, 'xhigh' and 'max' are rarer. Use 'ultra' for story planning, where one call decides the quality of everything downstream. 'default' omits the field entirely. | |
| json_onlyopt | BOOLEAN | false | Demand bare JSON and strip any ``` fences from the answer. Turn on when a downstream node parses the text. |
| codex_homeopt | STRING | Folder holding auth.json. Blank = CODEX_HOME, else ~/.codex. Give each ChatGPT account its own folder and point here to switch account. | |
| allow_refreshopt | BOOLEAN | true | Refresh an expired token and save it back. Off = fail instead of writing to auth.json. |
| timeout_secondsopt | INT | 6000–86400 | 0 = wait indefinitely. Planning a long scene list with high effort can take minutes. |
| force_rerunopt | BOOLEAN | false | Call again even if inputs are unchanged. |
| run_modeopt | COMBO | ComfyUI runs async nodes concurrently. 'one at a time' serialises every arkennemasis API node in the graph. | |
| max_concurrentopt | INT | 20–32 | Only used when run_mode is 'all at once': how many arkennemasis API calls may be in flight together. 0 = no cap. |
| batch_totalopt | INT | 00–500 | How many items the answer must contain in total (scene count). 0 = ask for everything in one call, the old behaviour. Set this WITH batch_size to split a long JSON answer across several short calls. A 16-scene plan is ~12,000 output tokens in one response, which is slow, goes silent long enough for the connection to be cut, and can hit the output cap and come back truncated. |
| batch_sizeopt | INT | 51–100 | Items per call when batch_total is set. 5 keeps each call to a few thousand tokens, so it answers in well under a minute and cannot be truncated. Earlier items are passed forward so the story still joins up. |
| speedopt | COMBO | The Codex CLI's own Speed setting. 'fast' is its '1.5x speed, increased usage' option and sends service_tier=priority; 'standard' sends the default tier. Measured on this account: first token 0.75 s vs 1.00 s, whole short answer 1.7 s vs 3.2 s. It spends your plan's quota faster, so leave it on standard for long batch runs. |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| text | STRING | — |
| account | STRING | — |