{"record":{"id":"41ecce4f9dbcda0b","repo":"calesthio/OpenMontage","slug":"model-name-model-name-r-is-not-supported-for-api-41ecce","errorCode":null,"errorMessage":"model_name {model_name!r} is not supported for api_family=omni","messagePattern":"model_name (.+?) is not supported for api_family=omni","errorType":"validation","errorClass":"ValueError","httpStatus":null,"severity":"error","filePath":"tools/graphics/kling_official_image.py","lineNumber":297,"sourceCode":"        elements = normalize_element_list(inputs.get(\"element_list\"))\n        if elements:\n            payload[\"element_list\"] = elements\n        self._copy_common_task_fields(inputs, payload)\n        return {\n            \"protocol\": \"classic\",\n            \"path\": \"/v1/images/generations\",\n            \"payload\": payload,\n            \"api_family\": \"generation\",\n            \"operation\": \"generate\",\n            \"model\": payload[\"model_name\"],\n            \"references_used\": self._reference_metadata_from_generation_payload(payload),\n            \"element_ids\": element_ids(payload.get(\"element_list\")),\n        }\n\n    def _build_omni_request(self, inputs: dict[str, Any]) -> dict[str, Any]:\n        model_name = str(inputs.get(\"model_name\") or \"kling-image-o1\")\n        if model_name not in OMNI_IMAGE_MODELS:\n            raise ValueError(f\"model_name {model_name!r} is not supported for api_family=omni\")\n        image_items, references_used = self._normalize_omni_image_list(inputs)\n        prompt, prompt_references = build_image_prompt_references(self._prompt(inputs), image_items)\n        references_used = prompt_references or references_used\n        elements = normalize_element_list(inputs.get(\"element_list\"))\n        payload: dict[str, Any] = {\n            \"model_name\": model_name,\n            \"prompt\": prompt,\n            \"resolution\": inputs.get(\"resolution\", \"1k\"),\n            \"n\": int(inputs.get(\"n\", 1) or 1),\n            \"result_type\": inputs.get(\"result_type\", \"single\"),\n            \"aspect_ratio\": inputs.get(\"aspect_ratio\", \"16:9\"),\n        }\n        if image_items:\n            payload[\"image_list\"] = [{\"image\": item[\"image\"]} for item in image_items]\n        if elements:\n            payload[\"element_list\"] = elements\n        if inputs.get(\"series_amount\"):\n            payload[\"series_amount\"] = inputs[\"series_amount\"]","sourceCodeStart":279,"sourceCodeEnd":315,"githubUrl":"https://github.com/calesthio/OpenMontage/blob/95e1c3d0ab93482159818560f6a8c8e866b9139f/tools/graphics/kling_official_image.py#L279-L315","documentation":"ValueError raised when building a Kling omni-family image request with a model_name outside the OMNI_IMAGE_MODELS allowlist. The omni path (operation='omni' or api_family='omni') defaults to kling-image-o1 and only accepts omni-capable models; generation-family names are rejected here.","triggerScenarios":"Setting api_family='omni' (or operation='omni') while leaving model_name as a generation model like kling-v3; passing a typo'd or unreleased omni model name.","commonSituations":"Switching api_family to omni for multi-reference prompting but forgetting to update model_name; copy-pasting request templates between the two families; new omni models not yet allowlisted.","solutions":["Use an OMNI_IMAGE_MODELS entry such as kling-image-o1 when api_family=omni","Or drop api_family/operation back to generation if you actually want kling-v3","Check for typos in the model name string","Update OMNI_IMAGE_MODELS in kling_official_image.py when Kling ships a verified new omni model"],"exampleFix":"// before\ninputs = {\"operation\": \"omni\", \"model_name\": \"kling-v3\"}\n// after\ninputs = {\"operation\": \"omni\", \"model_name\": \"kling-image-o1\"}","handlingStrategy":"validation","validationCode":"OMNI_IMAGE_MODELS = {\"kling-image-o1\"}  # mirror the tool's allowlist\nmodel = inputs.get(\"model_name\") or \"kling-image-o1\"\nassert model in OMNI_IMAGE_MODELS, f\"unsupported omni model: {model}\"","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Bind model choice to api_family in one place in your config","Default model_name to the family default when unsure","Update allowlists only after verifying new models against the Kling API"],"tags":["kling","image-generation","validation","model-name","omni"],"backgroundTag":null,"analyzedSha":"95e1c3d0ab93482159818560f6a8c8e866b9139f","analyzedAt":"2026-08-15T06:31:20.014Z","schemaVersion":2},"datasetVersion":"2026-08-15T22:17:37.221Z"}