· via dev.to (home feed)
NovelAI V5 model IDs work in ComfyUI; Anlas 400 error traced to moved API endpoint
Tests confirm NovelAI's V5 model IDs generate through the ComfyUI_NAIDGenerator node, and the 'Error fetching Anlas' 400 comes from a balance endpoint NovelAI moved to image.novelai.net.

Both V5 model IDs generate as shipped
According to a write-up on dev.to, NovelAI's two V5 identifiers, nai-diffusion-5-full and nai-diffusion-5-curated, produce images through the ComfyUI_NAIDGenerator custom node without modification, settling a caveat in the project's README that says the IDs have not been checked against the live API. The author tested on a fresh ComfyUI 0.35.0 install pinned to the node's 2026-08-21 commit 52da75a (package version 1.0.9), using an Opus-tier account.
In the test runs, nai-diffusion-5-full returned a 200 response in 4.1 seconds at 832×1216 with 28 steps, and the PNG metadata identified the source as NovelAI Diffusion V5 0ADF9AB7. The curated variant answered in 1.6 seconds at 512×768 with the identifier DB276663. Neither image spent any Anlas, NovelAI's generation credit, because the Opus subscription tier covers common sizes.
The Anlas 400 is the balance lookup, not the models
Alongside those successes, the node's Anlas Tracker shows an Error fetching Anlas message while the console logs a 400 for the request to api.novelai.net/user/data. The post explains the mismatch: NovelAI moved its user endpoints to image.novelai.net around the V5 launch, and the node still queries the old host for the account balance.
Calling both hosts directly with a valid token shows the divergence. The old address answers with a 400 whose message tells third-party tools to switch to the image URL, while the new one returns 200 with the subscription data. Without a token both hosts return 401, so reproducing this requires a real account.
A second break after swapping the host
Pointing the node at the new host is not the whole fix. On image.novelai.net the subscription field trainingStepsLeft is no longer a plain integer but an object containing fixedTrainingStepsLeft and purchasedTrainingSteps values. The tracker then prints the dictionary verbatim, and the Generate node's cost calculation, which subtracts the balance before and after a run, fails with a TypeError because it is subtracting two dictionaries.
The two-part patch
The fix lands in two places in nodes.py: change the USER_API_BASE_URL constant from api.novelai.net to image.novelai.net, and collapse the dictionary-shaped trainingStepsLeft back into an integer by adding its two components. After restarting the server, the tracker reported 9,930 Anlas, the subscription's 9,898 plus 32 purchased, matching the figure shown in NovelAI's web UI, and a subsequent V5 generation logged a cost of 0 Anlas. The author has submitted the patch upstream as PR #52 along with a README correction, and posted a reproduction log on the project's issue #51.
Practical notes for users
The post flags one workflow trap. The Save Image node writes a PNG that keeps only the prompt chunk, discarding the Source metadata NovelAI attaches. The node separately saves the original response image under a running filename such as output/NAI_autosave_00001_.png, so matching the number to your run is the way to inspect the real metadata. For generation itself, selecting nai-diffusion-5-full in the ModelOption node is all that is needed; on Opus, leaving limit_opus_free on keeps Normal-size images at 28 steps or fewer inside the free band.
What the post leaves open
Two gaps remain. The generation 400 on a trial account reported in issue #51, opened the day after PR #50 added the V5 IDs and still unanswered as of 2026-09-13, could not be reproduced without a trial account, so it may or may not share the balance-lookup cause. And although the patch touches only the balance function based on reading the code, V4.5 and older models were not re-tested after the change.
Why it matters
The post documents a familiar failure mode in third-party clients: a provider moves an endpoint, the wrapper keeps calling the old URL, and users naturally blame the error on the new models. Here the model IDs were fine all along, and the real work sat in the account-balance plumbing, including a response-format change that would have broken the node even after fixing the URL. For ComfyUI users it confirms V5 works today through the node as shipped and provides a concrete, minimal patch while the upstream PR waits.
- #comfyui
- #novelai
- #image-generation
- #api
- #debugging