recommend
AnalysisRecommend Models
Recommend the best Scenario models for a task, or build a multi-step plan for more complex requests. Args: - action: 'recommend' (default) for ranked models, or 'plan' for a multi-step pipeline - output: required for recommend — 'image', 'video', 'audio', or '3d' - input, priority, duration, features, limit, prompt: optional ranking signals for recommend - description: required for plan — natural-language description of the workflow you want Returns: for recommend, ranked model candidates with suggested_params, reasoning, and preference hints. For plan, a multi-step pipeline describing recommended stages. Examples: - "Best fast model for image-to-video" -> action="recommend", output="video", input="image", priority="speed" - "Recommend a cheap audio model with seed support" -> action="recommend", output="audio", priority="cost", features=["seed"] - "Plan a product launch video with voiceover" -> action="plan", description="product launch video with voiceover" Don't use when: You already know the exact model_id. Prefer get_model_schema, then run_model.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| action | enum(recommend | plan) | recommend | recommend: find best model for a task. plan: get a multi-step pipeline for complex requests. |
| output | enum(image | video | audio | 3d) | — | Desired output type. |
| input | enum(text | image | video | audio | 3d) | — | Input type (text for txt2img, image for img2img). |
| priority | enum(quality | speed | cost) | quality | Optimization priority. |
| duration | number | — | For video/audio: minimum duration in seconds. |
| features | array | — | Required features: 'endImage', 'generateAudio', 'elements', 'multiPrompt', 'seed'. |
| limit | number | 5 | Number of recommendations to return. |
| prompt | string | — | Description of what you want. If it mentions a platform (e.g. 'instagram', 'youtube thumbnail'), parameter suggestions auto-set the right aspect ratio and resolution. |
| description | string | — | Natural language description for plan action (e.g. 'product launch video with voiceover'). |
| response_format | enum(json | markdown) | json | Output format: 'json' for structured data, 'markdown' for human-readable text. |
Example Request
{
"action": "recommend",
"output": "image",
"input": "text",
"priority": "quality",
"prompt": "photorealistic product shot for instagram",
"limit": 3
}Example Response
{
"query": {
"output": "image",
"input": "text",
"priority": "quality"
},
"results": [
{
"model_id": "model_google-gemini-3-1-flash",
"name": "Google Gemini 3.1 Flash",
"speed": "medium",
"speed_seconds": 12,
"cost_cu": 8,
"features": [
"seed",
"multiPrompt"
],
"suggested_params": {
"aspectRatio": "1:1",
"numImages": 1
},
"param_reasoning": {
"aspectRatio": "Square format is standard for Instagram posts"
},
"_recommended": true,
"_reason": "Best quality-to-speed ratio for photorealistic text-to-image"
}
],
"total_matching": 5,
"platform_detected": "Instagram detected — suggesting 1:1 at 1080px"
}Common Use Cases
- Pick the best model before calling run_model without knowing the catalog
- Get a multi-step pipeline plan for complex requests like a product video with voiceover
- Auto-detect platform context (Instagram, YouTube) and receive matching aspect ratio suggestions
- Compare speed vs quality trade-offs across available models for a given output type