{"id":"ai_gateway","name":"AI Gateway","alias":"AiGateway","aliases":["llm_wrapper"],"description_short":"Generate structured output from text input","description_long":"\n    Generate structured output from unstructured text input based on\n    configurable item definitions. It can extract specific information types (strings,\n    numbers, booleans) from text according to custom instructions.\n\n    Supports both OpenAI models (gpt-5.6-luna, gpt-5.6-terra, gpt-5.5, gpt-5.4, gpt-5.4-mini, gpt-5.4-nano, gpt-5.2, gpt-5.1, gpt-5-mini, gpt-5-nano) and\n    Gemini models (gemini-3.1-pro-preview, gemini-3-flash-preview, gemini-3.1-flash-lite, gemini-3.5-flash).\n\n    Can also use other agents as tools for complex reasoning tasks.\n    ","description_tool_prompt":"\n    Generate structured output from unstructured text input based on\n    configurable item definitions. It can extract specific information types (strings,\n    numbers, booleans) from text according to custom instructions.\n\n    Supports both OpenAI models (gpt-5.6-luna, gpt-5.6-terra, gpt-5.5, gpt-5.4, gpt-5.4-mini, gpt-5.4-nano, gpt-5.2, gpt-5.1, gpt-5-mini, gpt-5-nano) and\n    Gemini models (gemini-3.1-pro-preview, gemini-3-flash-preview, gemini-3.1-flash-lite, gemini-3.5-flash).\n\n    Can also use other agents as tools for complex reasoning tasks.\n    ","source":null,"conversation_examples":[],"tags":[],"available_in_chat":false,"available_in_deepthink":false,"available_in_mcp":null,"mcp_audience":"all","config":{"type":"object","properties":{"prefeed":{"default":[],"description":"List of agent pre-calls whose results are injected into the user prompt before the LLM runs.","items":{"$ref":"#/$defs/PrefeedCall"},"title":"Prefeed","type":"array"},"system_prompt":{"default":"","description":"System prompt used to generate the items","title":"System Prompt","type":"string"},"structured_output_json_schema":{"additionalProperties":true,"description":"JSON Schema for the structured output","title":"Structured Output Json Schema","type":"object"},"model_settings":{"description":"The settings for the AI model","discriminator":{"mapping":{"gemini-3-flash-preview":"#/$defs/Gemini3FlashSettings","gemini-3.1-flash-lite":"#/$defs/Gemini31FlashSettings","gemini-3.1-pro-preview":"#/$defs/Gemini31Settings","gemini-3.5-flash":"#/$defs/Gemini35FlashSettings","gpt-5-mini":"#/$defs/OpenAISettings","gpt-5-nano":"#/$defs/OpenAISettings","gpt-5.1":"#/$defs/OpenAISettings","gpt-5.2":"#/$defs/OpenAI52Settings","gpt-5.4":"#/$defs/OpenAI54Settings","gpt-5.4-mini":"#/$defs/OpenAI54Settings","gpt-5.4-nano":"#/$defs/OpenAI54Settings","gpt-5.5":"#/$defs/OpenAI55Settings","gpt-5.6-luna":"#/$defs/OpenAI56Settings","gpt-5.6-terra":"#/$defs/OpenAI56Settings"},"propertyName":"model"},"oneOf":[{"$ref":"#/$defs/Gemini3FlashSettings"},{"$ref":"#/$defs/Gemini31FlashSettings"},{"$ref":"#/$defs/Gemini31Settings"},{"$ref":"#/$defs/Gemini35FlashSettings"},{"$ref":"#/$defs/OpenAISettings"},{"$ref":"#/$defs/OpenAI52Settings"},{"$ref":"#/$defs/OpenAI54Settings"},{"$ref":"#/$defs/OpenAI55Settings"},{"$ref":"#/$defs/OpenAI56Settings"}],"title":"Model Settings"},"agents":{"description":"List of agent IDs to be used as tools.","items":{"enum":["action_board","agentic_catalog_sources","botify_config","get_credit_usage","google_trends","html_code_executor","html_code_executor_batch","html_fetch","html_grep","html_grep_batch","html_question","knowledge","list_annotations","perplexity","quality_control","screenshot","tables_create","tables_insert","tables_list","tables_load","tables_query","tables_schema","text_hash","tool_documentation","topics_extractor","web_search"]},"title":"Agents","type":"array"},"is_gzip":{"default":false,"description":"If True, the user_prompt is expected to be base64-encoded and gzip-compressed. The agent will decode base64, then decompress gzip, and use the resulting UTF-8 string as the prompt. Enable this if your prompt is transmitted in this format, regardless of the processing mode (batch or not). This can be used to reduce payload size in any context.","title":"Is Gzip","type":"boolean"},"toon_tool_results":{"default":false,"description":"Serialize agent tool results as TOON instead of JSON","title":"Toon Tool Results","type":"boolean"}},"required":["structured_output_json_schema","model_settings"],"$defs":{"Gemini31FlashSettings":{"description":"Settings specific to Gemini 3.1 Flash model","properties":{"temperature":{"default":0.3,"description":"The temperature for the AI model","maximum":2.0,"minimum":0.0,"title":"Temperature","type":"number"},"max_tokens":{"anyOf":[{"minimum":0,"type":"integer"},{"type":"null"}],"default":null,"description":"The maximum number of tokens for the AI model","title":"Max Tokens"},"service_tier_flex_fallback_to_default":{"default":false,"description":"If True and service_tier is 'flex'-like, fallback to 'default' tier on errors (429 rate limit, unsupported flex tier).","title":"Service Tier Flex Fallback To Default","type":"boolean"},"model":{"const":"gemini-3.1-flash-lite","description":"The model to use for the Gemini model","title":"Model","type":"string"},"service_tier":{"anyOf":[{"enum":["default","flex","flex_only"],"type":"string"},{"type":"null"}],"default":null,"description":"Service tier for Google Models: 'default', 'flex', or 'flex_only'.","title":"Service Tier"},"thinking_level":{"anyOf":[{"enum":["minimal","low","medium","high"],"type":"string"},{"type":"null"}],"default":null,"description":"Thinking level: 'minimal', 'low', 'medium', or 'high'. Controls the depth of reasoning.","title":"Thinking Level"}},"required":["model"],"title":"Gemini31FlashSettings","type":"object"},"Gemini31Settings":{"description":"Settings specific to Gemini 3.1 models","properties":{"temperature":{"default":0.3,"description":"The temperature for the AI model","maximum":2.0,"minimum":0.0,"title":"Temperature","type":"number"},"max_tokens":{"anyOf":[{"minimum":0,"type":"integer"},{"type":"null"}],"default":null,"description":"The maximum number of tokens for the AI model","title":"Max Tokens"},"service_tier_flex_fallback_to_default":{"default":false,"description":"If True and service_tier is 'flex'-like, fallback to 'default' tier on errors (429 rate limit, unsupported flex tier).","title":"Service Tier Flex Fallback To Default","type":"boolean"},"model":{"const":"gemini-3.1-pro-preview","description":"The model to use for the Gemini model","title":"Model","type":"string"},"service_tier":{"anyOf":[{"enum":["default","flex","flex_only"],"type":"string"},{"type":"null"}],"default":null,"description":"Service tier for Google Models: 'default', 'flex', or 'flex_only'.","title":"Service Tier"},"thinking_level":{"anyOf":[{"enum":["low","medium","high"],"type":"string"},{"type":"null"}],"default":null,"description":"Thinking level: 'low', 'medium', or 'high'. Controls the depth of reasoning.","title":"Thinking Level"}},"required":["model"],"title":"Gemini31Settings","type":"object"},"Gemini35FlashSettings":{"description":"Settings specific to Gemini 3.5 Flash model","properties":{"temperature":{"default":0.3,"description":"The temperature for the AI model","maximum":2.0,"minimum":0.0,"title":"Temperature","type":"number"},"max_tokens":{"anyOf":[{"minimum":0,"type":"integer"},{"type":"null"}],"default":null,"description":"The maximum number of tokens for the AI model","title":"Max Tokens"},"service_tier_flex_fallback_to_default":{"default":false,"description":"If True and service_tier is 'flex'-like, fallback to 'default' tier on errors (429 rate limit, unsupported flex tier).","title":"Service Tier Flex Fallback To Default","type":"boolean"},"model":{"const":"gemini-3.5-flash","description":"The model to use for the Gemini model","title":"Model","type":"string"},"service_tier":{"anyOf":[{"enum":["default","flex","flex_only"],"type":"string"},{"type":"null"}],"default":null,"description":"Service tier for Google Models: 'default', 'flex', or 'flex_only'.","title":"Service Tier"},"thinking_level":{"anyOf":[{"enum":["minimal","low","medium","high"],"type":"string"},{"type":"null"}],"default":null,"description":"Thinking level: 'minimal', 'low', 'medium', or 'high'. Controls the depth of reasoning.","title":"Thinking Level"}},"required":["model"],"title":"Gemini35FlashSettings","type":"object"},"Gemini3FlashSettings":{"description":"Settings specific to Gemini 3 Flash model","properties":{"temperature":{"default":0.3,"description":"The temperature for the AI model","maximum":2.0,"minimum":0.0,"title":"Temperature","type":"number"},"max_tokens":{"anyOf":[{"minimum":0,"type":"integer"},{"type":"null"}],"default":null,"description":"The maximum number of tokens for the AI model","title":"Max Tokens"},"service_tier_flex_fallback_to_default":{"default":false,"description":"If True and service_tier is 'flex'-like, fallback to 'default' tier on errors (429 rate limit, unsupported flex tier).","title":"Service Tier Flex Fallback To Default","type":"boolean"},"model":{"const":"gemini-3-flash-preview","description":"The model to use for the Gemini model","title":"Model","type":"string"},"service_tier":{"anyOf":[{"enum":["default","flex","flex_only"],"type":"string"},{"type":"null"}],"default":null,"description":"Service tier for Google Models: 'default', 'flex', or 'flex_only'.","title":"Service Tier"},"thinking_level":{"anyOf":[{"enum":["minimal","low","medium","high"],"type":"string"},{"type":"null"}],"default":null,"description":"Thinking level: 'minimal', 'low', 'medium', or 'high'. Controls the depth of reasoning.","title":"Thinking Level"}},"required":["model"],"title":"Gemini3FlashSettings","type":"object"},"OpenAI52Settings":{"description":"Settings specific to OpenAI 5.2 models","properties":{"temperature":{"default":0.3,"description":"The temperature for the AI model","maximum":2.0,"minimum":0.0,"title":"Temperature","type":"number"},"max_tokens":{"anyOf":[{"minimum":0,"type":"integer"},{"type":"null"}],"default":null,"description":"The maximum number of tokens for the AI model","title":"Max Tokens"},"service_tier_flex_fallback_to_default":{"default":false,"description":"If True and service_tier is 'flex'-like, fallback to 'default' tier on errors (429 rate limit, unsupported flex tier).","title":"Service Tier Flex Fallback To Default","type":"boolean"},"verbosity":{"anyOf":[{"enum":["low","medium","high"],"type":"string"},{"type":"null"}],"default":null,"description":"Text verbosity level: 'low', 'medium', or 'high'. Controls how concise or verbose the model's text response is.","title":"Verbosity"},"service_tier":{"anyOf":[{"enum":["default","flex","priority"],"type":"string"},{"type":"null"}],"default":null,"description":"Service tier for OpenAI API: 'default', 'flex', or 'priority'.","title":"Service Tier"},"model":{"const":"gpt-5.2","description":"The model to use for the OpenAI model","title":"Model","type":"string"},"reasoning_effort":{"anyOf":[{"enum":["low","medium","high","xhigh"],"type":"string"},{"type":"null"}],"default":"high","description":"Reasoning effort level: 'low', 'medium', 'high', or 'xhigh'. Controls the depth of reasoning for reasoning models.","title":"Reasoning Effort"}},"required":["model"],"title":"OpenAI52Settings","type":"object"},"OpenAI54Settings":{"description":"Settings specific to OpenAI 5.4 models","properties":{"temperature":{"default":0.3,"description":"The temperature for the AI model","maximum":2.0,"minimum":0.0,"title":"Temperature","type":"number"},"max_tokens":{"anyOf":[{"minimum":0,"type":"integer"},{"type":"null"}],"default":null,"description":"The maximum number of tokens for the AI model","title":"Max Tokens"},"service_tier_flex_fallback_to_default":{"default":false,"description":"If True and service_tier is 'flex'-like, fallback to 'default' tier on errors (429 rate limit, unsupported flex tier).","title":"Service Tier Flex Fallback To Default","type":"boolean"},"verbosity":{"anyOf":[{"enum":["low","medium","high"],"type":"string"},{"type":"null"}],"default":null,"description":"Text verbosity level: 'low', 'medium', or 'high'. Controls how concise or verbose the model's text response is.","title":"Verbosity"},"service_tier":{"anyOf":[{"enum":["default","flex","priority"],"type":"string"},{"type":"null"}],"default":null,"description":"Service tier for OpenAI API: 'default', 'flex', or 'priority'.","title":"Service Tier"},"model":{"description":"The model to use for the OpenAI model","enum":["gpt-5.4","gpt-5.4-mini","gpt-5.4-nano"],"title":"Model","type":"string"},"reasoning_effort":{"anyOf":[{"enum":["none","low","medium","high","xhigh"],"type":"string"},{"type":"null"}],"default":null,"description":"Reasoning effort level: 'none', 'low', 'medium', 'high', or 'xhigh'. Controls the depth of reasoning for GPT-5.4 models.","title":"Reasoning Effort"}},"required":["model"],"title":"OpenAI54Settings","type":"object"},"OpenAI55Settings":{"description":"Settings specific to OpenAI 5.5 models","properties":{"temperature":{"default":0.3,"description":"The temperature for the AI model","maximum":2.0,"minimum":0.0,"title":"Temperature","type":"number"},"max_tokens":{"anyOf":[{"minimum":0,"type":"integer"},{"type":"null"}],"default":null,"description":"The maximum number of tokens for the AI model","title":"Max Tokens"},"service_tier_flex_fallback_to_default":{"default":false,"description":"If True and service_tier is 'flex'-like, fallback to 'default' tier on errors (429 rate limit, unsupported flex tier).","title":"Service Tier Flex Fallback To Default","type":"boolean"},"verbosity":{"anyOf":[{"enum":["low","medium","high"],"type":"string"},{"type":"null"}],"default":null,"description":"Text verbosity level: 'low', 'medium', or 'high'. Controls how concise or verbose the model's text response is.","title":"Verbosity"},"service_tier":{"anyOf":[{"enum":["default","flex","priority"],"type":"string"},{"type":"null"}],"default":null,"description":"Service tier for OpenAI API: 'default', 'flex', or 'priority'.","title":"Service Tier"},"model":{"const":"gpt-5.5","description":"The model to use for the OpenAI model","title":"Model","type":"string"},"reasoning_effort":{"anyOf":[{"enum":["none","low","medium","high","xhigh"],"type":"string"},{"type":"null"}],"default":null,"description":"Reasoning effort level: 'none', 'low', 'medium', 'high', or 'xhigh'. Controls the depth of reasoning for GPT-5.5 models.","title":"Reasoning Effort"}},"required":["model"],"title":"OpenAI55Settings","type":"object"},"OpenAI56Settings":{"description":"Settings specific to OpenAI 5.6 models","properties":{"temperature":{"default":0.3,"description":"The temperature for the AI model","maximum":2.0,"minimum":0.0,"title":"Temperature","type":"number"},"max_tokens":{"anyOf":[{"minimum":0,"type":"integer"},{"type":"null"}],"default":null,"description":"The maximum number of tokens for the AI model","title":"Max Tokens"},"service_tier_flex_fallback_to_default":{"default":false,"description":"If True and service_tier is 'flex'-like, fallback to 'default' tier on errors (429 rate limit, unsupported flex tier).","title":"Service Tier Flex Fallback To Default","type":"boolean"},"verbosity":{"anyOf":[{"enum":["low","medium","high"],"type":"string"},{"type":"null"}],"default":null,"description":"Text verbosity level: 'low', 'medium', or 'high'. Controls how concise or verbose the model's text response is.","title":"Verbosity"},"service_tier":{"anyOf":[{"enum":["default","flex","priority"],"type":"string"},{"type":"null"}],"default":null,"description":"Service tier for OpenAI API: 'default', 'flex', or 'priority'.","title":"Service Tier"},"model":{"description":"The model to use for the OpenAI model","enum":["gpt-5.6-luna","gpt-5.6-terra"],"title":"Model","type":"string"},"reasoning_effort":{"anyOf":[{"enum":["none","low","medium","high","xhigh"],"type":"string"},{"type":"null"}],"default":null,"description":"Reasoning effort level: 'none', 'low', 'medium', 'high', or 'xhigh'. Controls the depth of reasoning for GPT-5.6 models.","title":"Reasoning Effort"}},"required":["model"],"title":"OpenAI56Settings","type":"object"},"OpenAISettings":{"description":"Settings specific to OpenAI models","properties":{"temperature":{"default":0.3,"description":"The temperature for the AI model","maximum":2.0,"minimum":0.0,"title":"Temperature","type":"number"},"max_tokens":{"anyOf":[{"minimum":0,"type":"integer"},{"type":"null"}],"default":null,"description":"The maximum number of tokens for the AI model","title":"Max Tokens"},"service_tier_flex_fallback_to_default":{"default":false,"description":"If True and service_tier is 'flex'-like, fallback to 'default' tier on errors (429 rate limit, unsupported flex tier).","title":"Service Tier Flex Fallback To Default","type":"boolean"},"verbosity":{"anyOf":[{"enum":["low","medium","high"],"type":"string"},{"type":"null"}],"default":null,"description":"Text verbosity level: 'low', 'medium', or 'high'. Controls how concise or verbose the model's text response is.","title":"Verbosity"},"service_tier":{"anyOf":[{"enum":["default","flex","priority"],"type":"string"},{"type":"null"}],"default":null,"description":"Service tier for OpenAI API: 'default', 'flex', or 'priority'.","title":"Service Tier"},"model":{"description":"The model to use for the OpenAI model","enum":["gpt-5.1","gpt-5-mini","gpt-5-nano"],"title":"Model","type":"string"},"reasoning_effort":{"anyOf":[{"enum":["low","medium","high"],"type":"string"},{"type":"null"}],"default":null,"description":"Reasoning effort level: 'low', 'medium', or 'high'. Controls the depth of reasoning for reasoning models.","title":"Reasoning Effort"}},"required":["model"],"title":"OpenAISettings","type":"object"},"PrefeedCall":{"description":"A pre-call to an agent whose result is injected into the user prompt before the LLM runs.","properties":{"description":{"description":"Description of the prefeed result (used as context label in the prompt)","title":"Description","type":"string"},"agent":{"description":"Agent ID to call","title":"Agent","type":"string"},"item":{"additionalProperties":true,"description":"Item payload for the agent","title":"Item","type":"object"},"config":{"additionalProperties":true,"default":{},"description":"Optional config payload for the agent","title":"Config","type":"object"}},"required":["description","agent","item"],"title":"PrefeedCall","type":"object"}}},"item":{"type":"object","properties":{"prefeed":{"default":[],"description":"List of agent pre-calls whose results are injected into the user prompt before the LLM runs.","items":{"$ref":"#/$defs/PrefeedCall"},"title":"Prefeed","type":"array"},"user_prompt":{"description":"User prompt for the LLM","title":"User Prompt","type":"string"}},"required":["user_prompt"],"$defs":{"PrefeedCall":{"description":"A pre-call to an agent whose result is injected into the user prompt before the LLM runs.","properties":{"description":{"description":"Description of the prefeed result (used as context label in the prompt)","title":"Description","type":"string"},"agent":{"description":"Agent ID to call","title":"Agent","type":"string"},"item":{"additionalProperties":true,"description":"Item payload for the agent","title":"Item","type":"object"},"config":{"additionalProperties":true,"default":{},"description":"Optional config payload for the agent","title":"Config","type":"object"}},"required":["description","agent","item"],"title":"PrefeedCall","type":"object"}}},"response":{"description":"Output from AI text generation","properties":{"structured_output":{"additionalProperties":true,"description":"Structured output based on input configuration","title":"Structured Output","type":"object"}},"required":["structured_output"],"title":"LLMWrapperProcessedItem","type":"object"},"has_canvas":false,"open_canvas_automatically":false}