Nodes/Pertineo VFX/Pertineo Collect Metadata
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.

By Pertineo·Created 21 days ago·Updated 5 days ago· 0
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)

NameTypeDefaultDescription
workflow_purposeSTRINGWhat 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_sourcesSTRINGOrigin 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_softwareSTRINGWHICH 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_comfyuiSTRINGPLANNED 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).
notesSTRINGAnything 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_hashesBOOLEANtrueCompute 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_fileSTRINGSpreadsheet (.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_pathsBOOLEANfalseOff (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_imageoptIMAGEOptional: the source / input image, for the source resolution.
output_imageoptIMAGEOptional: the final image (batch), for the final resolution and, with fps, frame count and duration. Passed through unchanged at the image output.
fpsoptFLOAT0.0000–240Frame rate for video output (e.g. 24, 25, 23.976). 0 = still image(s), no video section in the report.
authoroptSTRINGPerson responsible for the image. Shown in the report title and header when include_author is on.
companyoptSTRINGOptional company or studio, shown in brackets after the author.
include_authoroptBOOLEANtrueOn: 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_contextoptPERTINEO_CONTEXTOptional: connect 'Pertineo Production Context' for the declared purpose, rights and consent. Without it the triage is D (indeterminate).
stepoptSTRINGOptional: 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_descriptionoptSTRINGOptional: 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)

NameTypeDescription
metadata_textSTRINGThe readable report.
metadata_jsonSTRINGThe machine-readable report (JSON).
imageIMAGEoutput_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.