modelslab-model-discovery

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

ModelsLab Model Discovery & Usage

ModelsLab模型发现与使用

Search 50,000+ AI models, check usage analytics, and monitor generation history via the Agent Control Plane API.
通过Agent Control Plane API搜索50000+个AI模型,查看使用分析数据并监控生成历史。

When to Use This Skill

何时使用该Skill

  • Search for models by name, feature, provider, or tags
  • Find the best model for a specific task (image, video, audio, LLM)
  • Get model details (capabilities, parameters, pricing)
  • Check API usage summary and credit consumption
  • View generation history with date filters
  • Browse available model filters, tags, and providers
  • 按名称、功能、提供商或标签搜索模型
  • 为特定任务(图像、视频、音频、LLM)找到最合适的模型
  • 获取模型详情(功能、参数、定价)
  • 查看API使用汇总和积分消耗情况
  • 按日期筛选查看生成历史
  • 浏览可用的模型筛选条件、标签和提供商

Authentication

身份验证

All endpoints require a bearer token.
Base URL: https://modelslab.com/api/agents/v1
Authorization: Bearer <agent_access_token>
Get a token via the
modelslab-account-management
skill or
POST /auth/login
.
所有接口都需要Bearer令牌。
Base URL: https://modelslab.com/api/agents/v1
Authorization: Bearer <agent_access_token>
可通过
modelslab-account-management
Skill或
POST /auth/login
获取令牌。

Helper

辅助代码

python
import requests

BASE = "https://modelslab.com/api/agents/v1"

def headers(token):
    return {"Authorization": f"Bearer {token}"}
python
import requests

BASE = "https://modelslab.com/api/agents/v1"

def headers(token):
    return {"Authorization": f"Bearer {token}"}

Model Search

模型搜索

Search Models

搜索模型

python
def search_models(token, search=None, feature=None, provider=None,
                  model_type=None, base_model=None, tags=None,
                  sort="recommended", per_page=20):
    """Search the ModelsLab model library.

    Args:
        search: Free text search query
        feature: Filter by feature — "imagen", "video_fusion", "audio_gen",
                 "llmaster", "threed", "interior", "deepfake"
        provider: Filter by provider name
        model_type: Filter by model type
        base_model: Filter by base model (e.g., "SDXL", "Flux")
        tags: Comma-separated tags
        sort: "recommended" (default), "newest", "popular"
        per_page: Results per page (default 20)
    """
    params = {"sort": sort, "per_page": per_page}
    if search: params["search"] = search
    if feature: params["feature"] = feature
    if provider: params["provider"] = provider
    if model_type: params["model_type"] = model_type
    if base_model: params["base_model"] = base_model
    if tags: params["tags"] = tags

    resp = requests.get(
        f"{BASE}/models",
        headers=headers(token),
        params=params
    )
    return resp.json()["data"]
python
def search_models(token, search=None, feature=None, provider=None,
                  model_type=None, base_model=None, tags=None,
                  sort="recommended", per_page=20):
    """搜索ModelsLab模型库。

    参数:
        search: 自由文本搜索关键词
        feature: 按功能筛选 — "imagen", "video_fusion", "audio_gen",
                 "llmaster", "threed", "interior", "deepfake"
        provider: 按提供商名称筛选
        model_type: 按模型类型筛选
        base_model: 按基础模型筛选(例如:"SDXL", "Flux")
        tags: 逗号分隔的标签
        sort: 排序方式,"recommended"(默认), "newest", "popular"
        per_page: 每页结果数量(默认20)
    """
    params = {"sort": sort, "per_page": per_page}
    if search: params["search"] = search
    if feature: params["feature"] = feature
    if provider: params["provider"] = provider
    if model_type: params["model_type"] = model_type
    if base_model: params["base_model"] = base_model
    if tags: params["tags"] = tags

    resp = requests.get(
        f"{BASE}/models",
        headers=headers(token),
        params=params
    )
    return resp.json()["data"]

Search for Flux image models

搜索Flux图像模型

models = search_models(token, search="flux", feature="imagen", sort="popular") for m in models: print(f"{m['model_id']}: {m['name']}")
undefined
models = search_models(token, search="flux", feature="imagen", sort="popular") for m in models: print(f"{m['model_id']}: {m['name']}")
undefined

