Nodes/comfyui-fanvue/Schedule Fanvue Post
ComfyUI Node

Schedule Fanvue Post

Your graph ends with a scheduled post, not a folder full of PNGs

By latentpost·Created 13 days ago·Updated 12 days ago· 0
Schedule Fanvue Post
    • post_uuid
    ◄text►
    ◄audiencesubscribers►
    ◄publish_in_minutes60►
    ◄publish_at►
    ◄price_cents0►
    ◄media_uuids—►

    Most ComfyUI workflows terminate in output/ and then you do the boring part by hand - browser, upload, caption, audience, time. This node deletes that step: media IDs in, caption and time in, post created on your Fanvue account. Then you can close ComfyUI, because Fanvue owns the clock from there.

    Fair warning up front: it needs LatentPost Pro. Uploads work on a free account; posts don't.

    How it works

    It builds one post payload, hands it to LatentPost's broker, which forwards it to Fanvue. The fields are what you'd expect, plus one piece of date handling that bites if you skip it.

    publish_at is parsed on your machine, in your machine's time zone. A plain 2026-10-07 18:00 means 18:00 where ComfyUI is running - so if your ComfyUI box is a headless Linux server or a container sitting on UTC, that six o'clock is six o'clock UTC and your post lands hours off. Suffix it with Z and there's no ambiguity. Anything in the past is refused with a plain "publish_at is in the past." Leave it empty and publish_in_minutes takes over as a relative offset; at 0 with no publish_at, the post goes out immediately.

    The output is post_uuid - Fanvue's identifier for the post. A dead end in most workflows, but it's what you check against when reconciling what actually went out.

    The inputs that matter

    media_uuids is the wire from Save to Fanvue Vault, and it's optional on purpose: leave it unconnected and you get a text-only post - genuinely useful for announcements and teasers.

    audience is the one people rush. subscribers means paying subscribers only - the default, and the right one for content you're actually selling. followers-and-subscribers opens it to free followers too, which is how you use a free post as bait. Getting this wrong on a paid asset is the kind of mistake you find out about from a customer.

    text is the caption, 5,000 characters max. price_cents is 0 for free; anything above zero must clear 300 (Fanvue's $3.00 floor) and needs media attached, because a paid text-only post isn't a thing. publish_in_minutes defaults to 60 and tops out at a year.

    That's the surface. No model, no seed, no sampler - it makes an API call and returns.

    Install

    Same package as the upload node, so if you have one you have both. Manager → search LatentPost for Fanvue, or:

    cd ComfyUI/custom_nodes
    git clone https://github.com/latentpost/comfyui-fanvue
    

    Restart, then put your key in Settings → LatentPost → API key (latentpost.com/dashboard, after connecting your Fanvue creator account). No pip dependencies, nothing to download, ComfyUI 0.3.44+. The key lives in settings, not the workflow, so a shared JSON doesn't carry it.

    Where people get burned

    The dedupe has a hole at the edges, by design. Queue the same inputs twice and you get the earlier post_uuid back instead of a second post - the digest covers caption, audience, timing, price and media IDs, and it's checked before the time validation so a publish_at that has since passed doesn't trigger an attempt. But that memory is process-local. Restart ComfyUI, queue the same graph, and it posts again. If you run this on a timer, design around it: stamp the date into the caption, or accept that a restart is a re-post.

    A failed post may have succeeded. If Fanvue errors after the post was created, the node says so instead of retrying - "The post may have been created anyway. Check your Fanvue posts before you try again." Believe it, and check the dashboard before re-running.

    Validation is a wall, not a hint. Caption over 5,000 characters, a price between 1 and 299, a paid post with no media, an empty post - each errors out with a sentence that says exactly what's wrong. Written to be read, which more packs should manage.

    Account problems live on Fanvue's side. A recognised key says nothing about whether Fanvue will take the post: platform rules, payouts and identity verification are all upstream of this node. AI creators talk about Fanvue as the platform that tolerates AI personas where OnlyFans doesn't - and also about getting turned down at the ID check, or by country. Not a node bug, and no re-pasted key fixes it.

    --multi-user is unsupported - the nodes can't tell whose settings hold the key, so they refuse and tell you to restart without the flag.

    And the obvious one, given the mechanics are frictionless by design: this will happily publish whatever the graph produced, including things you didn't mean to ship. Read the caption before you queue, and only post what you have the rights and consent for.

    CategoryLatentPost

    Inputs (6)

    NameTypeDefaultDescription
    textSTRINGThe post's caption, up to 5,000 characters.
    audienceCOMBOsubscribers2 options: subscribers, followers-and-subscribers
    publish_in_minutesINT600–5256000 publishes right away. Ignored when publish_at is set.
    publish_atSTRINGA set time like 2026-10-07 18:00, in this computer's time zone (add Z for UTC). Overrides publish_in_minutes.
    price_centsINT00–100000000 for a free post. Paid posts start at 300 ($3.00) and need media.
    media_uuidsoptSTRINGFanvue media IDs, from Save to Fanvue Vault. Leave unconnected for a text-only post.

    Outputs (1)

    NameTypeDescription
    post_uuidSTRING—