The content backend your AI pipeline has been missing
You wired up the agents. You built the prompts. You got the orchestration working. Then you hit the same wall every AI content pipeline hits — your agent has nothing real to reach for. Clipsilo is the structured, approval-gated content layer that turns "draft a post" into "ship a post."
REST API · MCP server · Webhooks · Claude, ChatGPT, LangChain ready
MCP
Native server
REST
OpenAPI 3.1
SHA-256
Content addressing
HMAC
Signed webhooks
Why AI content pipelines stall
Three problems kill every production agent workflow. Clipsilo solves all three.
Agents hallucinate asset URLs
Without a real lookup, your agent invents s3://bucket/video_final.mp4 — and your pipeline 404s at publish time. Structured retrieval replaces guesswork with real file handles.
No structured metadata for retrieval
"Find the drone clip" is meaningless to an agent if your assets are raw files in a bucket. Clipsilo stores tags, titles, content type, and approval state — LLM-friendly filters for every retrieval.
No approval gate before distribution
An autonomous agent that can publish to Twitter is a liability waiting to happen. Clipsilo\'s approval state is a hard gate — agents can only distribute assets that a human has already signed off on.
MCP: the agent-native way into your warehouse
Every Clipsilo account ships with a native MCP endpoint. Point Claude Desktop, ChatGPT with plugins, or a LangChain agent at the URL — it just works, zero custom integration code.
What MCP actually is
Model Context Protocol is an open standard that lets AI agents discover and call tools without custom glue code. The agent introspects your MCP server, sees the tools it offers, and can invoke them with typed parameters — the same way a human developer reads an OpenAPI spec.
- Tool discovery is automatic
- Typed inputs and outputs — no parsing guessing
- Works with Claude Desktop, ChatGPT, LangChain, AutoGen, custom agents
How your agent connects
Your Clipsilo workspace exposes an MCP URL like https://mcp.clipsilo.com/v1/<workspace-id>. Register it once in Claude Desktop's config file or your agent's tool registry — and your agent now has search_assets, get_asset, list_batches, and get_batch available.
- Auth via API key header
- Only approved assets are returned
- Responses include pre-signed S3 URLs
Example MCP tool call — Claude retrieving an approved asset by tag:
// Claude invokes:
{
"tool": "clipsilo_search_assets",
"arguments": {
"query": "drone b-roll sunset",
"content_type": "video",
"tags": ["aerial", "approved"],
"approved_only": true
}
}
// Clipsilo responds:
{
"results": [
{
"id": "ast_7f2b9c",
"title": "Golden hour aerial over ridge",
"content_type": "video",
"sha256": "a7f9...c1d4",
"approved_at": "2026-03-08T14:22Z",
"signed_url": "https://s3...",
"metadata": { "duration_s": 18.4, "resolution": "4K" }
}
]
}
The 3-step ingest flow
A standard OpenAPI 3.1 REST surface. Readable spec, predictable verbs, idempotent endpoints.
Request upload URLs
POST /v1/assets/upload_urls with a list of files and their SHA-256 hashes. Clipsilo responds with pre-signed S3 URLs for direct upload — bypassing our servers.
Upload direct to S3
Your agent PUTs bytes straight to S3. Files over 100 MB use multipart automatically. Dedup is by SHA-256 — re-uploads of existing content are a no-op.
Finalize with batch manifest
POST /v1/batches with the asset manifest — titles, tags, descriptions, platform metadata. A single atomic operation that either ingests everything or rolls back.
Webhooks for state changes
Every lifecycle event — batch.ingested, asset.approved, asset.rejected, asset.distributed — fires an HMAC-signed webhook. Your agent orchestrator listens, reacts, and keeps the pipeline moving without polling.
Works with the agents you already use
MCP is an open standard. Clipsilo supports it natively, and everything built on REST works too.
Claude (Anthropic)
Native MCP in Claude Desktop. Zero-config tool access.
ChatGPT with plugins
OpenAPI-compatible surface. Plugin manifest ready.
LangChain agents
Drop-in via the langchain-mcp adapter.
Custom HTTP clients
Plain REST. curl, Python, Go, Ruby, Node — all fine.
A real agent integration
A Python agent that retrieves an approved asset and posts it to LinkedIn — end to end.
# Agent: retrieve approved drone clip, post it to LinkedIn
import requests, os
from anthropic import Anthropic
CLIPSILO_KEY = os.environ["CLIPSILO_API_KEY"]
HEADERS = {"Authorization": f"Bearer {CLIPSILO_KEY}"}
# 1. Ask Clipsilo for an approved drone clip
def search(query, tag):
r = requests.get(
"https://api.clipsilo.com/v1/assets",
headers=HEADERS,
params={"q": query, "tag": tag, "approved": True}
)
return r.json()["results"][0]
asset = search("drone sunset", tag="aerial")
# 2. Let Claude draft a caption for it
client = Anthropic()
caption = client.messages.create(
model="claude-opus-4-7",
max_tokens=200,
messages=[{"role": "user",
"content": f"Write a LinkedIn caption for: {asset['title']}"}]
).content[0].text
# 3. Hand off to a distributor (LinkedIn, Buffer, Zapier, etc.)
post_to_linkedin(asset["signed_url"], caption=caption)
# 4. Record distribution back in Clipsilo (audit trail)
requests.post(
f"https://api.clipsilo.com/v1/assets/{asset['id']}/distributions",
headers=HEADERS,
json={"platform": "linkedin", "caption": caption}
)
~25 lines. No file shuffling, no hallucinated URLs, full audit trail.
Questions AI engineers ask
Real answers for people building real agent workflows.
How is Clipsilo different from just uploading to my own S3 bucket?
Raw S3 has no metadata, no approval state, no dedup, no agent-discovery. Clipsilo adds the thin but crucial layer that makes a bucket addressable by an LLM — SHA-256 identity, structured tags, approval status, and an MCP endpoint your agent can introspect. You keep the bucket; we add the brain.
Can agents ingest new assets, or only retrieve existing ones?
Both, with guardrails. Read operations (search, get, list) require a read-scoped API key. Write operations (create batch, upload asset) require a write-scoped key. Approval state changes require a human — agents can request changes but cannot self-approve.
What's the rate limit situation for agent workloads?
Default: 1,000 requests/minute per workspace, bursting to 3,000. MCP calls share the same pool. Heavy ingestion workflows should use the batch endpoint — one batch call ingests hundreds of assets atomically and counts as a single request. For pipelines that need more, contact us.
Does Clipsilo call LLMs itself (generate captions, tag assets, etc)?
No — by design. We stay out of the inference path. You bring your own model (Claude, GPT, Gemini, open-weights) and your own prompts. Clipsilo is the structured backend your agents call into. This keeps costs predictable, provider choice flexible, and privacy controls in your hands.
How do I prevent agents from retrieving unapproved assets?
By default, the MCP server only returns assets in the "approved" state. Explicitly asking for drafts requires an escalated API key scope. The approval gate is enforced server-side — agents physically cannot fetch draft assets without the correct credentials. This is the core safety primitive for autonomous content pipelines.
Give your agents a content backend that actually works
Start your 7-day free trial. Point Claude Desktop at your MCP URL in under 60 seconds.
7-day free trial · No credit card · Cancel anytime