Comfy-Org / Comfy-Org/ComfyUI

API Credits spent innapropriately

Open
#7,989 1 comment 0 reactions 0 assignees View on GitHub
Potential Bug
Dominant language
Python
Stars
133k
Forks
15.7k
Avg merge
1d 6h
Merged PRs (30d)
155

Description

### Expected Behavior

I was testing the new API nodes today with no issues, whether for images (Flux, SD3.5) or video (Kling, Pika).
I got $2.11 left so I decided to give Luma a try and set it up for the best quality possible: FLF2V, Ray-2, 1080p, 9sec.
(Don't mind the failed outputs in the logs, that's just some harmless 'Save Image' nodes I forgot to bypass)

![Image](https://github.com/user-attachments/assets/0b14c82a-b9d2-47de-be5f-d0238aca5016)

![Image](https://github.com/user-attachments/assets/0f892422-9f5e-4988-954e-a1c9f72fc978)

### Actual Behavior

To my surprise, after 202 seconds, the queue was interrupted and my balance was now $0.00.

![Image](https://github.com/user-attachments/assets/8fc6cbb2-69c0-457a-a57a-f40af16e9108)

The terminal says "Please add credits to your account to use this node" as if "insufficient credits".
I'd totally understand that a 9 seconds 1080p Ray-2 video would cost more than $2.11 but to charge me AND fail BECAUSE OF not enough credits is beyond my comprehension.
Isn't ComfyUI supposed to check my balance BEFORE queueing?
Isn't Luma supposed to reject the generation beforehand?

I ain't blaming the provider here because I'm pretty sure Luma's website wouldn't even let me PROMPT if I didn't have enough credits for said generation. If ComfyUI is building a bridge between user and provider, it means it should manage these potential issues, especially when dealing with money.

### Steps to Reproduce

- Low balance
- Queue "Luma Image to Video" (or maybe any API node? not sure)

### Debug Logs

```powershell
[START] Security scan
[DONE] Security scan
## ComfyUI-Manager: installing dependencies done.
** ComfyUI startup time: 2025-05-07 20:07:53.454
** Platform: Windows
** Python version: 3.12.7 (tags/v3.12.7:0b05ead, Oct 1 2024, 03:06:41) [MSC v.1941 64 bit (AMD64)]
** Python executable: C:\ComfyUI\python_embeded\python.exe
** ComfyUI Path: C:\ComfyUI\ComfyUI
** ComfyUI Base Folder Path: C:\ComfyUI\ComfyUI
** User directory: C:\ComfyUI\ComfyUI\user
** ComfyUI-Manager config path: C:\ComfyUI\ComfyUI\user\default\ComfyUI-Manager\config.ini
** Log path: C:\ComfyUI\ComfyUI\user\comfyui.log

Prestartup times for custom nodes:
0.0 seconds: C:\ComfyUI\ComfyUI\custom_nodes\rgthree-comfy
6.2 seconds: C:\ComfyUI\ComfyUI\custom_nodes\comfyui-manager

Checkpoint files will always be loaded safely.
Total VRAM 11264 MB, total RAM 16316 MB
pytorch version: 2.5.1+cu124
Set vram state to: NORMAL_VRAM
Device: cuda:0 NVIDIA GeForce GTX 1080 Ti : cudaMallocAsync
Using pytorch attention
Python version: 3.12.7 (tags/v3.12.7:0b05ead, Oct 1 2024, 03:06:41) [MSC v.1941 64 bit (AMD64)]
ComfyUI version: 0.3.32
ComfyUI frontend version: 1.18.9
[Prompt Server] web root: C:\ComfyUI\python_embeded\Lib\site-packages\comfyui_frontend_package\static
[Crystools INFO] Crystools version: 1.22.1
[Crystools INFO] CPU: Intel(R) Core(TM) i9-9900K CPU @ 3.60GHz - Arch: AMD64 - OS: Windows 11
[Crystools INFO] Pynvml (Nvidia) initialized.
[Crystools INFO] GPU/s:
[Crystools INFO] 0) NVIDIA GeForce GTX 1080 Ti
[Crystools INFO] NVIDIA Driver: 576.02
### Loading: ComfyUI-Impact-Pack (V8.14.2)
[Impact Pack] Wildcards loading done.
### Loading: ComfyUI-Inspire-Pack (V1.18)
Total VRAM 11264 MB, total RAM 16316 MB
pytorch version: 2.5.1+cu124
Set vram state to: NORMAL_VRAM
Device: cuda:0 NVIDIA GeForce GTX 1080 Ti : cudaMallocAsync
### Loading: ComfyUI-Manager (V3.31.13)
[ComfyUI-Manager] network_mode: public
### ComfyUI Revision: 3437 [0cf2e46b] *DETACHED | Released on '2025-05-06'
[ComfyUI-Manager] default cache updated: https://raw.githubusercontent.com/ltdrdata/ComfyUI-Manager/main/model-list.json
[ComfyUI-Manager] default cache updated: https://raw.githubusercontent.com/ltdrdata/ComfyUI-Manager/main/alter-list.json
[ComfyUI-Manager] default cache updated: https://raw.githubusercontent.com/ltdrdata/ComfyUI-Manager/main/github-stats.json
[ComfyUI-Manager] default cache updated: https://raw.githubusercontent.com/ltdrdata/ComfyUI-Manager/main/extension-node-map.json
[ComfyUI-Manager] default cache updated: https://raw.githubusercontent.com/ltdrdata/ComfyUI-Manager/main/custom-node-list.json
C:\ComfyUI\python_embeded\Lib\site-packages\albumentations\__init__.py:24: UserWarning: A new version of Albumentations is available: '2.0.6' (you have '2.0.0'). Upgrade using: pip install -U albumentations. To disable automatic update checks, set the environment variable NO_ALBUMENTATIONS_UPDATE to 1.
check_for_updates()

[ReActor] - STATUS - Running v0.6.0-a1 in ComfyUI
Torch version: 2.5.1+cu124
[C:\ComfyUI\ComfyUI\custom_nodes\comfyui_controlnet_aux] | INFO -> Using ckpts path: C:\ComfyUI\ComfyUI\custom_nodes\comfyui_controlnet_aux\ckpts
[C:\ComfyUI\ComfyUI\custom_nodes\comfyui_controlnet_aux] | INFO -> Using symlinks: False
[C:\ComfyUI\ComfyUI\custom_nodes\comfyui_controlnet_aux] | INFO -> Using ort providers: ['CUDAExecutionProvider', 'DirectMLExecutionProvider', 'OpenVINOExecutionProvider', 'ROCMExecutionProvider', 'CPUExecutionProvider', 'CoreMLExecutionProvider']
Eden_Comfy_Pipelines: WARNING: Could not find OPENAI_API_KEY in .env, disabling gpt prompt generation.

🌱🌱🌱🌱🌱🌱🌱🌱🌱🌱🌱🌱🌱🌱🌱🌱🌱🌱🌱🌱🌱🌱🌱🌱🌱🌱🌱🌱
🌱 Eden ComfyUI Pack maintained by https://eden.art/ 🌱
🌱🌱🌱🌱🌱🌱🌱🌱🌱🌱🌱🌱🌱🌱🌱🌱🌱🌱🌱🌱🌱🌱🌱🌱🌱🌱🌱🌱

FETCH ComfyRegistry Data: 5/84
WAS Node Suite: OpenCV Python FFMPEG support is enabled
WAS Node Suite Warning: `ffmpeg_bin_path` is not set in `C:\ComfyUI\ComfyUI\custom_nodes\pr-was-node-suite-comfyui-47064894\was_suite_config.json` config file. Will attempt to use system ffmpeg binaries if available.
WAS Node Suite: Finished. Loaded 220 nodes successfully.

"Art is the most beautiful of all lies." - Claude Debussy

[rgthree-comfy] Loaded 42 fantastic nodes. πŸŽ‰

Import times for custom nodes:
0.0 seconds: C:\ComfyUI\ComfyUI\custom_nodes\websocket_image_save.py
0.0 seconds: C:\ComfyUI\ComfyUI\custom_nodes\bfl-comfy-nodes
0.0 seconds: C:\ComfyUI\ComfyUI\custom_nodes\comfyui_ipadapter_plus
0.0 seconds: C:\ComfyUI\ComfyUI\custom_nodes\comfyui-custom-scripts
0.0 seconds: C:\ComfyUI\ComfyUI\custom_nodes\comfyui_essentials
0.0 seconds: C:\ComfyUI\ComfyUI\custom_nodes\comfyui_ultimatesdupscale
0.0 seconds: C:\ComfyUI\ComfyUI\custom_nodes\comfyui-frame-interpolation
0.0 seconds: C:\ComfyUI\ComfyUI\custom_nodes\ComfyUI-segment-anything-2
0.0 seconds: C:\ComfyUI\ComfyUI\custom_nodes\comfyui-advanced-controlnet
0.0 seconds: C:\ComfyUI\ComfyUI\custom_nodes\comfyui-liveportraitkj
0.0 seconds: C:\ComfyUI\ComfyUI\custom_nodes\rgthree-comfy
0.1 seconds: C:\ComfyUI\ComfyUI\custom_nodes\comfyui-animatediff-evolved
0.1 seconds: C:\ComfyUI\ComfyUI\custom_nodes\ComfyUI-FramePackWrapper
0.1 seconds: C:\ComfyUI\ComfyUI\custom_nodes\comfyui_controlnet_aux
0.1 seconds: C:\ComfyUI\ComfyUI\custom_nodes\comfyui-impact-pack
0.1 seconds: C:\ComfyUI\ComfyUI\custom_nodes\comfyui-kjnodes
0.2 seconds: C:\ComfyUI\ComfyUI\custom_nodes\comfyui-videohelpersuite
0.2 seconds: C:\ComfyUI\ComfyUI\custom_nodes\comfyui-inspire-pack
0.3 seconds: C:\ComfyUI\ComfyUI\custom_nodes\comfyui-florence2
0.5 seconds: C:\ComfyUI\ComfyUI\custom_nodes\comfyui-manager
0.5 seconds: C:\ComfyUI\ComfyUI\custom_nodes\comfyui_instantid
0.5 seconds: C:\ComfyUI\ComfyUI\custom_nodes\ComfyUI-Crystools
0.7 seconds: C:\ComfyUI\ComfyUI\custom_nodes\comfyui-fluxtrainer
0.8 seconds: C:\ComfyUI\ComfyUI\custom_nodes\comfyui-advancedliveportrait
0.9 seconds: C:\ComfyUI\ComfyUI\custom_nodes\comfyui-reactor
1.1 seconds: C:\ComfyUI\ComfyUI\custom_nodes\eden_comfy_pipelines
1.2 seconds: C:\ComfyUI\ComfyUI\custom_nodes\comfyui-mmaudio
3.0 seconds: C:\ComfyUI\ComfyUI\custom_nodes\pr-was-node-suite-comfyui-47064894

Starting server

To see the GUI go to: http://127.0.0.1:8188
FETCH ComfyRegistry Data: 10/84
FETCH ComfyRegistry Data: 15/84
FETCH ComfyRegistry Data: 20/84
FETCH ComfyRegistry Data: 25/84
FETCH ComfyRegistry Data: 30/84
FETCH ComfyRegistry Data: 35/84
FETCH ComfyRegistry Data: 40/84
FETCH ComfyRegistry Data: 45/84
FETCH ComfyRegistry Data: 50/84
FETCH ComfyRegistry Data: 55/84
FETCH ComfyRegistry Data: 60/84
FETCH ComfyRegistry Data: 65/84
FETCH ComfyRegistry Data: 70/84
FETCH ComfyRegistry Data: 75/84
FETCH ComfyRegistry Data: 80/84
FETCH ComfyRegistry Data [DONE]
[ComfyUI-Manager] default cache updated: https://api.comfy.org/nodes
FETCH DATA from: https://raw.githubusercontent.com/ltdrdata/ComfyUI-Manager/main/custom-node-list.json [DONE]
[ComfyUI-Manager] All startup tasks have been completed.
got prompt
Prompt executed in 53.11 seconds
got prompt
Prompt executed in 36.66 seconds
got prompt
Prompt executed in 10.19 seconds
got prompt
Prompt executed in 9.34 seconds
got prompt
Prompt executed in 0.01 seconds
got prompt
Prompt executed in 51.56 seconds
got prompt
Prompt executed in 23.56 seconds
got prompt
Prompt executed in 40.21 seconds
got prompt
Prompt executed in 17.33 seconds
got prompt
Prompt executed in 18.88 seconds
got prompt
Prompt executed in 75.46 seconds
got prompt
Pika task 50635838-4d5b-48f0-ba84-dcd1cb901905 succeeded. Video URL: https://cdn.pika.art/v1/50635838-4d5b-48f0-ba84-dcd1cb901905/digital_3d_landscape_seed1.mp4
Prompt executed in 39.22 seconds
got prompt
Failed to validate prompt for output 63:
* (prompt):
- Required input is missing: video
* SaveVideo 63:
- Required input is missing: video
Output will be ignored
Failed to validate prompt for output 60:
* (prompt):
- Required input is missing: images
* SaveImage 60:
- Required input is missing: images
Output will be ignored
Prompt executed in 0.04 seconds
got prompt
Failed to validate prompt for output 60:
* (prompt):
- Required input is missing: images
* SaveImage 60:
- Required input is missing: images
Output will be ignored
Kling task CjikMGgHQaYAAAAABDbogQ succeeded. Video URL: https://cdn.klingai.com/bs2/upload-kling-api/3864707750/image2video/CjikMGgHQaYAAAAABDbogQ-0_raw_video_2.mp4
Prompt executed in 176.52 seconds
Exception in callback _ProactorBasePipeTransport._call_connection_lost(None)
handle:
Traceback (most recent call last):
File "asyncio\events.py", line 88, in _run
File "asyncio\proactor_events.py", line 165, in _call_connection_lost
ConnectionResetError: [WinError 10054] Foi forΓ§ado o cancelamento de uma conexΓ£o existente pelo host remoto
got prompt
Failed to validate prompt for output 66:
* (prompt):
- Required input is missing: images
* SaveImage 66:
- Required input is missing: images
Output will be ignored
Failed to validate prompt for output 65:
* (prompt):
- Required input is missing: images
* SaveImage 65:
- Required input is missing: images
Output will be ignored
Failed to validate prompt for output 64:
* (prompt):
- Required input is missing: images
* SaveImage 64:
- Required input is missing: images
Output will be ignored
Failed to validate prompt for output 60:
* (prompt):
- Required input is missing: images
* SaveImage 60:
- Required input is missing: images
Output will be ignored
[DEBUG] API Exception: API Error: {'detail': '400: concepts are not supported for this model'}
!!! Exception during processing !!! API Error: {'detail': '400: concepts are not supported for this model'}
Traceback (most recent call last):
File "C:\ComfyUI\ComfyUI\comfy_api_nodes\apis\client.py", line 274, in request
response.raise_for_status()
File "C:\ComfyUI\python_embeded\Lib\site-packages\requests\models.py", line 1024, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.comfy.org/proxy/luma/generations

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "C:\ComfyUI\ComfyUI\comfy_api_nodes\apis\client.py", line 447, in execute
resp = client.request(
^^^^^^^^^^^^^^^
File "C:\ComfyUI\ComfyUI\comfy_api_nodes\apis\client.py", line 316, in request
raise Exception(error_message)
Exception: API Error: {'detail': '400: concepts are not supported for this model'}

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "C:\ComfyUI\ComfyUI\execution.py", line 347, in execute
output_data, output_ui, has_subgraph = get_output_data(obj, input_data_all, execution_block_cb=execution_block_cb, pre_execute_cb=pre_execute_cb)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\ComfyUI\ComfyUI\execution.py", line 222, in get_output_data
return_values = _map_node_over_list(obj, input_data_all, obj.FUNCTION, allow_interrupt=True, execution_block_cb=execution_block_cb, pre_execute_cb=pre_execute_cb)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\ComfyUI\ComfyUI\execution.py", line 194, in _map_node_over_list
process_inputs(input_dict, i)
File "C:\ComfyUI\ComfyUI\execution.py", line 183, in process_inputs
results.append(getattr(obj, func)(**inputs))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\ComfyUI\ComfyUI\comfy_api_nodes\nodes_luma.py", line 641, in api_call
response_api: LumaGeneration = operation.execute()
^^^^^^^^^^^^^^^^^^^
File "C:\ComfyUI\ComfyUI\comfy_api_nodes\apis\client.py", line 469, in execute
raise Exception(str(e))
Exception: API Error: {'detail': '400: concepts are not supported for this model'}

Prompt executed in 7.07 seconds
got prompt
Failed to validate prompt for output 66:
* (prompt):
- Required input is missing: images
* SaveImage 66:
- Required input is missing: images
Output will be ignored
Failed to validate prompt for output 65:
* (prompt):
- Required input is missing: images
* SaveImage 65:
- Required input is missing: images
Output will be ignored
Failed to validate prompt for output 64:
* (prompt):
- Required input is missing: images
* SaveImage 64:
- Required input is missing: images
Output will be ignored
Failed to validate prompt for output 60:
* (prompt):
- Required input is missing: images
* SaveImage 60:
- Required input is missing: images
Output will be ignored
[DEBUG] Polling error: Payment Required: Please add credits to your account to use this node.
!!! Exception during processing !!! Error during polling: Error while polling: Payment Required: Please add credits to your account to use this node.
Traceback (most recent call last):
File "C:\ComfyUI\ComfyUI\comfy_api_nodes\apis\client.py", line 274, in request
response.raise_for_status()
File "C:\ComfyUI\python_embeded\Lib\site-packages\requests\models.py", line 1024, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 402 Client Error: Payment Required for url: https://api.comfy.org/proxy/luma/generations/20beeb0c-7f1d-4770-8db6-8d7dad5bf55c

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "C:\ComfyUI\ComfyUI\comfy_api_nodes\apis\client.py", line 576, in _poll_until_complete
resp = client.request(
^^^^^^^^^^^^^^^
File "C:\ComfyUI\ComfyUI\comfy_api_nodes\apis\client.py", line 316, in request
raise Exception(error_message)
Exception: Payment Required: Please add credits to your account to use this node.

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "C:\ComfyUI\ComfyUI\comfy_api_nodes\apis\client.py", line 533, in execute
return self._poll_until_complete(client)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\ComfyUI\ComfyUI\comfy_api_nodes\apis\client.py", line 616, in _poll_until_complete
raise Exception(f"Error while polling: {str(e)}")
Exception: Error while polling: Payment Required: Please add credits to your account to use this node.

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "C:\ComfyUI\ComfyUI\execution.py", line 347, in execute
output_data, output_ui, has_subgraph = get_output_data(obj, input_data_all, execution_block_cb=execution_block_cb, pre_execute_cb=pre_execute_cb)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\ComfyUI\ComfyUI\execution.py", line 222, in get_output_data
return_values = _map_node_over_list(obj, input_data_all, obj.FUNCTION, allow_interrupt=True, execution_block_cb=execution_block_cb, pre_execute_cb=pre_execute_cb)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\ComfyUI\ComfyUI\execution.py", line 194, in _map_node_over_list
process_inputs(input_dict, i)
File "C:\ComfyUI\ComfyUI\execution.py", line 183, in process_inputs
results.append(getattr(obj, func)(**inputs))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\ComfyUI\ComfyUI\comfy_api_nodes\nodes_luma.py", line 655, in api_call
response_poll = operation.execute()
^^^^^^^^^^^^^^^^^^^
File "C:\ComfyUI\ComfyUI\comfy_api_nodes\apis\client.py", line 535, in execute
raise Exception(f"Error during polling: {str(e)}")
Exception: Error during polling: Error while polling: Payment Required: Please add credits to your account to use this node.

Prompt executed in 202.69 seconds
```

### Other

By the way, please build a standard for pricing.
How should I know how many Million pixels would fit in a 9sec 1080p video * 0.0064?
It just looks kinda lazy (different units, fonts, pure copy&paste):

![Image](https://github.com/user-attachments/assets/712a5876-7ab9-4296-b5f6-6d2c669e57c3)

Anyway, I don't mean to get a refund (already got it while writing this! Thanks Yoland, really appreciate it!) but to actually report that there might be something wrong with how Comfy is managing credits and queueing.

And last but not least, I LOVE COMFYUI, it's the best f*cking software I've ever used and I've been using it for so long (March 2023) so don't take it as a personal insult but rather a report/feedback to make it even better.

πŸ™

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.