Nodes/arkennemasis Nodes/arkennemasis Store Export (WooCommerce variation CSV)
ComfyUI Node

arkennemasis Store Export (WooCommerce variation CSV)

From 'a folder of images' to 'the variations are live' — the WooCommerce CSV

By Hishamahmer·Created 2 months ago·Updated 8 days ago· 9
arkennemasis Store Export (WooCommerce variation CSV)
    • csv_path
    • report
    • row_count
    intake_json{}
    jobs_dirvariation/jobs
    out_dirvariation/review
    url_prefix
    image_columnImages
    attribute_prefixmeta:attribute_pa_
    source_sheet
    enabledtrue
    only_statusdelivered,approved

    The variation pipeline ends where the client's actual objective begins. Nobody buys a folder of rendered product images - they buy "the variations are live on the store." ArkStoreExport emits the completed store-import CSV: every variation row carrying its attribute values and its image, formatted so a WooCommerce import turns a job directory into a live product. It's the last node in the arkennemasis variation pipeline and the one that converts your QC'd output into something the client can act on.

    How it works

    Three required inputs: intake_json, jobs_dir (where the run's job records live, default variation/jobs), and out_dir (default variation/review). The node reads each job's record - its axes, its status, its delivered image - and writes a CSV with one row per variation.

    The defaults are tuned for WooCommerce and you should check them against your target store:

    • attribute_prefix - default meta:attribute_pa_. WooCommerce maps meta:-prefixed columns to post meta, and a variation stores its selection under attribute_pa_{taxonomy}. Change this for a different platform.
    • image_column - default Images, WooCommerce's variation image column. The tooltip is appropriately cautious: "Verify this against the Product CSV Import Schema for the target store before a real import - the exact header is importer-version specific."
    • url_prefix - the public base URL the delivered images will live at. The image column becomes <prefix>/<filename>. Blank writes the local path, which is fine for a dry run but is not importable. This is the input to get right before anyone actually imports.
    • only_status - default delivered,approved, comma-separated. Shipping a flagged cell to a live product page is the failure this guards against.
    • source_sheet - optional path to the client's original sheet. A copy is written beside the generated CSV "so the input and the output sit in one folder and can be diffed without hunting for the original - which is the first thing anyone asks for when a delivered row looks wrong."
    • enabled - off writes no store import file at all.

    Outputs: csv_path (where the file landed), report, and row_count - the number of variations that made it into the import, so you can sanity-check it against cell_count from intake.

    The design point worth taking

    The only_status default is the node's thesis in miniature: the pipeline does the QC so the export doesn't have to. Rows that failed or are still pending are excluded from the import file by default, because the one thing an automated pipeline can't be is the thing that puts a bad cell on a live product page. If you're building any "generate → verify → deliver" pipeline, that guard belongs in your export step too.

    Install

    ArkStoreExport is one of the 61 nodes in the comfyui-arkennemasis pack, in arkennemasis/Variation:

    cd ComfyUI/custom_nodes
    git clone https://github.com/Hishamahmer/comfyui-arkennemasis
    pip install -r comfyui-arkennemasis/requirements.txt   # then restart ComfyUI
    

    Or ComfyUI Manager → Install via Git URL with the repo URL. Local CSV generation - no API, no models. If your store isn't WooCommerce, the attribute_prefix and image_column inputs are how you adapt it; the hard part (mapping your platform's importer schema) is the same work you'd do for any import, just with the structure already handled.

    Categoryarkennemasis/Variation

    Inputs (9)

    NameTypeDefaultDescription
    intake_jsonSTRING{}
    jobs_dirSTRINGvariation/jobs
    out_dirSTRINGvariation/review
    url_prefixoptSTRINGPublic base URL the delivered images will live at. The image column becomes <prefix>/<filename>. Blank writes the local path, which is fine for a dry run but is not importable.
    image_columnoptSTRINGImagesWooCommerce's variation image column. Verify this against the Product CSV Import Schema for the target store before a real import — the exact header is importer-version specific.
    attribute_prefixoptSTRINGmeta:attribute_pa_WooCommerce maps meta:-prefixed columns to post meta, and a variation stores its selection under attribute_pa_{taxonomy}. Change it for a different platform.
    source_sheetoptSTRINGPath to the client's original sheet. A copy is written beside the generated CSV so the input and the output sit in one folder and can be diffed without hunting for the original - which is the first thing anyone asks for when a delivered row looks wrong.
    enabledoptBOOLEANtrueOff: write no store import file.
    only_statusoptSTRINGdelivered,approvedComma-separated statuses to include. Shipping a flagged cell to a live product page is the failure this guards.

    Outputs (3)

    NameTypeDescription
    csv_pathSTRING
    reportSTRING
    row_countINT