canonical: https://jentic.com/apis/kinopipe.com/kinopipe

# KinoPipe API

The KinoPipe API edits video in the cloud: it trims, resizes, crops, subtitles, watermarks, merges, and converts media from a public URL or a direct upload. You either run a ready-made tool such as trim-video, compress-video, or add-subtitles-to-video, or submit a job that chains up to 12 operations across as many as 6 named inputs. Each request can carry a maxCredits ceiling that is checked before the work starts, and jobs report their status by id or through a webhook.

## For AI agents

Trim, resize, subtitle, watermark, merge, and convert video by running ready-made KinoPipe tools or multi-step editing jobs, with a credit ceiling per request.

## Scope

Does not host or stream video, generate video from text prompts, or manage a media library. Use for editing, converting, and analysing video files only.

## Capabilities

- Run a ready-made video tool by slug, such as trim-video, compress-video, video-to-vertical, or add-subtitles-to-video
- Chain up to 12 editing operations, including trim, resize, crop, watermark, picture-in-picture, and concat, in one job
- Upload a local file directly with filename, contentType, and byteSize, then reuse its mediaUrl as a job input
- Cap what a request may bill with maxCredits, checked before the work starts
- Read a job's status by jobId or receive a webhook when it finishes
- Analyse media with tools such as transcribe-video, detect-scenes, and describe-video

## Use cases

### AI agent video editing through Jentic

An agent asked to cut or reformat a clip searches Jentic for 'trim a video', loads the KinoPipe tool operation with its input schema, and runs the trim-video tool on a public URL with a maxCredits ceiling. Your own Jentic One instance attaches the kp_live_ key at call time, and the agent reads the finished output by jobId.

Example prompt: Call POST `/api/v1/tools/trim-video` with a main input URL and maxCredits set, then poll GET `/api/v1/jobs/{jobId}` until the job completes and return the output URL

### Social-ready clips from long video

A content team turns long recordings into short vertical clips. KinoPipe tools such as find-highlights, video-to-vertical, youtube-short, and tiktok-video handle detection and reformatting, so each clip is one tool call instead of a hand-built ffmpeg pipeline.

Example prompt: Run POST `/api/v1/tools/find-highlights` on a recording, then POST `/api/v1/tools/video-to-vertical` on the chosen segment

### Multi-step edit jobs

When one tool is not enough, a job chains operations: trim the main input, overlay a watermark from a second input, add subtitles, and write the output in the chosen format. The first input must use the id main, each id must be unique, and a webhook can notify your system when the job is done.

Example prompt: Submit POST `/api/v1/jobs` with inputs main and logo, operations for trim and watermark, and a webhook URL, then read the result with GET `/api/v1/jobs/{jobId}`

### Edit local files with direct upload

Files that are not already online go through a direct upload first. POST `/api/v1/uploads` takes the filename, contentType, and byteSize and returns a mediaUrl that any tool or job accepts as an input.

Example prompt: Create an upload with POST `/api/v1/uploads` for 'clip.mp4' with contentType 'video/mp4', upload the file, then pass the mediaUrl to POST `/api/v1/tools/compress-video`

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| POST | `/api/v1/tools/{slug}` | Run a ready-made video editing tool |
| POST | `/api/v1/jobs` | Create a video editing job |
| GET | `/api/v1/jobs/{jobId}` | Read a video editing job |
| GET | `/api/v1/jobs` | List recent video editing jobs |
| POST | `/api/v1/uploads` | Create a direct media upload |

## Key resources

- **Tools** — Ready-made editing and analysis tools addressed by slug, such as trim-video and transcribe-video
- **Jobs** — Create multi-operation editing jobs, list recent jobs, and read a job by id
- **Uploads** — Create a direct media upload that returns a reusable mediaUrl

## AI readiness

This API is usable in Jentic One now. Its AI-readiness score against Jentic's framework shows where it stands today and where improvements would make it even easier for agents to use.