Search by Feature

按功能搜索

python
undefined
python
undefined

Image generation models

图像生成模型

image_models = search_models(token, feature="imagen", per_page=10)
image_models = search_models(token, feature="imagen", per_page=10)

Video generation models

视频生成模型

video_models = search_models(token, feature="video_fusion", per_page=10)
video_models = search_models(token, feature="video_fusion", per_page=10)

Audio generation models

音频生成模型

audio_models = search_models(token, feature="audio_gen", per_page=10)
audio_models = search_models(token, feature="audio_gen", per_page=10)

LLM / Chat models

LLM / 对话模型

llm_models = search_models(token, feature="llmaster", per_page=10)
llm_models = search_models(token, feature="llmaster", per_page=10)

3D generation models

3D生成模型

threed_models = search_models(token, feature="threed", per_page=10)
threed_models = search_models(token, feature="threed", per_page=10)

Interior design models

室内设计模型

interior_models = search_models(token, feature="interior", per_page=10)
undefined
interior_models = search_models(token, feature="interior", per_page=10)
undefined

Get Model Details

获取模型详情

python
def get_model_detail(token, model_id):
    """Get full details for a specific model.

    Returns: capabilities, endpoint configurations with agent-friendly
    `parameters` JSON Schema (types, constraints, defaults), pricing, etc.
    """
    resp = requests.get(
        f"{BASE}/models/{model_id}",
        headers=headers(token)
    )
    return resp.json()["data"]
python
def get_model_detail(token, model_id):
    """获取特定模型的完整详情。

    返回内容包括:功能、端点配置(含Agent友好的
    `parameters` JSON Schema,包括类型、约束、默认值)、定价等。
    """
    resp = requests.get(
        f"{BASE}/models/{model_id}",
        headers=headers(token)
    )
    return resp.json()["data"]

Usage

使用示例

model = get_model_detail(token, "flux-dev") print(f"Name: {model['name']}") print(f"Type: {model.get('model_type')}") print(f"Provider: {model.get('provider')}")
model = get_model_detail(token, "flux-dev") print(f"名称: {model['name']}") print(f"类型: {model.get('model_type')}") print(f"提供商: {model.get('provider')}")

Access agent-friendly parameters for each endpoint

访问每个端点的Agent友好型参数

for ep in model.get("endpoint_configurations", []): params = ep.get("parameters") if params: print(f"\nEndpoint: {ep['name']}") for name, schema in params["properties"].items(): print(f" {name}: {schema['type']}", end="") if "enum" in schema: print(f" (options: {schema['enum']})", end="") if "default" in schema: print(f" [default: {schema['default']}]", end="") print()
undefined
for ep in model.get("endpoint_configurations", []): params = ep.get("parameters") if params: print(f"\n端点: {ep['name']}") for name, schema in params["properties"].items(): print(f" {name}: {schema['type']}", end="") if "enum" in schema: print(f" (可选值: {schema['enum']})", end="") if "default" in schema: print(f" [默认值: {schema['default']}]", end="") print()
undefined

Browse Filters, Tags, Providers

浏览筛选条件、标签、提供商

python
def get_model_filters(token):
    """Get all available filter options (features, types, categories)."""
    resp = requests.get(f"{BASE}/models/filters", headers=headers(token))
    return resp.json()["data"]

def get_model_tags(token):
    """Get all available model tags."""
    resp = requests.get(f"{BASE}/models/tags", headers=headers(token))
    return resp.json()["data"]

def get_model_providers(token):
    """Get all model providers."""
    resp = requests.get(f"{BASE}/models/providers", headers=headers(token))
    return resp.json()["data"]
python
def get_model_filters(token):
    """获取所有可用的筛选选项(功能、类型、分类)。"""
    resp = requests.get(f"{BASE}/models/filters", headers=headers(token))
    return resp.json()["data"]

def get_model_tags(token):
    """获取所有可用的模型标签。"""
    resp = requests.get(f"{BASE}/models/tags", headers=headers(token))
    return resp.json()["data"]

