embed_multimodal
mlpeek: Create multimodal embeddings: images and text in one vector space. For text only use embed_texts. Returns 768-dim vectors of texts and images (URL or base64) in ONE space (EmbeddingGemma 2), comparable by dot product; dimensions 512/256/128, input_type text prefix, image_detail low/standa...
This record as markdown: /tools/dev-tanod-tanod/embed-multimodal.md
What embed_multimodal does on Tanod
AI agents use embed_multimodal to create or update resources in Tanod, usually the action step of a workflow, after the agent has gathered context. Every call changes real data in your Tanod environment.
| Parameter | Type | Required | Description |
|---|---|---|---|
items | array | Yes | 1-16 items, each {text}, {image_url} or {image_base64}; every vector lands in one shared space. Priced per item. |
encoding | string | — | base64 = little-endian float32 bytes. |
dimensions | integer | — | 768 (default), 512, 256 or 128: the leading values, re-normalised (Matryoshka). |
input_type | string | — | Task prefix for text items (images get none): query (search query), document (search corpus), question, fact_check, code_query, classification, clustering, simi |
image_detail | string | — | Vision tokens per image: low (70), standard (140) or high (280, slowest). At most 16 low, 8 standard or 4 high images per call. |
Parameters from the server's own tool schema.
Why embed_multimodal is rated Medium
An AI agent can call embed_multimodal faster than any human can review: one bad instruction and it creates or modifies resources in Tanod by the hundred, each call as confident as the last.
Attacks that exploit this kind of access
The rule that runs embed_multimodal safely
PolicyLayer is an MCP gateway: it sits between your AI agents and Tanod, and checks every tool call against a rule you set before the call runs. Nothing changes on the server itself. For embed_multimodal, this is the rule to start with:
embed_multimodal stays usable, but capped: an agent stuck in a loop can't make hundreds of changes a minute. Everything else on the server is denied unless you say otherwise.
The button opens the PolicyLayer dashboard: create your workspace, connect Tanod, apply this rule, and every embed_multimodal call is checked against it from then on.
Questions about embed_multimodal
mlpeek: Create multimodal embeddings: images and text in one vector space. For text only use embed_texts. Returns 768-dim vectors of texts and images (URL or base64) in ONE space (EmbeddingGemma 2), comparable by dot product; dimensions 512/256/128, input_type text prefix, image_detail low/standard/high. At most 16 low, 8 standard or 4 high-detail images (10 MB each, public URLs). Over 4,096 text tokens or a bad image (named by index) is a 422; an unavailable model a 503 (none charged). Typically 0.05 s per short text and 1.5-3 s per image (6.5 s at high detail), plus a few seconds on first use. Price: USD 0.002 per item (1-16 items per call: USD 0.002-0.032). Free: 5 mlpeek calls per IP per UTC day. The submitted text is never logged or stored. Docs: https://tanod.dev/learn/embeddings-rerank-ner-mcp-server.html. It is categorised as a Write tool in the Tanod MCP Server, which means it can create or modify data. Consider rate limits to prevent runaway writes.
embed_multimodal accepts 5 parameters: items, encoding, dimensions, input_type, image_detail. Required: items. The full parameter table on this page comes from the server's own tool schema.
Register the Tanod MCP server in PolicyLayer and add a rule for embed_multimodal: allow, deny, rate-limit, or require approval. Point your MCP client at the PolicyLayer proxy URL and the rule is enforced on every call, before it reaches Tanod. Nothing to install.
embed_multimodal is a Write tool with medium risk. Write tools should be rate-limited to prevent accidental bulk modifications.
Yes. Add a rate_limit block to the embed_multimodal rule in your PolicyLayer policy. For example, setting max: 10 and window: 60 limits the tool to 10 calls per minute. Rate limits are tracked per agent session and reset automatically.
Set action: deny in the PolicyLayer policy for embed_multimodal. The AI agent will receive a policy violation error and cannot call the tool. You can also include a reason field to explain why the tool is blocked.
embed_multimodal is provided by the Tanod MCP server (https://tanod.dev/mcp). PolicyLayer sits as a proxy in front of this server to enforce policies before tool calls reach the server.
More on Tanod, and thousands of servers like it.
This server
Across the catalogue