ingest_asset
Fetch a remote media URL (image/video/audio) and HOST it on Clipkit, returning a stable asset_url to put in an element's url. Use this so the project's media survives — the original link may rot, be private, or block hotlinking. Anonymous projects allow up to 5 hosted assets / 100 MB total / 50 M...
This record as markdown: /tools/dev-clipkit-clipkit/ingest-asset.md
What ingest_asset does on Clipkit
AI agents use ingest_asset to create or update resources in Clipkit, usually the action step of a workflow, after the agent has gathered context. Every call changes real data in your Clipkit environment.
| Parameter | Type | Required | Description |
|---|---|---|---|
url | string | Yes | A public http(s) URL to an image, video, or audio file. |
filename | string | — | Optional display name for the asset. |
project_id | string | — | Which project to act on — the id returned by create_project / set_project / create_promo / load_project. Omit when working on a single local project. |
Parameters from the server's own tool schema.
Why ingest_asset is rated Medium
Uploads and stores external media on Clipkit infrastructure, modifying project state reversibly.
From the tool's definition Fetch remote media URL and HOST it on Clipkit, returning stable asset_url.
Risk signalsAccepts file system path (filename) · Accepts URL/endpoint input (url)
Attacks that exploit this kind of access
The rule that runs ingest_asset safely
PolicyLayer is an MCP gateway: it sits between your AI agents and Clipkit, and checks every tool call against a rule you set before the call runs. Nothing changes on the server itself. For ingest_asset, this is the rule to start with:
ingest_asset 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 Clipkit, apply this rule, and every ingest_asset call is checked against it from then on.
Questions about ingest_asset
Fetch a remote media URL (image/video/audio) and HOST it on Clipkit, returning a stable asset_url to put in an element's url. Use this so the project's media survives — the original link may rot, be private, or block hotlinking. Anonymous projects allow up to 5 hosted assets / 100 MB total / 50 MB per file; when the limit is hit, tell the user to open the project (open_in_editor) and sign in to add more. Requires project_id. It is categorised as a Write tool in the Clipkit MCP Server, which means it can create or modify data. Consider rate limits to prevent runaway writes.
ingest_asset accepts 3 parameters: url, filename, project_id. Required: url. The full parameter table on this page comes from the server's own tool schema.
Register the Clipkit MCP server in PolicyLayer and add a rule for ingest_asset: 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 Clipkit. Nothing to install.
ingest_asset 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 ingest_asset 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 ingest_asset. 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.
ingest_asset is provided by the Clipkit MCP server (https://www.clipkit.dev/mcp). PolicyLayer sits as a proxy in front of this server to enforce policies before tool calls reach the server.
More on Clipkit, and thousands of servers like it.
This server
Across the catalogue