ComfyUI Node
Pertineo Collect Metadata
Collects an audit record of the current run: environment, all model files with SHA256 / AutoV2 hash, source and license from your model_info file, custom node packages and versions, API nodes, sampler settings, prompts and resolutions, plus manual audit fields. Outputs a readable text and a JSON with the same content, and passes output_image through (image). Never stops the generation – problems are listed as warnings in the report.
Pertineo Collect Metadata
- source_image
- output_image
- production_context
- metadata_text
- metadata_json
- image
◄workflow_purpose►
◄reference_image_sources►
◄external_software►
◄changes_outside_comfyui►
◄notes►
◄compute_model_hashestrue►
◄model_info_file►
◄include_full_pathsfalse►
◄fps0.000►
◄author►
◄company►
◄include_authortrue►
◄step►
◄step_description►
CategoryPertineo/Audit
Inputs (17)
| Name | Type | Default | Description |
|---|---|---|---|
| workflow_purpose | STRING | What this workflow / image is for (job, shot, client deliverable). Write 'none' if there is nothing to declare. Empty = the report shows 'UNKNOWN / NOT VERIFIED' (notes and planned work: optional, empty stays empty). | |
| reference_image_sources | STRING | Origin and RIGHTS of the input / reference images – not the file name (input files are listed automatically with their SHA256). E.g. 'Own layout sketch, drawn by me in Krita, no third-party material' or 'Plates delivered by the production, 2026-10-20'. Write 'none' if there is nothing to declare. Empty = the report shows 'UNKNOWN / NOT VERIFIED' (notes and planned work: optional, empty stays empty). | |
| external_software | STRING | WHICH other programs were used before or after ComfyUI, e.g. 'Krita (input layout)', 'Nuke 16 (comp)'. Write 'none' if there is nothing to declare. Empty = the report shows 'UNKNOWN / NOT VERIFIED' (notes and planned work: optional, empty stays empty). | |
| changes_outside_comfyui | STRING | PLANNED work on the result after ComfyUI, e.g. 'comp in Nuke, grading', 'typography finalised in Krita' – tells a reviewer that this image is not the final picture. 'none' if it is delivered as is. Work that has already been done belongs to its own record: an edited image that goes back into a workflow is listed there as an input with its hash. Write 'none' if there is nothing to declare. Empty = the report shows 'UNKNOWN / NOT VERIFIED' (notes and planned work: optional, empty stays empty). | |
| notes | STRING | Anything else worth recording. Write 'none' if there is nothing to declare. Empty = the report shows 'UNKNOWN / NOT VERIFIED' (notes and planned work: optional, empty stays empty). | |
| compute_model_hashes | BOOLEAN | true | Compute SHA256 and AutoV2 of every model file. Large files take a while the first time; results are cached (path + size + modification time) in <ComfyUI user dir>/pertineo_vfx/model_hash_cache.json. |
| model_info_file | STRING | Spreadsheet (.ods / .xlsx / .csv, e.g. LibreOffice Calc) or .json file you maintain with source, license, base model, trigger words … per model, keyed by SHA256 or file name (see model_info.example.ods). Empty = <ComfyUI user dir>/pertineo_vfx/model_info.ods, .xlsx, .csv or .json – an empty model_info.csv is created there if none exists. Relative paths are relative to that folder. Missing entries are UNKNOWN / NOT VERIFIED. | |
| include_full_paths | BOOLEAN | false | Off (recommended for sharing): only file names and sub folders relative to the model folder appear in the report. On: absolute local paths are included. |
| source_imageopt | IMAGE | Optional: the source / input image, for the source resolution. | |
| output_imageopt | IMAGE | Optional: the final image (batch), for the final resolution and, with fps, frame count and duration. Passed through unchanged at the image output. | |
| fpsopt | FLOAT | 0.0000–240 | Frame rate for video output (e.g. 24, 25, 23.976). 0 = still image(s), no video section in the report. |
| authoropt | STRING | Person responsible for the image. Shown in the report title and header when include_author is on. | |
| companyopt | STRING | Optional company or studio, shown in brackets after the author. | |
| include_authoropt | BOOLEAN | true | On: author and company appear in the .txt and .json. Off: both are left out of the report (they stay in the node). Note: an embedded workflow still contains every widget value – turn off embed_workflow on the save node as well if the name must not appear anywhere. |
| production_contextopt | PERTINEO_CONTEXT | Optional: connect 'Pertineo Production Context' for the declared purpose, rights and consent. Without it the triage is D (indeterminate). | |
| stepopt | STRING | Optional: which step of the pipeline this workflow is, e.g. '01 – layout', '02 – character insert', '03 – upscale'. Keep it the SAME for every iteration of this step (re-runs, variants, takes) – iterations are told apart by file name, time and SHA256 of the saved image, and the input / output SHA256 links the steps. Remarks on a single iteration ('v03 – warmer light') go into notes. | |
| step_descriptionopt | STRING | Optional: what this step does in one or two sentences – the breakdown line for this step. Same for every iteration of the step, like 'step'. |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| metadata_text | STRING | The readable report. |
| metadata_json | STRING | The machine-readable report (JSON). |
| image | IMAGE | output_image, passed through unchanged – connect it to Save Image + Metadata so one cable carries image and metadata. Empty when output_image is not connected. Collect Metadata runs on every queue, so put it at the very end (directly before Save): nodes after it run again on every queue as well. |