- **Score:** 65 / 100
- **Maturity:** AI-Aware
- **Dimensions:**
  - Foundational Compliance: 93 / 100
  - Developer Experience & Jentic Compatibility: 66 / 100
  - AI-Readiness & Agent Experience: 44 / 100
  - Agent Usability: 94 / 100
  - Security: 60 / 100
  - AI Discoverability: 70 / 100
- **View full report:** https://jentic.com/apis/kinopipe.com/kinopipe/scorecard
- **How the score is calculated:** https://docs.jentic.com/reference/api-readiness-framework/overview/
- **More about the dimensions:** https://docs.jentic.com/reference/api-readiness-framework/specification/#dimensional-model-overview

### Score it yourself

Every API in the directory is allowlisted, so you can re-score it with no key required.

- **Score your own API:** https://jentic.com/scorecard.md
- **Scoring CLI agent skill:** https://github.com/jentic/jentic-api-scorecard/blob/main/skills/jentic-api-scorecard/SKILL.md

```sh
npx @jentic/api-scorecard-cli score <openapi-url>
```

## Why Jentic

- **Setup:** Wiring KinoPipe by hand means sending a kp_live_ bearer key, uploading local files before editing, and polling jobs or handling webhooks for results. Through Jentic you install once, import KinoPipe from the API Directory, store the key once, and your agent calls it.
- **Permission scoping:** KinoPipe puts the tool slug in the URL path (`/api/v1/tools/{slug}`), so a rule can pin your agent to specific tools such as trim-video and the operations you pick. You choose the operations it may call, so multi-step jobs or other tools are not included unless you add them.
- **Credential handling:** Your KinoPipe key is stored once, encrypted, by your own Jentic One instance and injected at execution time. It never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'trim a video' or 'add subtitles', and Jentic returns the matching KinoPipe operation with its input schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **Shotstack API** — Cloud video editing API that renders timelines of clips, text, and audio
- **Creatomate API** — Template-based video and image rendering for marketing content
- **Mux Video API** — Video hosting, streaming, and playback

## FAQ

### What authentication does the KinoPipe API use?

The KinoPipe API authenticates with a bearer token per its OpenAPI spec: a KinoPipe API key beginning with kp_live_, sent in the Authorization header on every operation. Through Jentic the key is stored encrypted by your own Jentic One instance and injected at execution time.

### Should I use a tool or a job with the KinoPipe API?

Use POST `/api/v1/tools/{slug}` when one ready-made tool such as trim-video or add-subtitles-to-video does the whole task, with tool settings passed in options. Use POST `/api/v1/jobs` when you need to chain several operations, such as trim, crop, and watermark, across multiple named inputs in one run.

### How do I stop a KinoPipe edit from costing more than expected?

Set maxCredits on the tool or job request. It is a hard ceiling checked before the work starts: the full amount is reserved before the job is queued and unused credits are refunded after success.

### What are the rate limits for the KinoPipe API?

The OpenAPI spec does not specify rate limits. Check the KinoPipe documentation at https://kinopipe.com for current limits.

### Is there a KinoPipe MCP server?

You don't need an MCP server to give your agent the KinoPipe API. Jentic connects it directly from the API Directory: import it, store your credential once, and your agent calls the tool, job, and upload operations on demand without loading another server's tool definitions into its context.

### Can I limit what my agent is allowed to do with the KinoPipe API?

Yes. For example, write a rule that allows only POST `/api/v1/tools/compress-video` and GET `/api/v1/jobs/{jobId}`, so the agent can compress videos and check their status but cannot run other tools or submit multi-step jobs. Every call it makes through your instance is logged.

### How do I add subtitles to a video through Jentic?

Search Jentic for 'add subtitles to a video', load the KinoPipe tool operation, and call it with the add-subtitles-to-video slug and a main input URL. Read the result with GET `/api/v1/jobs/{jobId}.` To run it on your own infrastructure, install Jentic One from its GitHub repo.
