{"record":{"id":"828cee1bf4ebda5d","repo":"Comfy-Org/ComfyUI","slug":"moodboard-id-must-be-a-uuid-received-mb-id-r","errorCode":null,"errorMessage":"moodboard_id must be a UUID (received {mb_id!r}); copy it from the Krea website.","messagePattern":"moodboard_id must be a UUID \\(received (.+?)\\); copy it from the Krea website\\.","errorType":"validation","errorClass":"ValueError","httpStatus":null,"severity":"warning","filePath":"comfy_api_nodes/nodes_krea.py","lineNumber":190,"sourceCode":"    @classmethod\n    async def execute(\n        cls,\n        prompt: str,\n        model: dict,\n        seed: int,\n    ) -> IO.NodeOutput:\n        validate_string(prompt, strip_whitespace=False, min_length=1)\n\n        model_choice = model[\"model\"]\n        endpoint_path = _MODEL_ENDPOINTS.get(model_choice)\n        if endpoint_path is None:\n            raise ValueError(f\"Unknown Krea 2 model: {model_choice!r}\")\n\n        moodboards: list[KreaMoodboard] | None = None\n        mb_id = (model.get(\"moodboard_id\") or \"\").strip()\n        if mb_id:\n            if not _UUID_RE.match(mb_id):\n                raise ValueError(f\"moodboard_id must be a UUID (received {mb_id!r}); copy it from the Krea website.\")\n            mb_strength = model.get(\"moodboard_strength\")\n            moodboards = [KreaMoodboard(id=mb_id, strength=0.35 if mb_strength is None else float(mb_strength))]\n\n        style_reference = model.get(\"style_reference\")\n        image_style_references: list[KreaImageStyleReference] | None = None\n        if style_reference:\n            if len(style_reference) > 10:\n                raise ValueError(f\"Krea 2 accepts at most 10 image_style_references; received {len(style_reference)}.\")\n            image_style_references = [\n                KreaImageStyleReference(url=ref[\"url\"], strength=float(ref[\"strength\"])) for ref in style_reference\n            ]\n        initial = await sync_op(\n            cls,\n            ApiEndpoint(path=endpoint_path, method=\"POST\"),\n            response_model=KreaJob,\n            data=KreaGenerateImageRequest(\n                prompt=prompt,\n                aspect_ratio=model[\"aspect_ratio\"],","sourceCodeStart":172,"sourceCodeEnd":208,"githubUrl":"https://github.com/Comfy-Org/ComfyUI/blob/1c6d8d45b3693bfbb32385b410d813a7fd6be216/comfy_api_nodes/nodes_krea.py#L172-L208","documentation":"Client-side ValueError from the Krea 2 node: a moodboard_id was supplied but does not match the UUID regex. Krea moodboard ids must be UUIDs copied from the Krea website; the node validates the shape locally before spending an API call.","triggerScenarios":"model['moodboard_id'] set to a non-UUID string — pasted URL instead of the bare id, an id with surrounding whitespace/quotes, a Krea moodboard slug/name, or an empty-ish placeholder like 'xxx'.","commonSituations":"User pastes the moodboard's share URL (https://krea.ai/...) rather than the UUID; copies the moodboard title; the field is filled by an upstream node emitting arbitrary text.","solutions":["Open the moodboard on krea.ai and copy the raw UUID from its details/share info.","Paste only the UUID (e.g. 3f2b...-... form), no URL prefix, quotes, or trailing spaces — the node strips outer whitespace already.","Leave moodboard_id empty if you don't want moodboard conditioning; moodboards are optional."],"exampleFix":"// before\nmodel = {\"model\": \"...\", \"moodboard_id\": \"https://krea.ai/moodboards/my-board\"}\n// after\nmodel = {\"model\": \"...\", \"moodboard_id\": \"6ba7b810-9dad-11d1-80b4-00c04fd430c8\"}","handlingStrategy":"validation","validationCode":"import re\n_UUID_RE = re.compile(r\"^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$\", re.I)\nmb = (model.get(\"moodboard_id\") or \"\").strip()\nassert not mb or _UUID_RE.match(mb), \"moodboard_id must be a bare UUID from krea.ai\"","typeGuard":"def is_valid_moodboard_id(value: str) -> bool:\n    return bool(_UUID_RE.match((value or \"\").strip()))","tryCatchPattern":null,"preventionTips":["Copy the raw UUID from the Krea website, never the share URL.","Leave moodboard_id empty when unused.","Strip whitespace/quotes when pasting programmatically."],"tags":["krea","api-nodes","validation","uuid","moodboard","pre-flight"],"backgroundTag":null,"analyzedSha":"1c6d8d45b3693bfbb32385b410d813a7fd6be216","analyzedAt":"2026-08-14T19:37:18.893Z","schemaVersion":2},"datasetVersion":"2026-08-15T22:17:37.221Z"}