"""图像后端注册表（可插拔：印到底图 / 模特试穿 / 占位）。

compose_node / product_node 在配置 backend 时调用。默认未配置则跳过，仅导出提示词。
新增图像后端：实现 graph/backends/base.ImageBackend，在此登记。
"""
from typing import Dict

from .base import ImageBackend
from .openai_image_backend import OpenAIImageBackend
from .mock_image_backend import MockImageBackend

IMAGE_BACKENDS: Dict[str, type] = {
    "openai": OpenAIImageBackend,   # 真生图（images/edits img2img，需 api_key）
    "mock": MockImageBackend,       # 占位图（Pillow，无 key 也能端到端演示）
}


def get_image_backend(name: str):
    cls = IMAGE_BACKENDS.get(name)
    if cls is None:
        return None
    return cls()
