asset_detect
AnalysisDetect Structural Map
Extract a structural control-map from a Scenario image — canny edges, depth, pose, segmentation, normal, scribble, sketch, lineart, mlsd, or grayscale. Produces an image asset usable as a conditioning input for other models.
Args:
- asset_id: required — the source image
- modality: required — which map to extract (canny, depth, pose, segmentation, normal, scribble, sketch, lineart_anime, mlsd, grayscale)
- remove_background: optional — strip the background first (default true)
- parameters: optional — advanced knobs (lowThreshold, highThreshold, factor, keypointThreshold)
- wait: optional — wait for completion, else returns job_id to track via jobs_wait (or job_get for a status snapshot)
- dry_run: optional — true returns a cost estimate without running or charging credits
- team_id, project_id: required for OAuth callers
Returns: the generated control-map asset (id + app_url), or status='in_progress' with a job_id if still running.
idempotentopen-world
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| asset_id | string | ✓ | Scenario asset ID of the source image. |
| modality | enum(canny | depth | grayscale | lineart_anime | mlsd | normal | pose | scribble | segmentation | sketch) | ✓ | Structural map to extract (e.g. canny edges, depth, pose, segmentation). |
| remove_background | boolean | — | Remove the background before detection (model default: true). |
| parameters | record | — | Advanced detection knobs passed through (lowThreshold, highThreshold, factor, keypointThreshold). |
| wait | boolean | true | Wait up to 180s for completion. Falls back to returning job_id if the model takes longer — call jobs_wait with the returned job_id. |
| dry_run | boolean | — | Estimate cost without running. Sends ?dryRun=true so the API returns the cost estimate without executing or charging credits. |
| 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
{
"asset_id": "asset_img001",
"modality": "depth",
"team_id": "team_abc123",
"project_id": "proj_xyz789"
}Example Response
JSON
{
"status": "success",
"job_id": "job_def",
"model_id": "model_scenario-detection",
"assets": [
{
"id": "asset_depth001",
"app_url": "https://app.scenario.com/..."
}
]
}Common Use Cases
- Extract a depth/canny/pose control-map to condition another model
- Prepare ControlNet inputs from an existing asset