def get_model_providers(token):
    """获取所有模型提供商。"""
    resp = requests.get(f"{BASE}/models/providers", headers=headers(token))
    return resp.json()["data"]

Usage

使用示例

filters = get_model_filters(token) tags = get_model_tags(token) providers = get_model_providers(token) print(f"Available features: {[f['name'] for f in filters.get('features', [])]}") print(f"Top tags: {tags[:10]}") print(f"Providers: {[p['name'] for p in providers]}")
undefined
filters = get_model_filters(token) tags = get_model_tags(token) providers = get_model_providers(token) print(f"可用功能: {[f['name'] for f in filters.get('features', [])]}") print(f"热门标签: {tags[:10]}") print(f"提供商: {[p['name'] for p in providers]}")
undefined

Usage Analytics

使用分析

Usage Summary

使用汇总

python
def get_usage_summary(token):
    """Get overall API usage summary — total calls, credits used, etc."""
    resp = requests.get(f"{BASE}/usage/summary", headers=headers(token))
    return resp.json()["data"]
python
def get_usage_summary(token):
    """获取整体API使用汇总 — 总调用次数、消耗的积分等。"""
    resp = requests.get(f"{BASE}/usage/summary", headers=headers(token))
    return resp.json()["data"]

Usage

使用示例

summary = get_usage_summary(token) print(f"Total API calls: {summary.get('total_calls', 0)}") print(f"Credits used: {summary.get('credits_used', 0)}")
undefined
summary = get_usage_summary(token) print(f"API总调用次数: {summary.get('total_calls', 0)}") print(f"消耗的积分: {summary.get('credits_used', 0)}")
undefined

Usage by Product

按产品维度的使用情况

python
def get_usage_by_product(token):
    """Get usage breakdown by product (image, video, audio, etc.)."""
    resp = requests.get(f"{BASE}/usage/products", headers=headers(token))
    return resp.json()["data"]
python
def get_usage_by_product(token):
    """按产品(图像、视频、音频等)获取使用情况细分。"""
    resp = requests.get(f"{BASE}/usage/products", headers=headers(token))
    return resp.json()["data"]

Usage

使用示例

products = get_usage_by_product(token) for product in products: print(f"{product['name']}: {product.get('calls', 0)} calls")
undefined
products = get_usage_by_product(token) for product in products: print(f"{product['name']}: {product.get('calls', 0)} 次调用")
undefined

Generation History

生成历史

python
def get_usage_history(token, from_date=None, to_date=None, limit=100):
    """Get detailed generation history with optional date filters.

    Args:
        from_date: Start date (YYYY-MM-DD)
        to_date: End date (YYYY-MM-DD)
        limit: Max items (1-200, default 100)
    """
    params = {"limit": limit}
    if from_date: params["from"] = from_date
    if to_date: params["to"] = to_date

    resp = requests.get(
        f"{BASE}/usage/history",
        headers=headers(token),
        params=params
    )
    return resp.json()["data"]
python
def get_usage_history(token, from_date=None, to_date=None, limit=100):
    """获取详细的生成历史,支持按日期筛选。

    参数:
        from_date: 开始日期(格式YYYY-MM-DD)
        to_date: 结束日期(格式YYYY-MM-DD)
        limit: 最大条目数(1-200,默认100)
    """
    params = {"limit": limit}
    if from_date: params["from"] = from_date
    if to_date: params["to"] = to_date

    resp = requests.get(
        f"{BASE}/usage/history",
        headers=headers(token),
        params=params
    )
    return resp.json()["data"]

Get last 7 days of history

获取最近7天的历史记录

history = get_usage_history(token, from_date="2025-01-01", to_date="2025-01-07") for item in history: print(f"{item['created_at']}: {item.get('endpoint')} - {item.get('status')}")
undefined
history = get_usage_history(token, from_date="2025-01-01", to_date="2025-01-07") for item in history: print(f"{item['created_at']}: {item.get('endpoint')} - {item.get('status')}")
undefined

Common Workflows

常见工作流

Find Best Model for a Task

为任务找到最佳模型

