{"record":{"id":"eccf110a52b31f71","repo":"invoke-ai/InvokeAI","slug":"unknown-variant-for-flux-max-seq-len-variant","errorCode":null,"errorMessage":"Unknown variant for FLUX max seq len: {variant}","messagePattern":"Unknown variant for FLUX max seq len: (.+?)","errorType":"validation","errorClass":"ValueError","httpStatus":null,"severity":"error","filePath":"invokeai/backend/flux/util.py","lineNumber":58,"sourceCode":"    (1504, 688),\n    (1568, 672),\n]\n\n\n_flux_max_seq_lengths: dict[AnyVariant, Literal[256, 512]] = {\n    FluxVariantType.Dev: 512,\n    FluxVariantType.DevFill: 512,\n    FluxVariantType.Schnell: 256,\n    Flux2VariantType.Klein4B: 512,\n    Flux2VariantType.Klein9B: 512,\n}\n\n\ndef get_flux_max_seq_length(variant: AnyVariant):\n    try:\n        return _flux_max_seq_lengths[variant]\n    except KeyError:\n        raise ValueError(f\"Unknown variant for FLUX max seq len: {variant}\")\n\n\n_flux_ae_params = AutoEncoderParams(\n    resolution=256,\n    in_channels=3,\n    ch=128,\n    out_ch=3,\n    ch_mult=[1, 2, 4, 4],\n    num_res_blocks=2,\n    z_channels=16,\n    scale_factor=0.3611,\n    shift_factor=0.1159,\n)\n\n\ndef get_flux_ae_params() -> AutoEncoderParams:\n    return _flux_ae_params\n","sourceCodeStart":40,"sourceCodeEnd":76,"githubUrl":"https://github.com/invoke-ai/InvokeAI/blob/0b6a024f2ff6a86bfb953dcdb9cc504ef7397a06/invokeai/backend/flux/util.py#L40-L76","documentation":"get_flux_max_seq_length looks up the maximum sequence length in the _flux_max_seq_lengths dict keyed by model variant. An unknown/unsupported variant name raises ValueError because max seq len differs between FLUX schnell (256/512 context) and dev (512) and dev-kontext etc., and a wrong key would silently produce wrong sampler behavior otherwise.","triggerScenarios":"Calling get_flux_max_seq_length with a variant string not present in the dict — e.g. 'flux-dev-kontext', 'flux2', typos like 'flux_dev', or newer variants added upstream but not in this InvokeAI version.","commonSituations":"Passing a user/model-manager variant label straight into the function; adding a new FLUX release without updating the mapping; case/space mismatch in variant naming.","solutions":["Use one of the supported variant strings defined alongside _flux_max_seq_lengths in invokeai/backend/flux/util.py","Check FLUXVariant class/enum members for exact valid keys","Upgrade InvokeAI if your variant is newer than the installed version","Add your variant to _flux_max_seq_lengths if intentionally extending"],"exampleFix":"// before\nseq_len = get_flux_max_seq_length(\"flux-dev-kontext\")\n// after\nseq_len = get_flux_max_seq_length(FluxVariant.flux_dev)  # or another supported variant key","handlingStrategy":"try-catch","validationCode":"from invokeai.backend.flux.util import _flux_max_seq_length if available, else:\nassert variant in supported_variants, f\"{variant} not in supported FLUX variants\"","typeGuard":null,"tryCatchPattern":"try:\n    seq_len = get_flux_max_seq_length(variant)\nexcept ValueError as e:\n    logging.warning(\"%s — falling back to flux-dev seq len\", e)\n    seq_len = get_flux_max_seq_length(\"flux-dev\")","preventionTips":["Map model-manager variant names to supported keys once, centrally","Handle KeyError/ValueError with a sane default seq length","Upgrade InvokeAI before adopting new FLUX variants"],"tags":["flux","variant-lookup","unsupported-value","config"],"backgroundTag":"unsupported-value","analyzedSha":"0b6a024f2ff6a86bfb953dcdb9cc504ef7397a06","analyzedAt":"2026-08-29T04:46:49.967Z","schemaVersion":2},"datasetVersion":"2026-08-29T07:17:48.351Z"}