{"passport":{"unfragile":{"@version":"1.0","version":"2026-05","artifact":{"id":"openrouter-google-gemini-3.1-pro-preview-customtools","slug":"google-gemini-3.1-pro-preview-customtools","name":"Google: Gemini 3.1 Pro Preview Custom Tools","type":"model","url":"https://openrouter.ai/models/google~gemini-3.1-pro-preview-customtools","page_url":"https://unfragile.ai/google-gemini-3.1-pro-preview-customtools","categories":["image-generation"],"tags":["google","api-access","text","image","audio","video"],"pricing":{"model":"paid","free":false,"starting_price":"$2.00e-6 per prompt token"},"status":"active","verified":false},"capabilities":[{"id":"openrouter-google-gemini-3.1-pro-preview-customtools__cap_0","uri":"capability://tool.use.integration.intelligent.tool.selection.with.bash.prevention","name":"intelligent-tool-selection-with-bash-prevention","description":"Gemini 3.1 Pro Preview Custom Tools implements a specialized tool-routing layer that analyzes user intents and selects the most efficient third-party tool or API instead of defaulting to a generic bash execution tool. The model uses semantic understanding of task requirements to route requests to domain-specific tools (e.g., image processing libraries, data transformation services) rather than shell commands, reducing execution overhead and improving reliability. This is achieved through a learned preference mechanism that weights tool selection based on task type, available tool capabilities, and execution efficiency metrics.","intents":["I want the model to use specialized APIs instead of always falling back to bash for every task","I need the model to recognize when a third-party tool is more appropriate than shell scripting","I want to reduce unnecessary bash invocations that could fail or be inefficient","I need predictable tool selection behavior that matches my available integrations"],"best_for":["teams building multi-tool agent systems with heterogeneous tool ecosystems","developers integrating Gemini with specialized APIs (image processing, data pipelines, ML services)","organizations wanting to reduce shell-based execution and improve tool utilization"],"limitations":["tool selection behavior depends on model's training data and may not always match user's preferred tool priority","requires explicit tool definitions and schemas to be provided; model cannot discover or infer tool capabilities","no user-configurable tool preference weights or ranking system exposed in the API","tool selection is non-deterministic across identical requests if multiple tools have similar capability scores"],"requires":["Google API key with Gemini 3.1 Pro Preview access","tool definitions provided in OpenAI-compatible or Google tool-calling schema format","at least 2+ custom tools defined to demonstrate tool selection behavior","understanding of tool capabilities and appropriate use cases for routing decisions"],"input_types":["text prompts describing tasks","tool schema definitions (JSON format)","context about available tools and their capabilities"],"output_types":["tool selection decision (which tool to invoke)","tool invocation parameters","execution results from selected tool"],"categories":["tool-use-integration","planning-reasoning"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"openrouter-google-gemini-3.1-pro-preview-customtools__cap_1","uri":"capability://image.visual.multimodal.input.processing.with.tool.context","name":"multimodal-input-processing-with-tool-context","description":"Gemini 3.1 Pro Preview Custom Tools accepts and processes multiple input modalities (text, images, audio, video) as context for tool selection and invocation decisions. The model analyzes multimodal inputs to understand task requirements, then routes to appropriate tools with extracted context. For example, an image input could trigger image processing tools, while audio might route to transcription or analysis services. The implementation uses unified embedding and attention mechanisms to fuse modality-specific representations before tool selection.","intents":["I want to pass an image to the model and have it automatically select image processing tools","I need to analyze video content and route to video-specific APIs or processing pipelines","I want to provide audio input and have the model choose transcription or audio analysis tools","I need to combine text instructions with visual/audio context for more informed tool selection"],"best_for":["multimodal AI applications requiring intelligent tool routing based on input type","content processing pipelines that need to dispatch to specialized services (image, video, audio)","applications combining text instructions with visual or audio context for task execution"],"limitations":["audio and video inputs may require preprocessing or format conversion before submission","tool selection is based on input modality detection; no explicit user control over modality-to-tool mapping","video processing is limited by context window size; long videos may require chunking or summarization","audio input quality and language support depend on underlying speech recognition capabilities"],"requires":["Google API key with Gemini 3.1 Pro Preview access","input files in supported formats: JPEG/PNG/WebP/GIF for images, MP4/MPEG/MOV for video, MP3/WAV/OPUS for audio","tool definitions that specify supported input modalities","sufficient API quota for multimodal processing"],"input_types":["text","image (JPEG, PNG, WebP, GIF)","video (MP4, MPEG, MOV)","audio (MP3, WAV, OPUS)"],"output_types":["text analysis or description","tool invocation decisions","structured data extracted from multimodal inputs","references to external tool execution results"],"categories":["image-visual","tool-use-integration","data-processing-analysis"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"openrouter-google-gemini-3.1-pro-preview-customtools__cap_10","uri":"capability://tool.use.integration.error.handling.and.tool.invocation.recovery","name":"error-handling-and-tool-invocation-recovery","description":"Gemini 3.1 Pro Preview Custom Tools implements error handling and recovery mechanisms for failed tool invocations. When a tool call fails, the model can analyze the error, attempt alternative tools, adjust parameters, or request clarification from the user. This is implemented through error feedback loops where tool execution errors are returned to the model, which then reasons about recovery strategies. The model can retry with different parameters, fall back to alternative tools, or escalate to the user if recovery is not possible.","intents":["I want the model to handle tool invocation failures gracefully","I need the model to retry with different parameters if a tool fails","I want the model to fall back to alternative tools when the primary tool fails","I need clear error messages and recovery suggestions when tools fail"],"best_for":["production agent systems requiring robust error handling","workflows with unreliable or flaky tools that may fail intermittently","applications where tool failures should not block the entire workflow","systems requiring detailed error reporting and recovery logging"],"limitations":["error recovery consumes additional tokens and increases latency","model may not always choose the best recovery strategy; some failures may require manual intervention","no built-in circuit breaker or rate limiting; repeated failures could exhaust API quota","error messages from tools must be clear and actionable; vague errors may confuse the model"],"requires":["Google API key with Gemini 3.1 Pro Preview access","tools that return clear error messages on failure","alternative tools defined for fallback scenarios","client-side error handling and logging infrastructure"],"input_types":["tool invocation requests","error messages from failed tool invocations","optional recovery hints or alternative tools"],"output_types":["error analysis and recovery strategy","retry attempts with adjusted parameters","fallback tool selections","final error messages if recovery is not possible"],"categories":["tool-use-integration","planning-reasoning"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"openrouter-google-gemini-3.1-pro-preview-customtools__cap_11","uri":"capability://tool.use.integration.token.efficient.tool.invocation.with.context.optimization","name":"token-efficient-tool-invocation-with-context-optimization","description":"Gemini 3.1 Pro Preview Custom Tools optimizes token usage for tool invocation by selectively including only relevant context in tool calls and responses. The model uses attention mechanisms to identify which parts of the conversation history, tool results, and user input are most relevant to the current tool invocation, then includes only that context in the API call. This reduces token consumption and latency compared to including full conversation history in every tool call. Token optimization is transparent to the user but can significantly reduce API costs.","intents":["I want to reduce token consumption in multi-turn tool invocation workflows","I need to optimize API costs for long-running agent conversations","I want to maintain context awareness while minimizing token usage","I need to handle long conversations without hitting context window limits"],"best_for":["cost-sensitive applications with high tool invocation volume","long-running agent conversations requiring sustained interaction","applications with strict latency requirements","systems processing high-volume tool invocations with limited budgets"],"limitations":["context optimization may drop important information if relevance scoring is inaccurate","no user control over which context is included; optimization is automatic","very long conversations may still exceed context windows despite optimization","token savings vary depending on conversation structure; some workflows may see minimal savings"],"requires":["Google API key with Gemini 3.1 Pro Preview access","understanding of token budgeting and API costs","monitoring of token usage to measure optimization effectiveness"],"input_types":["text prompts","conversation history","tool definitions and results"],"output_types":["optimized tool invocations with reduced context","token usage metrics","cost savings reports"],"categories":["tool-use-integration","data-processing-analysis"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"openrouter-google-gemini-3.1-pro-preview-customtools__cap_2","uri":"capability://tool.use.integration.schema.based.function.calling.with.tool.validation","name":"schema-based-function-calling-with-tool-validation","description":"Gemini 3.1 Pro Preview Custom Tools implements OpenAI-compatible and Google-native tool schema formats for function calling, with built-in validation of tool invocation parameters against declared schemas. The model generates structured tool calls that include function name, parameters, and optional metadata, with the runtime validating parameter types, required fields, and constraints before execution. This prevents malformed tool invocations and ensures type safety across heterogeneous tool ecosystems.","intents":["I want the model to call functions with properly typed and validated parameters","I need to ensure tool invocations match my API schemas before execution","I want to define complex parameter constraints and have the model respect them","I need structured, machine-readable tool invocation decisions for downstream processing"],"best_for":["developers building production agent systems requiring strict parameter validation","teams with heterogeneous tool ecosystems needing standardized invocation contracts","applications where malformed tool calls could cause downstream failures or security issues"],"limitations":["schema validation is performed by the client/runtime, not the model itself; model can still generate invalid parameters","complex nested schemas or recursive types may not be fully supported or may confuse the model","no built-in retry logic for parameter validation failures; client must implement recovery","schema size limits may apply; very large tool definitions could exceed context windows"],"requires":["Google API key with Gemini 3.1 Pro Preview access","tool schemas defined in JSON Schema format (OpenAI-compatible) or Google tool format","client-side validation logic to check parameters against schemas before tool execution","understanding of JSON Schema constraints and type definitions"],"input_types":["text prompts","tool schema definitions (JSON Schema or Google format)","optional parameter constraints and validation rules"],"output_types":["structured tool calls with function name and parameters","validation results (pass/fail with error details)","execution results from validated tool invocations"],"categories":["tool-use-integration","data-processing-analysis"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"openrouter-google-gemini-3.1-pro-preview-customtools__cap_3","uri":"capability://tool.use.integration.context.aware.tool.invocation.with.conversation.history","name":"context-aware-tool-invocation-with-conversation-history","description":"Gemini 3.1 Pro Preview Custom Tools maintains conversation history and uses it to inform tool selection and parameter generation across multiple turns. The model tracks previous tool invocations, their results, and user feedback to make more contextually appropriate decisions in subsequent turns. For example, if a previous image analysis tool returned specific metadata, the model can use that context to select a more specialized tool in the next turn. This is implemented through a stateful conversation manager that preserves tool execution context and results.","intents":["I want the model to remember previous tool invocations and use that context for future decisions","I need multi-turn interactions where tool selection depends on prior results","I want the model to refine tool parameters based on feedback from previous executions","I need to build conversational agents that learn from tool execution history"],"best_for":["conversational AI agents requiring stateful tool orchestration","multi-turn workflows where tool selection depends on prior results","applications building on previous tool executions to refine subsequent actions"],"limitations":["conversation history is limited by context window size; very long conversations may require summarization or pruning","no built-in persistence of conversation state; client must manage history across sessions","tool results are included in context, which can quickly consume token budget in long conversations","no explicit mechanism to forget or deprioritize old context; all history is equally weighted"],"requires":["Google API key with Gemini 3.1 Pro Preview access","client-side conversation history management","mechanism to track and store tool execution results","understanding of context window limitations and token budgeting"],"input_types":["text prompts","conversation history (previous user messages and model responses)","tool execution results from prior turns"],"output_types":["contextually informed tool selection decisions","refined tool parameters based on conversation history","multi-turn conversation responses"],"categories":["tool-use-integration","memory-knowledge","planning-reasoning"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"openrouter-google-gemini-3.1-pro-preview-customtools__cap_4","uri":"capability://text.generation.language.text.generation.with.tool.augmentation","name":"text-generation-with-tool-augmentation","description":"Gemini 3.1 Pro Preview Custom Tools generates natural language text responses that can be augmented or informed by tool invocations. The model can decide to invoke tools mid-response generation to gather information, then incorporate tool results into the final text output. For example, when answering a question, the model might invoke a search tool to fetch current information, then synthesize that into a comprehensive text response. This is implemented through a streaming architecture that allows tool invocations to be interleaved with text generation.","intents":["I want the model to search for information and incorporate it into generated text","I need the model to invoke tools to gather data, then synthesize it into a coherent response","I want to generate text that is grounded in real-time tool results","I need responses that combine model knowledge with current data from external tools"],"best_for":["question-answering systems requiring real-time data integration","content generation pipelines that need to ground responses in external data","conversational agents that need to fetch information mid-conversation"],"limitations":["tool invocations during text generation can introduce latency; streaming responses may be delayed waiting for tool results","no explicit control over when tools are invoked during generation; model decides autonomously","tool results are incorporated into context, which can affect response quality if results are noisy or irrelevant","streaming architecture may not be compatible with all client implementations"],"requires":["Google API key with Gemini 3.1 Pro Preview access","tools defined and available for invocation","client support for streaming responses with interleaved tool calls","mechanism to handle tool results and incorporate them into ongoing text generation"],"input_types":["text prompts","tool definitions","optional context or background information"],"output_types":["streaming text responses","tool invocation decisions","final synthesized text incorporating tool results"],"categories":["text-generation-language","tool-use-integration"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"openrouter-google-gemini-3.1-pro-preview-customtools__cap_5","uri":"capability://tool.use.integration.custom.tool.definition.and.registration","name":"custom-tool-definition-and-registration","description":"Gemini 3.1 Pro Preview Custom Tools allows developers to define custom tools using standardized schema formats (OpenAI-compatible or Google-native), then register them with the model for use in tool selection and invocation. Tools are defined declaratively with name, description, parameters, and optional metadata, enabling the model to understand tool capabilities and make informed selection decisions. The registration process validates tool schemas and makes them available for the current conversation or session.","intents":["I want to define custom tools that the model can invoke","I need to register proprietary APIs or internal services as tools","I want to control which tools are available in specific conversations","I need to update tool definitions dynamically without redeploying the model"],"best_for":["teams building custom agent systems with proprietary tools","organizations integrating internal APIs and services with Gemini","developers needing dynamic tool registration and management"],"limitations":["tool definitions are session-scoped; tools must be re-registered for each new conversation","no built-in tool versioning or schema evolution support; schema changes require manual updates","tool descriptions must be clear and specific; vague descriptions can lead to poor tool selection","no built-in tool discovery or introspection; clients must manage tool metadata separately"],"requires":["Google API key with Gemini 3.1 Pro Preview access","tool schemas defined in JSON Schema format (OpenAI-compatible) or Google tool format","clear, descriptive tool names and descriptions for effective model understanding","implementation of tool execution logic on the client side"],"input_types":["tool schema definitions (JSON format)","tool metadata (name, description, parameters)","optional tool documentation or examples"],"output_types":["tool registration confirmation","validation results for tool schemas","tool availability status"],"categories":["tool-use-integration"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"openrouter-google-gemini-3.1-pro-preview-customtools__cap_6","uri":"capability://image.visual.image.analysis.and.understanding","name":"image-analysis-and-understanding","description":"Gemini 3.1 Pro Preview Custom Tools can analyze and understand images, extracting visual information, text, objects, and semantic content. The model processes images using vision transformers and multimodal embeddings to generate detailed descriptions, identify elements, perform OCR, and answer questions about image content. This capability is integrated with tool selection, allowing image analysis results to inform which tools should be invoked next. For example, analyzing an image of a document could trigger OCR tools or document processing services.","intents":["I want to extract text from images using OCR","I need to identify objects, people, or scenes in images","I want to answer questions about image content","I need to analyze images and route to specialized processing tools based on content"],"best_for":["document processing and digitization workflows","content moderation and analysis systems","visual search and recommendation engines","accessibility applications requiring image-to-text conversion"],"limitations":["OCR accuracy depends on image quality; low-resolution or rotated text may be misread","image understanding is limited by model training data; unusual or specialized content may be misidentified","very large images may be downsampled, reducing detail and OCR accuracy","no built-in support for handwriting recognition or non-Latin scripts"],"requires":["Google API key with Gemini 3.1 Pro Preview access","images in supported formats: JPEG, PNG, WebP, or GIF","images under size limits (typically 20MB per image)"],"input_types":["image files (JPEG, PNG, WebP, GIF)","text prompts asking questions about images","optional context about image source or expected content"],"output_types":["text descriptions of image content","extracted text (OCR results)","identified objects, people, or scenes","answers to questions about image content","tool selection decisions based on image analysis"],"categories":["image-visual","data-processing-analysis"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"openrouter-google-gemini-3.1-pro-preview-customtools__cap_7","uri":"capability://image.visual.video.processing.and.temporal.analysis","name":"video-processing-and-temporal-analysis","description":"Gemini 3.1 Pro Preview Custom Tools can process and analyze video content, extracting temporal information, identifying scenes, detecting objects across frames, and understanding video narratives. The model uses frame sampling and temporal attention mechanisms to understand video structure and content, then can route to video-specific tools (transcription, scene detection, object tracking) based on analysis results. Video analysis is integrated with tool selection to enable intelligent dispatch to specialized video processing services.","intents":["I want to extract scenes or key frames from videos","I need to transcribe video audio and understand spoken content","I want to detect objects or people across video frames","I need to analyze video structure and route to specialized processing tools"],"best_for":["video content analysis and indexing systems","video transcription and captioning workflows","video surveillance and monitoring applications","content recommendation systems based on video analysis"],"limitations":["video processing is limited by context window size; long videos may require chunking or summarization","frame sampling may miss important details in fast-paced videos","audio transcription quality depends on audio clarity and language support","temporal reasoning is limited; complex multi-scene narratives may be misunderstood"],"requires":["Google API key with Gemini 3.1 Pro Preview access","videos in supported formats: MP4, MPEG, or MOV","videos under size limits (typically 20MB per video)","sufficient API quota for video processing"],"input_types":["video files (MP4, MPEG, MOV)","text prompts asking questions about video content","optional context about video source or expected content"],"output_types":["video descriptions and summaries","identified scenes or key frames","transcribed audio content","detected objects or people across frames","tool selection decisions based on video analysis"],"categories":["image-visual","data-processing-analysis"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"openrouter-google-gemini-3.1-pro-preview-customtools__cap_8","uri":"capability://data.processing.analysis.audio.processing.and.speech.understanding","name":"audio-processing-and-speech-understanding","description":"Gemini 3.1 Pro Preview Custom Tools can process audio files, perform speech-to-text transcription, identify speakers, detect audio events, and understand spoken content. The model uses acoustic embeddings and language models to transcribe speech, identify languages, and extract semantic meaning from audio. Audio analysis results can inform tool selection, routing to transcription services, speaker identification tools, or audio processing pipelines based on detected content and quality.","intents":["I want to transcribe audio files to text","I need to identify speakers or detect audio events","I want to understand spoken content and extract key information","I need to analyze audio and route to specialized processing tools"],"best_for":["speech-to-text and transcription services","podcast and audio content analysis","voice-based command and control systems","accessibility applications for audio content"],"limitations":["transcription accuracy depends on audio quality and background noise","language support is limited to languages in the model's training data","speaker identification requires clear audio separation; overlapping speech may be misattributed","audio processing is limited by context window size; very long audio may require chunking"],"requires":["Google API key with Gemini 3.1 Pro Preview access","audio files in supported formats: MP3, WAV, or OPUS","audio files under size limits (typically 20MB per file)","sufficient API quota for audio processing"],"input_types":["audio files (MP3, WAV, OPUS)","text prompts asking questions about audio content","optional context about audio source or expected content"],"output_types":["transcribed text from speech","identified speakers or audio events","extracted semantic meaning from spoken content","language identification","tool selection decisions based on audio analysis"],"categories":["data-processing-analysis","tool-use-integration"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"openrouter-google-gemini-3.1-pro-preview-customtools__cap_9","uri":"capability://planning.reasoning.reasoning.and.planning.for.multi.step.tool.workflows","name":"reasoning-and-planning-for-multi-step-tool-workflows","description":"Gemini 3.1 Pro Preview Custom Tools implements chain-of-thought reasoning and task decomposition to plan multi-step tool workflows. The model breaks down complex user requests into sequences of tool invocations, reasoning about dependencies, data flow, and optimal ordering. For example, a request to 'analyze this document and extract key metrics' might be decomposed into: (1) OCR tool to extract text, (2) NLP tool to identify key metrics, (3) data formatting tool to structure results. This is implemented through explicit reasoning steps that are exposed to the user and can be inspected or modified.","intents":["I want the model to break down complex tasks into sequences of tool invocations","I need to understand the model's reasoning for tool selection and ordering","I want to inspect and modify multi-step workflows before execution","I need to handle dependencies between tool invocations"],"best_for":["complex data processing pipelines requiring multi-step orchestration","agents that need to explain their reasoning to users","workflows where tool ordering and dependencies are critical","applications requiring human-in-the-loop approval of tool sequences"],"limitations":["reasoning steps consume additional tokens, increasing API costs","complex reasoning can be slow; multi-step workflows may have high latency","reasoning quality depends on model training; complex dependencies may be misunderstood","no built-in error recovery; if one tool fails, the entire workflow may need to be restarted"],"requires":["Google API key with Gemini 3.1 Pro Preview access","tools with clear descriptions of inputs, outputs, and dependencies","sufficient API quota for reasoning and tool invocations","client support for inspecting and executing multi-step workflows"],"input_types":["text prompts describing complex tasks","tool definitions with clear descriptions","optional constraints on tool ordering or dependencies"],"output_types":["reasoning steps explaining task decomposition","planned sequence of tool invocations","dependency graph or workflow visualization","execution results from multi-step workflows"],"categories":["planning-reasoning","tool-use-integration"],"confidence":0.5,"matches":0,"success_rate":0}],"trust":{"score":26,"verified":false,"data_access_risk":"low","permissions":["Google API key with Gemini 3.1 Pro Preview access","tool definitions provided in OpenAI-compatible or Google tool-calling schema format","at least 2+ custom tools defined to demonstrate tool selection behavior","understanding of tool capabilities and appropriate use cases for routing decisions","input files in supported formats: JPEG/PNG/WebP/GIF for images, MP4/MPEG/MOV for video, MP3/WAV/OPUS for audio","tool definitions that specify supported input modalities","sufficient API quota for multimodal processing","tools that return clear error messages on failure","alternative tools defined for fallback scenarios","client-side error handling and logging infrastructure"],"failure_modes":["tool selection behavior depends on model's training data and may not always match user's preferred tool priority","requires explicit tool definitions and schemas to be provided; model cannot discover or infer tool capabilities","no user-configurable tool preference weights or ranking system exposed in the API","tool selection is non-deterministic across identical requests if multiple tools have similar capability scores","audio and video inputs may require preprocessing or format conversion before submission","tool selection is based on input modality detection; no explicit user control over modality-to-tool mapping","video processing is limited by context window size; long videos may require chunking or summarization","audio input quality and language support depend on underlying speech recognition capabilities","error recovery consumes additional tokens and increases latency","model may not always choose the best recovery strategy; some failures may require manual intervention","builder identity is not verified yet","no observed match outcomes yet"],"rank_breakdown":{"adoption":0.05,"quality":0.49,"ecosystem":0.33,"match_graph":0.25,"freshness":0.75,"weights":{"adoption":0.35,"quality":0.2,"ecosystem":0.1,"match_graph":0.3,"freshness":0.05}},"observed_outcomes":{"matches":0,"success_rate":0,"avg_confidence":0,"top_intents":[],"last_matched_at":null},"maintenance":{"status":"active","updated_at":"2026-05-24T12:16:24.484Z","last_scraped_at":"2026-05-03T15:20:45.776Z","last_commit":null},"community":{"stars":null,"forks":null,"weekly_downloads":null,"model_downloads":null,"model_likes":null}},"distribution":{"claim_url":"https://unfragile.ai/submit?claim=google-gemini-3.1-pro-preview-customtools","compare_url":"https://unfragile.ai/compare?artifact=google-gemini-3.1-pro-preview-customtools"}},"signature":"H86hAZ2H//WHcw/T7bjn6y5BFCeWKe25YuyfD07ZFRmVnHWhFVnRwxM2Q7xhbSNnfvq1vp2HHWZhwr3VpJ89AQ==","signedAt":"2026-06-21T15:52:21.962Z","signedBy":"unfragile.ai","version":1},"_links":{"self":"https://unfragile.ai/api/v1/passport/google-gemini-3.1-pro-preview-customtools","artifact":"https://unfragile.ai/google-gemini-3.1-pro-preview-customtools","verify":"https://unfragile.ai/api/v1/verify?slug=google-gemini-3.1-pro-preview-customtools","publicKey":"https://unfragile.ai/api/v1/trust-passport-public-key","spec":"https://unfragile.ai/trust","schema":"https://unfragile.ai/schema.json","docs":"https://unfragile.ai/docs"}}