python
def find_best_model(token, task_description, feature):
    """Search for the best model for a given task."""
    models = search_models(
        token,
        search=task_description,
        feature=feature,
        sort="recommended",
        per_page=5
    )

    if not models:
        print("No models found. Try broader search terms.")
        return None

    best = models[0]
    print(f"Recommended: {best['model_id']}{best['name']}")
    return best["model_id"]
python
def find_best_model(token, task_description, feature):
    """搜索适用于指定任务的最佳模型。"""
    models = search_models(
        token,
        search=task_description,
        feature=feature,
        sort="recommended",
        per_page=5
    )

    if not models:
        print("未找到匹配模型,请尝试更宽泛的搜索关键词。")
        return None

    best = models[0]
    print(f"推荐模型: {best['model_id']}{best['name']}")
    return best["model_id"]

Find best model for realistic portraits

寻找生成逼真肖像的最佳模型

model_id = find_best_model(token, "realistic portrait photography", "imagen")
model_id = find_best_model(token, "逼真肖像摄影", "imagen")

Find best video model

寻找最佳视频生成模型

model_id = find_best_model(token, "text to video cinematic", "video_fusion")
undefined
model_id = find_best_model(token, "文本转视频电影级效果", "video_fusion")
undefined

Monitor Usage and Alerts

监控使用情况与告警

python
def check_usage_health(token, max_daily_spend=100):
    """Monitor usage and alert if spending too fast."""
    from datetime import date

    today = date.today().isoformat()
    history = get_usage_history(token, from_date=today, to_date=today)

    daily_cost = sum(item.get("cost", 0) for item in history)
    daily_calls = len(history)

    print(f"Today: {daily_calls} API calls, ${daily_cost:.2f} spent")

    if daily_cost > max_daily_spend:
        print(f"WARNING: Daily spend ${daily_cost:.2f} exceeds ${max_daily_spend}")
        return False
    return True
python
def check_usage_health(token, max_daily_spend=100):
    """监控使用情况,当消耗过快时触发告警。"""
    from datetime import date

    today = date.today().isoformat()
    history = get_usage_history(token, from_date=today, to_date=today)

    daily_cost = sum(item.get("cost", 0) for item in history)
    daily_calls = len(history)

    print(f"今日: {daily_calls} 次API调用,花费 ${daily_cost:.2f}")

    if daily_cost > max_daily_spend:
        print(f"警告: 今日花费 ${daily_cost:.2f} 超过上限 ${max_daily_spend}")
        return False
    return True

Complete Model Selection Pipeline

完整的模型选择流程

python
def select_model_for_generation(token, prompt, media_type="image"):
    """Full pipeline: search models, check usage, select best model."""

    # Map media type to feature
    feature_map = {
        "image": "imagen",
        "video": "video_fusion",
        "audio": "audio_gen",
        "3d": "threed",
        "chat": "llmaster"
    }
    feature = feature_map.get(media_type, "imagen")

    # Search models
    models = search_models(token, search=prompt, feature=feature, per_page=5)

    if not models:
        # Fallback: search without prompt
        models = search_models(token, feature=feature, sort="popular", per_page=5)

    # Check usage
    summary = get_usage_summary(token)
    print(f"Credits remaining: {summary.get('credits_remaining', 'N/A')}")

    # Return top model
    if models:
        model = models[0]
        print(f"Selected: {model['model_id']} ({model['name']})")
        return model["model_id"]
    return None
python
def select_model_for_generation(token, prompt, media_type="image"):
    """完整流程:搜索模型、检查使用情况、选择最佳模型。"""

    # 媒体类型与功能的映射
    feature_map = {
        "image": "imagen",
        "video": "video_fusion",
        "audio": "audio_gen",
        "3d": "threed",
        "chat": "llmaster"
    }
    feature = feature_map.get(media_type, "imagen")

    # 搜索模型
    models = search_models(token, search=prompt, feature=feature, per_page=5)

    if not models:
        # 备选方案:不带关键词搜索
        models = search_models(token, feature=feature, sort="popular", per_page=5)

    # 检查使用情况
    summary = get_usage_summary(token)
    print(f"剩余积分: {summary.get('credits_remaining', '未知')}")

    # 返回最优模型
    if models:
        model = models[0]
        print(f"已选择: {model['model_id']} ({model['name']})")
        return model["model_id"]
    return None

