recommend

Analysis

Recommend 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.

read-onlyidempotent

Parameters

NameTypeRequiredDescription
actionenum(recommend | plan)recommendrecommend: find best model for a task. plan: get a multi-step pipeline for complex requests.
outputenum(image | video | audio | 3d)Desired output type.
inputenum(text | image | video | audio | 3d)Input type (text for txt2img, image for img2img).
priorityenum(quality | speed | cost)qualityOptimization priority.
durationnumberFor video/audio: minimum duration in seconds.
featuresarrayRequired features: 'endImage', 'generateAudio', 'elements', 'multiPrompt', 'seed'.
limitnumber5Number of recommendations to return.
promptstringDescription of what you want. If it mentions a platform (e.g. 'instagram', 'youtube thumbnail'), parameter suggestions auto-set the right aspect ratio and resolution.
descriptionstringNatural language description for plan action (e.g. 'product launch video with voiceover').
response_formatenum(json | markdown)jsonOutput format: 'json' for structured data, 'markdown' for human-readable text.

Example Request

JSON
{
  "action": "recommend",
  "output": "image",
  "input": "text",
  "priority": "quality",
  "prompt": "photorealistic product shot for instagram",
  "limit": 3
}

Example Response

JSON
{
  "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