{"record":{"id":"927ed1a6b8a281e6","repo":"nexu-io/open-design","slug":"vela-model-wiremodel-is-not-in-the-published-im","errorCode":null,"errorMessage":"Vela model ${wireModel} is not in the published image catalogue, so quality ${requestedQuality} cannot be requested","messagePattern":"Vela model (.+?) is not in the published image catalogue, so quality (.+?) cannot be requested","errorType":"validation","errorClass":"Error","httpStatus":null,"severity":"error","filePath":"apps/daemon/src/media/vela.ts","lineNumber":356,"sourceCode":"  const edits = input.imageRefs.length > 0;\n  const requestedQuality = input.quality?.trim();\n  // One catalogue read serves both the output profile and the quality tier.\n  // Skip it entirely when the caller named neither, so an unqualified request\n  // still costs exactly one CLI spawn.\n  const published = input.aspect?.trim() || requestedQuality\n    ? await fetchPublishedImageCapabilities(input, edits, wireModel, runCommand)\n    : null;\n  const profile = selectImageOutputProfile(\n    published,\n    input.aspect?.trim() || undefined,\n    input.resolution?.trim() || undefined,\n    wireModel,\n  );\n  const quality = requestedQuality && published\n    ? qualityArgs(requestedQuality, published, wireModel)\n    : [];\n  if (requestedQuality && !published) {\n    throw new Error(\n      `Vela model ${wireModel} is not in the published image catalogue, so quality ${requestedQuality} cannot be requested`,\n    );\n  }\n  const tempDir = await mkdtemp(path.join(os.tmpdir(), 'open-design-vela-image-'));\n  const outputPath = path.join(tempDir, 'result.bin');\n  try {\n    const stagedImageRefs = await stageInputImages(input.imageRefs, tempDir);\n    const command = edits ? 'edit' : 'gen';\n    const args = [\n      'image',\n      command,\n      '--model',\n      wireModel,\n      '--prompt',\n      input.prompt,\n      ...stagedImageRefs.flatMap((image) => ['--image', image.abs]),\n      ...(profile\n        ? ['--aspect-ratio', profile.aspectRatio, '--resolution', profile.resolution]","sourceCodeStart":338,"sourceCodeEnd":374,"githubUrl":"https://github.com/nexu-io/open-design/blob/5be4028344c2eb4c667c5a97bda8f750c5597ef7/apps/daemon/src/media/vela.ts#L338-L374","documentation":"Thrown near the top of renderVelaImage when a quality tier was requested and the catalogue fetch was performed but the model was not found in the published image catalogue (published is null). This differs from error 490 (model found, no quality capability) and error 491 (tier not in list): here the model itself is absent from the `vela media models` output, so its capabilities are entirely unknown.","triggerScenarios":"input.quality is set, which triggers fetchPublishedImageCapabilities; the returned published is null because parsePublishedProfiles found no matching model entry (model + kind=image) in the catalogue. The qualityArgs guard is skipped, and this explicit guard fires.","commonSituations":"Model id is wrong or not yet provisioned in the catalogue; model was removed; the wireModel aliasing produced an id the catalogue does not contain; catalogue fetch was for edits but model only publishes generations.","solutions":["Omit input.quality if the model legitimately lacks catalogue metadata","Verify the model id appears in `vela media models --json` with kind 'image'","Correct the model/wireModel alias so it matches a catalogue entry","If the model should be in the catalogue, provision or report it to Vela"],"exampleFix":"// before\nawait renderVelaImage({ ...input, model: 'vela/unknown-model', quality: 'high' });\n// after\nawait renderVelaImage({ ...input, model: 'vela/known-model', quality: 'high' });","handlingStrategy":"validation","validationCode":"function modelInCatalogue(published: VelaPublishedImageCapabilities | null): boolean {\n  return published != null;\n}\n\nif (requestedQuality && !modelInCatalogue(published)) {\n  // drop quality, or correct the model id\n}","typeGuard":null,"tryCatchPattern":"try {\n  const result = await renderVelaImage(input);\n} catch (err) {\n  if (err instanceof Error && /not in the published image catalogue/.test(err.message)) {\n    // verify model id via `vela media models --json`, then drop quality or fix the id\n  } else throw err;\n}","preventionTips":["Verify the model id appears in `vela media models --json` with kind 'image' before allowing quality selection","Do not request quality for models whose catalogue presence is unconfirmed","Validate model/wireModel aliasing so the catalogue lookup matches"],"tags":["vela","quality","catalogue","validation"],"backgroundTag":null,"analyzedSha":"5be4028344c2eb4c667c5a97bda8f750c5597ef7","analyzedAt":"2026-08-12T12:03:58.812Z","schemaVersion":2},"datasetVersion":"2026-08-12T18:17:37.767Z"}