Usage

使用示例

model_id = select_model_for_generation(token, "anime character", "image")
undefined
model_id = select_model_for_generation(token, "动漫角色", "image")
undefined

MCP Server Access

MCP服务器访问

These same capabilities are available via the Agent Control Plane MCP server:
  • URL:
    https://modelslab.com/mcp/agents
  • Tools:
    agent-models
    ,
    agent-usage
上述所有功能也可通过Agent Control Plane MCP服务器访问:
  • URL:
    https://modelslab.com/mcp/agents
  • 工具:
    agent-models
    ,
    agent-usage

API Endpoints Reference

API端点参考

MethodEndpointDescription
GET
/models
Search models
GET
/models/filters
Available filter options
GET
/models/tags
Available tags
GET
/models/providers
Available providers
GET
/models/{modelId}
Model details
GET
/usage/summary
Usage summary
GET
/usage/products
Usage by product
GET
/usage/history
Generation history
方法端点描述
GET
/models
搜索模型
GET
/models/filters
获取可用筛选选项
GET
/models/tags
获取可用标签
GET
/models/providers
获取可用提供商
GET
/models/{modelId}
获取模型详情
GET
/usage/summary
获取使用汇总
GET
/usage/products
获取按产品维度的使用情况
GET
/usage/history
获取生成历史

Feature Values

功能值说明

Use these feature values when filtering models:
FeatureDescription
imagen
Image generation (text-to-image, img-to-img)
video_fusion
Video generation (text-to-video, img-to-video)
audio_gen
Audio generation (TTS, music, SFX, voice cloning)
llmaster
LLM / Chat completions
threed
3D model generation
interior
Interior design
deepfake
Face swap / Deepfake
筛选模型时可使用以下功能值:
功能描述
imagen
图像生成(文本转图像、图像转图像)
video_fusion
视频生成(文本转视频、图像转视频)
audio_gen
音频生成(文本转语音、音乐、音效、声音克隆)
llmaster
LLM / 对话补全
threed
3D模型生成
interior
室内设计
deepfake
人脸替换 / 深度伪造

Best Practices

最佳实践

1. Use Feature Filters

1. 使用功能筛选

python
undefined
python
undefined

More efficient than broad text search

比宽泛的文本搜索更高效

models = search_models(token, feature="imagen", sort="popular")
undefined
models = search_models(token, feature="imagen", sort="popular")
undefined

2. Cache Model Lists

2. 缓存模型列表

python
undefined
python
undefined

Model lists don't change frequently

模型列表不会频繁变更

import functools
@functools.lru_cache(maxsize=32) def cached_search(feature, sort="recommended"): return search_models(token, feature=feature, sort=sort)
undefined
import functools
@functools.lru_cache(maxsize=32) def cached_search(feature, sort="recommended"): return search_models(token, feature=feature, sort=sort)
undefined

3. Check Model Details Before Using

3. 使用前检查模型详情

python
detail = get_model_detail(token, model_id)
python
detail = get_model_detail(token, model_id)

Verify model supports your use case, check pricing, etc.

验证模型是否支持你的使用场景,查看定价等信息

undefined
undefined

4. Monitor Usage Regularly

4. 定期监控使用情况

python
undefined
python
undefined

Set up daily usage checks

设置每日使用情况检查

summary = get_usage_summary(token) if summary.get("credits_remaining", 0) < 100: print("Low credits — consider topping up wallet")
undefined
summary = get_usage_summary(token) if summary.get("credits_remaining", 0) < 100: print("积分不足 — 请考虑充值")
undefined

Resources

相关资源

Related Skills

相关Skill

  • modelslab-account-management
    - Account setup, API keys, teams
  • modelslab-billing-subscriptions
    - Wallet funding and subscriptions
  • modelslab-image-generation
    - Use discovered models for image generation
  • modelslab-video-generation
    - Use discovered models for video generation
  • modelslab-account-management
    - 账户设置、API密钥、团队管理
  • modelslab-billing-subscriptions
    - 钱包充值与订阅
  • modelslab-image-generation
    - 使用发现的模型进行图像生成
  • modelslab-video-generation
    - 使用发现的模型进行视频生成