Lumiqa Docs

deliver_asset

Upload / Review / Deliver write

What it does

Returns a signed, time-limited URL pointing at the final cut (VF) of an approved content item. Optionally flips the status to Postato so the calendar reflects what's been handed off.

Use this to feed downstream pipelines (clients, schedulers, render farms) without exposing your R2 bucket.

Input schema

NameTypeRequiredDefaultDescription
id string required Content id. Must be in Approvato or Postato state.
mark_posted boolean optional false If true, also flips status to Postato.
expires_in_hours number optional 24 URL validity window. Max 168 (7 days).

Example call

json{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "deliver_asset",
    "arguments": {
        "id": "c_abc123",
        "expires_in_hours": 48,
        "mark_posted": true
    }
  }
}

Response shape

json{
  "ok": true,
  "id": "c_abc123",
  "delivery_url": "https://lumiqa.io/api/deliver/your-slug%2Fvf%2F...%2Ffinal.mp4?expires=1716387634&sig=abc...",
  "r2_key": "your-slug/vf/Brand/Title/final.mp4",
  "filename": "final.mp4",
  "content_type": "video/mp4",
  "expires_at_unix": 1716387634,
  "expires_in_hours": 48,
  "marked_posted": true
}

Usage from Claude Desktop

prompt"Give me a 48-hour download link for c_abc123 and mark it as posted."

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": "deliver_asset",
        "arguments": {"id": "c_abc123", "expires_in_hours": 48}
    },
})
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: "deliver_asset",
      arguments: { id: "c_abc123", expires_in_hours: 48 },
    },
  }),
});
const data = await r.json();
console.log(data);

Required env vars / integrations

Known limitations