Skip to content

search

Analysis

Search Assets, Models & Workflows

Search for assets (images, video, 3D, audio), models, or workflows by text, visual similarity, or filters. Write-class: inline images in image or images.like/unlike are saved as assets in the selected project before similarity search (deduplicated when possible). Text and existing asset IDs do not upload images. OAuth requires explicit team_id and project_id; no automatic scope selection. Provide query, filter, non-empty filters, image or images. public=true alone does not browse a catalog. Workflows take keyword text and filters only, no image or semantic search. Search hits are summaries — call workflow_get with a hit's id for inputs and the editable graph. Args: - team_id, project_id: required for OAuth callers - query_semantic_ratio: 0.5–0.8 for hybrid keyword + semantic search - filters: structured filters — kind, model_id, type, tags, created_after, created_before, privacy, mime_type, collection_ids - sort_by: ignored when query_semantic_ratio > 0 (semantic search) Returns: matching results with metadata. To view an asset, call asset_display with the asset ID — do NOT try to render asset URLs directly (they are too large for inline display). Examples: - "Find 3D voxel assets" -> target="assets", query="voxel", filters={kind: "3d"} - "Find assets like these but not like that" -> target="assets", images={like: ["<good_id_1>", "<good_id_2>"], unlike: ["<bad_id>"]} - "Search public anime models" -> target="models", query="anime style", public=true - "Recent large 3D assets" -> target="assets", filters={kind: "3d"}, filter='width > 512', sort_by=["createdAt:desc"] - "Find public image apps" -> target="workflows", query="image", public=true, filter='status = "ready"', limit=3 (status uses raw filter, not filters) Don't use when you already know the asset_id or model_id: use asset_get, models_list or asset_display (assets_list and model_get are catalog-only, via scenario_tool_execute_read). To find MCP tools (not platform content), use scenario_tools_search.
open-world

Parameters

NameTypeRequiredDescription
targetenum(assets | models | workflows)✓What to search: assets, models, or workflows. Workflows support keyword text and filters only; provide query, filter, or non-empty filters.
querystring—Text search query.
imagestring—Asset ID, data URL or base64 image for visual similarity. Inline bytes are saved in the selected project. HTTP(S) URLs are unsupported. Mutually exclusive with images.
imagesunknown—Multi-image similarity with positive (like) and negative (unlike) examples. Mutually exclusive with image.
publicboolean—Whether to include public results. true searches public, false or omitted searches private.
filtersunknown—Structured filter criteria — converted to Meilisearch filter syntax. Only the listed fields are valid. Use "kind" for asset type (not "modality").
filterstring—Raw Meilisearch filter expression (e.g. 'kind = "3d" AND width > 512'). Use only filterable fields for the selected target, with camelCase names such as modelId or mimeType. No regex or id filters. Workflows support status here (e.g. 'status = "ready"'), not in filters. Combined with filters using AND.
query_semantic_rationumber—Balance between keyword (0) and semantic (1) text search. Default 0 (keyword only).
image_semantic_rationumber—Image similarity method: 0 = feature matching, 1 = semantic embedding. Default 1.
sort_byarray—Sort attributes, e.g. ["createdAt:desc"].
limitnumber20Results per page (1-100).
offsetnumber0Pagination offset.
include_urlsbooleanfalsetrue includes signed CDN URLs (url, thumbnail) on each hit (~733 chars each). Default false — asset hits: use asset_download / asset_get when you need a URL; model thumbnails have no URL-free alternative.
team_idstring—Team ID. Required with project_id for OAuth callers; an API key is scoped by the key.
project_idstring—Project ID. Required with team_id for OAuth callers; an API key is scoped by the key.
response_formatenum(json | markdown)jsonOutput format: 'json' for structured data, 'markdown' for human-readable text.

Example Request

JSON
{
  "target": "assets",
  "query": "dragon concept art",
  "filters": {
    "modality": "image",
    "tags": [
      "dragon",
      "fantasy"
    ]
  },
  "limit": 10,
  "team_id": "team_abc123",
  "project_id": "proj_xyz789"
}

Example Response

JSON
{
  "target": "assets",
  "assets": [
    {
      "id": "asset_img001",
      "name": "dragon_sunset.png",
      "tags": [
        "dragon",
        "fantasy",
        "sunset"
      ],
      "mimeType": "image/png"
    },
    {
      "id": "asset_img002",
      "name": "dragon_cave.png",
      "tags": [
        "dragon",
        "fantasy",
        "cave"
      ],
      "mimeType": "image/png"
    }
  ],
  "estimatedTotalHits": 47
}

Common Use Cases

  • Find previously generated assets matching a concept to avoid regenerating
  • Search models by modality (image, video, 3d, audio) to discover available generators
  • Run visual similarity search by passing a reference image instead of a text query
  • Filter assets by tag or model to review the output of a specific generation run