---
title: "import_video_url: Import a public video link"
description: "Import one public YouTube, Facebook or TikTok video (up to 10 minutes and 250 MB) into the Library."
canonical_url: "https://meetkuro.com/agents/tools/import_video_url/"
updated: 2026-11-03
locale: "en"
tool: "import_video_url"
scopes: ["generation.write"]
---

# import_video_url

**Import a public video link**

Import one public YouTube, Facebook or TikTok video (up to 10 minutes and 250 MB) into the Library. Returns an asynchronous import: poll get_video_import until ready, then use its upload_id. Import costs no credits and uses storage quota. analyze_after_import runs the app analyst for 5 credits; leave false to analyze with your own model using measure_video and save_video_analysis. Private videos, playlists and live streams are unsupported.

## Scope

- `generation.write` — Makes, edits, imports, shares and deletes media in the account.

## Behaviour

- **Writes**: Creates or changes items in the caller's own account.
- **Adds or updates**: Adds or updates; nothing the caller already has is deleted or overwritten.
- **Reaches outside**: Downloads a public video from YouTube, Facebook or TikTok into the caller's library.
- **Idempotent**: Calling it again with the same arguments has no further effect.

## Credits

What the tool's description says about credits, verbatim:

- Import costs no credits and uses storage quota. analyze_after_import runs the app analyst for 5 credits; leave false to analyze with your own model using measure_video and save_video_analysis.

## Inputs

| Name | Type | Required | Details |
| --- | --- | --- | --- |
| `url` | string | yes | at least 1 character; at most 2048 characters |
| `product` | string | no | one of "kuro"; default "kuro" |
| `analyze_after_import` | boolean | no | default false |

## Example call

A `tools/call` request with the required arguments only, each a placeholder read off the schema. Replace them before sending.

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "import_video_url",
    "arguments": {
      "url": "<url>"
    }
  }
}
```

## Input schema

As the server sends it in `tools/list`:

```json
{
  "type": "object",
  "properties": {
    "url": {
      "type": "string",
      "minLength": 1,
      "maxLength": 2048
    },
    "product": {
      "type": "string",
      "enum": [
        "kuro"
      ],
      "default": "kuro"
    },
    "analyze_after_import": {
      "type": "boolean",
      "default": false
    }
  },
  "required": [
    "url"
  ],
  "additionalProperties": false
}
```

## Related tools

- [`get_video_import`](https://meetkuro.com/agents/tools/get_video_import.md): Read one import's progress by import_id, or omit it to recover recent imports.
- [`measure_video`](https://meetkuro.com/agents/tools/measure_video.md): Measure an uploaded video so you can reverse-engineer its format: shot boundaries with real timestamps, one or more keyframe images per shot, a timed transcript, and pacing stats.
- [`save_video_analysis`](https://meetkuro.com/agents/tools/save_video_analysis.md): Store your beat sheet for an analysed video.

---

## About Kuro

Kuro is an AI picture studio: prompt-driven images, clips, voice-overs and music, and storyboard-backed films with consistent characters across every scene.

Agents connect over MCP and can generate directly:

```
claude mcp add kuro https://api.meetkuro.com/mcp --transport http
```

The app is at https://app.meetkuro.com and requires an account.

Each guide, model page, comparison and free tool page on this site (not a tool's variants, and not the index pages) has a Markdown twin at its own URL plus `.md`, and so do /benchmarks/, the English /agents/ page (as /agents.md) and the MCP tool reference. Every tool: https://meetkuro.com/agents/tools/
