manage_models
ManagementManage Models
CRUD for models. Actions: list, get, create, update, delete, copy, transfer, download. Tag management: list_tags, add_tags, remove_tags.
Args:
- action: required operation (see above)
- model_id: required for get, update, delete, copy, transfer, download, add_tags, remove_tags
- data: model payload for create or update. Common fields are explicit (name, shortDescription, tags, thumbnail, privacy, type); less-common training/parameter fields pass through to the API. Setting data.tags on update replaces / sets the tag list (use add_tags / remove_tags for diff-style mutations).
- target_project_id: required for transfer
- filters: optional for list — privacy, status, modality (image/video/3d/audio — client-side scan over capabilities; scan cap is 500 for public, 100 for private, mirroring the Scenario webapp), type (server-side, fine-grained, e.g. flux.1-lora — cheap)
- tags: required for add_tags and remove_tags
- limit, page_token: pagination for list (default limit=20). Response carries nextPaginationToken when more pages are available.
- response_format: 'json' (default) or 'markdown'
- team_id, project_id: required for OAuth callers
Returns: model metadata (JSON or markdown). list returns a paginated array — use page_token for the next page. list_tags returns the shared tag namespace as typed records `{name, itemCount, createdAt, ownerId}`.
Examples:
- "List my private models" -> action="list", filters={"privacy": "private"}
- "List my image models" -> action="list", filters={"modality": "image"}
- "Get this model" -> action="get", model_id="model_xxx"
- "Transfer this model" -> action="transfer", model_id="model_xxx", target_project_id="project_xxx"
- "Add tags to this model" -> action="add_tags", model_id="model_xxx", tags=["hero", "anime"]
Don't use when: You need to find a model by name or intent. Prefer search with target="models" instead.
destructiveopen-world
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| action | enum(list | get | create | update | delete | copy | transfer | download | list_tags | add_tags | remove_tags) | ✓ | Model action: list, get, create, update, delete, copy, transfer, download, list_tags, add_tags, or remove_tags. |
| model_id | string | — | Model ID (required for get/update/delete/copy/transfer/download). |
| filters | unknown | — | Filters for list action. |
| data | unknown | — | Model data for create/update. Common fields above; less-common training/parameter fields (concepts, epoch, parameters, negativePromptEmbedding, etc.) pass through unchanged via `.passthrough()`. See ModelUpdateParams in the SDK for the full surface. |
| target_project_id | string | — | Destination project ID for transfer. |
| tags | array | — | Tags to add or remove (for add_tags/remove_tags actions). |
| limit | number | 20 | Results per page. |
| page_token | string | — | Pagination token. |
| team_id | string | — | Team ID. Required if user belongs to multiple teams. |
| project_id | string | — | Project ID to scope the operation to. |
| response_format | enum(json | markdown) | json | Output format: 'json' for structured data, 'markdown' for human-readable text. |
Example Request
JSON
{
"action": "list",
"filters": {
"modality": "image",
"status": "trained"
},
"limit": 20,
"team_id": "team_abc123",
"project_id": "proj_xyz789"
}Example Response
JSON
{
"models": [
{
"id": "model_custom_abc",
"name": "My Dragon Style",
"status": "trained",
"modality": "image"
}
]
}Common Use Cases
- List all trained models in a project before selecting one for generation
- Create a new model placeholder before uploading training images
- Transfer a trained model to another project for reuse across teams
- Copy a model to create a variant with a different training configuration