|
|
|
@ -45,6 +45,7 @@ class Api():
|
|
|
|
|
@staticmethod
|
|
|
|
|
def get_image_models() -> list[dict]:
|
|
|
|
|
image_models = []
|
|
|
|
|
index = []
|
|
|
|
|
for provider in __providers__:
|
|
|
|
|
if hasattr(provider, "image_models"):
|
|
|
|
|
if hasattr(provider, "get_models"):
|
|
|
|
@ -52,14 +53,25 @@ class Api():
|
|
|
|
|
parent = provider
|
|
|
|
|
if hasattr(provider, "parent"):
|
|
|
|
|
parent = __map__[provider.parent]
|
|
|
|
|
for model in provider.image_models:
|
|
|
|
|
image_models.append({
|
|
|
|
|
"provider": parent.__name__,
|
|
|
|
|
"url": parent.url,
|
|
|
|
|
"label": parent.label if hasattr(parent, "label") else None,
|
|
|
|
|
"image_model": model,
|
|
|
|
|
"vision_model": parent.default_vision_model if hasattr(parent, "default_vision_model") else None
|
|
|
|
|
})
|
|
|
|
|
if parent.__name__ not in index:
|
|
|
|
|
for model in provider.image_models:
|
|
|
|
|
image_models.append({
|
|
|
|
|
"provider": parent.__name__,
|
|
|
|
|
"url": parent.url,
|
|
|
|
|
"label": parent.label if hasattr(parent, "label") else None,
|
|
|
|
|
"image_model": model,
|
|
|
|
|
"vision_model": parent.default_vision_model if hasattr(parent, "default_vision_model") else None
|
|
|
|
|
})
|
|
|
|
|
index.append(parent.__name__)
|
|
|
|
|
elif hasattr(provider, "default_vision_model") and provider.__name__ not in index:
|
|
|
|
|
image_models.append({
|
|
|
|
|
"provider": provider.__name__,
|
|
|
|
|
"url": provider.url,
|
|
|
|
|
"label": provider.label if hasattr(provider, "label") else None,
|
|
|
|
|
"image_model": None,
|
|
|
|
|
"vision_model": provider.default_vision_model
|
|
|
|
|
})
|
|
|
|
|
index.append(provider.__name__)
|
|
|
|
|
return image_models
|
|
|
|
|
|
|
|
|
|
@staticmethod
|
|
|
|
|