Lumiqa Docs

upload_video

Upload / Review / Deliver write

What it does

Fetches a video from a public URL server-side and writes it into the workspace's review area in R2. If no content_id is supplied, a new content row is created with the given title.

The whole flow is one round-trip from the agent's point of view: the byte stream never touches Claude. Built for plugging in Veo / Runway / Sora outputs without forcing the agent to bridge them.

Input schema

NameTypeRequiredDefaultDescription
url string required Public URL of the video to fetch.
content_id string optional Existing content to attach to. If omitted, a new content is created.
title string optional Title for the new content. Required when content_id is omitted.
brand string optional Brand label for the new content.
filename string optional Override the stored filename. Defaults to the last URL segment.

Example call

json{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "upload_video",
    "arguments": {
        "url": "https://veo.example.com/cdn/video.mp4",
        "title": "Veo concept — coffee morning",
        "brand": "CorpoSostenibile"
    }
  }
}

Response shape

json{
  "ok": true,
  "upload_id": "u_abc123def456",
  "content_id": "c_xyz789abcdef",
  "r2_key": "your-slug/review/CorpoSostenibile/Veo concept — coffee morning/1716301234567-video.mp4",
  "size_bytes": 12345678,
  "content_type": "video/mp4"
}

Usage from Claude Desktop

prompt"Take the Veo output at https://veo.example.com/cdn/video.mp4,
upload it as a new content called 'Veo concept — coffee morning',
and put it under brand CorpoSostenibile."

Usage from Python

pythonimport requests

LUMIQA = "https://lumiqa.io/mcp/your-slug"
HEADERS = {"Authorization": "Bearer lk_live_xxxxxxxxxxxx"}

r = requests.post(LUMIQA, headers=HEADERS, json={
    "jsonrpc": "2.0", "id": 1,
    "method": "tools/call",
    "params": {
        "name": "upload_video",
        "arguments": {"url": "https://veo.example.com/cdn/video.mp4", "title": "Veo concept"}
    },
})
print(r.json())

Usage from Node

javascriptconst r = await fetch("https://lumiqa.io/mcp/your-slug", {
  method: "POST",
  headers: {
    "Authorization": "Bearer lk_live_xxxxxxxxxxxx",
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    jsonrpc: "2.0", id: 1,
    method: "tools/call",
    params: {
      name: "upload_video",
      arguments: { url: "https://veo.example.com/cdn/video.mp4", title: "Veo concept" },
    },
  }),
});
const data = await r.json();
console.log(data);

Required env vars / integrations

Known limitations