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

# Kinetune API

The Kinetune API turns your uploaded songs into lyric videos and Spotify Canvas loops, from quoting the credit cost to rendering and retrying the finished video. You upload audio, organise songs under artists with their photos, read each song's analysis, and pick or publish reusable Looks that set the visual style. Video jobs can be cancelled, retried, or delivered to a signed callback URL when they finish, and a stock media search supplies backgrounds.

## For AI agents

Upload songs, quote and render lyric videos or Spotify Canvas loops, and track, cancel, or retry each video job on Kinetune.

## Scope

Does not distribute music to streaming services, collect royalties, or edit arbitrary video timelines. Use for generating lyric videos and Spotify Canvas loops from your own songs only.

## Capabilities

- Quote the credit cost of a lyric video or Canvas before rendering it with POST `/api/v1/quotes`
- Render a lyric video or Spotify Canvas loop for a song, with up to 4 variations and an optional callback_url
- Upload songs, rename or archive them, and read or rerun each song's analysis
- Organise artists with their photos and set the artist picture used in videos
- Browse, rename, delete, and publish or unpublish Looks that define a video's visual style
- Search stock photos and videos for backgrounds, or upload your own background file
- Cancel a rendering video, make it again, or delete it once it is no longer needed

## Use cases

### AI agent release assistant through Jentic

A musician's agent prepares visuals for a release without the musician touching the Kinetune dashboard. Through Jentic the agent searches for 'make a lyric video', loads the Kinetune quote and create operations with their input schemas, quotes the cost, then submits the render with the same song_id and options. The Kinetune key is attached by your own Jentic One instance at call time, so the agent never holds it.

Example prompt: Quote a lyric video for song_id 'sng_123' with POST `/api/v1/quotes`, then create it with POST `/api/v1/videos` using the same options and poll GET `/api/v1/videos/{video_id}` until it is ready

### Spotify Canvas loops for a back list

A label refreshing the Spotify Canvas loops on a back list of releases lists the songs for an artist, quotes a Canvas for each, and creates the loops in turn. Each video can carry your own metadata, such as an order id, and a callback_url so the finished file is posted to your system instead of being polled.

Example prompt: List songs with GET `/api/v1/songs` filtered by artist_id, then for each song quote and create a Canvas with POST `/api/v1/quotes` and POST `/api/v1/videos`, passing a callback_url

### Song library and artist setup

Before any video is made, the songs and artists need to be in place. Kinetune lets you create an artist, add photos and set the artist picture, upload a song's audio and cover art, and read the song analysis that drives lyric timing. If the analysis looks wrong, you can request a fresh analysis for that song.

Example prompt: Create an artist with POST `/api/v1/artists`, upload a song with POST `/api/v1/songs`, then read GET `/api/v1/songs/{song_id}/analysis` and rerun it with POST `/api/v1/songs/{song_id}/analysis` if needed

### Video job recovery

Rendering jobs sometimes need intervention. An agent can list videos for a song, read each video's state, cancel a job that was started with the wrong options, make a failed video again, or delete videos that are no longer needed, keeping the library tidy.

Example prompt: List videos with GET `/api/v1/videos` for a song_id, then call POST `/api/v1/videos/{video_id}/retry` on any video that failed

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| POST | `/api/v1/quotes` | Quote a lyric video or Canvas |
| POST | `/api/v1/videos` | Create a lyric video or Canvas |
| GET | `/api/v1/videos/{video_id}` | Get a video |
| POST | `/api/v1/videos/{video_id}/retry` | Make a video again |
| POST | `/api/v1/songs` | Upload a song |
| GET | `/api/v1/songs/{song_id}/analysis` | Get a song's analysis |
| GET | `/api/v1/looks` | List Looks |
| GET | `/api/v1/stock` | Search stock media |

## Key resources

- **Videos and quotes** — Quote, create, list, read, cancel, retry, and delete lyric videos and Canvas loops
- **Songs** — Upload, list, rename, and archive songs, and read or rerun their analysis
- **Artists** — Create, rename, and archive artists, manage their photos, and set the artist picture
- **Looks and backgrounds** — Browse, rename, delete, and publish Looks, upload backgrounds, and search stock media
- **Account and organizations** — Read the account and its options, and list or create organizations

## 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:** 60 / 100
- **Maturity:** Foundational
- **Dimensions:**
  - Foundational Compliance: 84 / 100
  - Developer Experience & Jentic Compatibility: 69 / 100
  - AI-Readiness & Agent Experience: 35 / 100
  - Agent Usability: 94 / 100
  - Security: 75 / 100
  - AI Discoverability: 68 / 100
- **View full report:** https://jentic.com/apis/kinetune.com/kinetune/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 Kinetune by hand means handling a bearer key or OAuth scopes such as videos:write, matching quote and create payloads, and polling or signing callbacks for finished videos. Through Jentic you install once, import Kinetune from the API Directory, store the credential once, and your agent calls it.
- **Permission scoping:** Kinetune puts the song, artist, Look, and video ids in the URL path (`/api/v1/songs/{song_id}`, `/api/v1/videos/{video_id}`), so a rule can pin your agent to one song or one video and the operations you pick. You choose the operations it may call, so destructive ones like archiving a song or deleting a Look are not included unless you add them.
- **Credential handling:** Your Kinetune 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 'make a lyric video' or 'quote a Spotify Canvas', and Jentic returns the matching Kinetune operation with its input schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **Creatomate API** — Template-based video and image rendering API for general marketing content
- **Shotstack API** — Cloud video editing API that renders timelines of clips, text, and audio
- **Spotify Web API** — Read track, album, and artist data from Spotify

## FAQ

### What authentication does the Kinetune API use?

Per its OpenAPI spec, the Kinetune API accepts a bearer token, either an organization API key beginning kt_live_ or an OAuth access token, and also declares an OAuth 2.0 authorization code flow with scopes such as videos:read, videos:write, music:read, and library:write. Through Jentic the token is stored encrypted by your own Jentic One instance and attached at execution time.

### Can I find out what a lyric video will cost before rendering it?

Yes. POST `/api/v1/quotes` prices a lyric video or a Canvas using the same options you would send to POST `/api/v1/videos.` Quote and create with the same callback_url and metadata values, then create the video once the quote looks right; GET `/api/v1/account` shows your credit balance.

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

The OpenAPI spec does not specify rate limits. Check the Kinetune documentation at https://kinetune.com for current limits before running large batches of renders.

### Is there a Kinetune MCP server?

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

### How do I render a Spotify Canvas through Jentic?

Search Jentic for 'create a Spotify Canvas', load the Kinetune quote operation and call it for your song, then load POST `/api/v1/videos` and submit the Canvas with the same options. Poll GET `/api/v1/videos/{video_id}` or pass a callback_url to receive the finished file. To run it on your own infrastructure, install Jentic One from its GitHub repo.

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

Yes. For example, write a rule that allows only the quote operation, the video create operation, and GET `/api/v1/videos/{video_id}`, so the agent can price, render, and check videos but cannot archive songs or delete Looks. Every call it makes through your instance is logged.

### Can I retry or cancel a Kinetune video?

Yes. POST `/api/v1/videos/{video_id}/cancel` stops a video in progress and POST `/api/v1/videos/{video_id}/retry` makes it again. DELETE `/api/v1/videos/{video_id}` removes a video you no longer need.
