Katto Mcp

io.github.miracleweasel由 GitHub 帳號 miracleweasel 發布v0.6.2更新於 Nov 5, 2026

AI video clipping MCP: long videos and podcasts into scored, captioned 9:16 shorts.

已驗證Streamable HTTP可網頁執行溝通與協作媒體與設計

概覽

AI 產生的概覽

Katto 把長影片和播客切成附評分與字幕的 9:16 短影音,並讓助理管理、編輯與發布這些片段。

可以做什麼
  • 提交公開連結或本機上傳的長影片,輪詢任務取得成品片段、逐字稿與用量
  • 從指定時間區間建立片段、渲染更多已評分片段,或取消進行中的任務
  • 對成品片段重新渲染:更換構圖、字幕樣式、翻譯字幕、配音、加開場鉤子、裁切或改標題
  • 產生各平台貼文文案,並把片段發布或排程發布到已連結的社群帳號
  • 讀取帳號、品牌套件、webhook 密鑰,以及來源、片段長度與字幕樣式等參考清單
適用情境
適合讓助理把播客、訪談、直播或線上研討會改造成供 TikTok、Reels 或 YouTube Shorts 使用的直式短片,並在對話中完成剪輯與排程。
執行需求
可使用託管的遠端端點並以 OAuth 登入,或透過 npx 執行本機 npm 套件並提供在 Katto 後台建立的 KATTO_API_KEY。需要 Katto 帳號與方案配額;包含免費方案在內的所有方案都提供 API 存取。
安裝前請注意
發布會把內容公開貼到已連結的社群帳號,需先確認片段、平台與文案;取消排程貼文同樣具破壞性。每個新建剪輯任務會用掉每月配額中的一支影片額度。webhook 密鑰工具會回傳憑證,不應顯示或記錄。上傳檔案與連結會傳送到 Katto 服務。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Katto Mcp,將其新增到工作區。
  2. 連接 所需的 憑證。它們會被私密儲存,絕不會在公開頁面上展示。
  3. 為需要使用其工具的對話啟用該服務。

Web executable,透過 Streamable HTTP。 遠端服務在工作區中設定後即可從網頁執行環境執行。

交給代理程式安裝

把這段提示詞貼上到 Claude Code、Codex、Cursor 等代理程式,或 SourceWeft 對話中。代理程式會讀取該伺服器的安裝指南,先向你展示發布者、端點和登入方式,經你同意後再把它新增到你的客戶端。金鑰不會寫進任何命令。

閱讀 https://sourceweft.com/mcp/io.github.miracleweasel%2Fkatto-mcp/install.md,並按其中說明把這個 MCP 伺服器接入我的客戶端。修改任何設定之前,先告訴我它的發布者、端點和登入方式,等我確認。不要把 API 金鑰寫進命令或我會提交的檔案;問我金鑰應從哪裡取得。

檢視代理程式所依據的安裝指南

其他 MCP 客戶端

把它新增到你客戶端的 mcpServers 設定中。 客戶端會在首次連接時完成 OAuth 登入。

{
  "mcpServers": {
    "katto": {
      "type": "http",
      "url": "https://mcp.katto.tech/mcp"
    }
  }
}

README

katto-mcp

[npm version] [npm downloads] [license] [MCP Registry]

The AI video clipping MCP server. Turn long videos into scored, captioned, vertical 9:16 short clips from any MCP client (Claude, Cursor, Claude Code, ChatGPT, VS Code, and other conformant clients). Drop in a YouTube link, a podcast, or a Twitch VOD and get publish-ready shorts back through natural conversation.

Powered by Katto, an AI video clipper that turns long-form video (podcasts, interviews, streams, webinars) into short-form clips for TikTok, Reels and YouTube Shorts. Katto is a flat-priced, no-credits alternative to tools like OpusClip: the Creator plan's 25-video monthly quota covers videos up to 90 minutes each. API and MCP access is included on every plan, including the free one (2 videos/month), not gated behind a paid or enterprise tier.

What it does

Ask your agent something like "clip the best moments from this podcast and reframe them for TikTok" and Katto will:

  • find the strongest 30 to 90 second moments in a long video and score each clip 0 to 100 on Hook, Flow, Value and Trend,
  • reframe to vertical 9:16 with face tracking, split-screen for two speakers, and stacked layouts for gaming,
  • burn animated captions (auto-captioned in 99 languages via Whisper large-v3; word-by-word timing in 41 of them, sentence-level in the rest) and optionally dub into 105 languages,
  • and hand back publish-ready MP4 files plus SRT caption urls.

Typical uses: repurpose a YouTube video into shorts, turn a podcast episode into clips, cut highlights from a Twitch VOD, or convert a long interview into vertical social posts.

Two ways to connect

Hosted (zero-install, recommended)

Point any OAuth-capable MCP client at the hosted endpoint and sign in with your Katto account. The API key never touches your disk, and you can revoke access anytime:

https://mcp.katto.tech/mcp   (Streamable HTTP, OAuth 2.1)

Local (npx)

For Cursor, CI and scripts. Create an API key at katto.tech/dashboard/api-keys, then add the server to your MCP client config:

json
{  "mcpServers": {    "katto": {      "command": "npx",      "args": ["-y", "katto-mcp"],      "env": { "KATTO_API_KEY": "sk_live_..." }    }  }}

The hosted endpoint above also accepts Authorization: Bearer sk_live_... directly for key-based clients.

Install per client

Claude Code (hosted, OAuth):

bash
claude mcp add --transport http katto https://mcp.katto.tech/mcp

Claude Desktop — Settings → Connectors → Add custom connector → https://mcp.katto.tech/mcp, then sign in. (Or add the npx block above to claude_desktop_config.json.)

Cursor — Settings → MCP → Add → paste the npx JSON block above (uses KATTO_API_KEY).

VS Code (MCP extension) — add the same npx block to your MCP settings, or point it at the hosted URL if your client supports remote OAuth servers.

ChatGPT — go to chatgpt.com/plugins, click +, choose Add custom MCP server, paste https://mcp.katto.tech/mcp with OAuth, then type @ in a new chat and pick Katto.

Gemini CLI (extension, hosted, OAuth):

bash
gemini extensions install https://github.com/miracleweasel/katto-mcp

then /mcp auth katto to sign in. The extension (gemini-extension.json + GEMINI.md) points at the hosted endpoint; no key on disk. Manual alternative in ~/.gemini/settings.json: "mcpServers": { "katto": { "httpUrl": "https://mcp.katto.tech/mcp" } }.

Antigravity CLI (agy, Gemini CLI's successor) — add the hosted server to ~/.gemini/config/mcp_config.json: "mcpServers": { "katto": { "serverUrl": "https://mcp.katto.tech/mcp" } }, or run agy plugin import gemini after installing the Gemini CLI extension above.

Tools

29 tools, in five groups: nine for clipping, eight for editing, four for publishing, one for feedback, seven for account and reference.

Clipping:

  • katto_create_clip_job(url | upload_id, config?) clip a long video from a public link (YouTube, Twitch, Kick, Vimeo, Zoom, Google Drive, Dropbox, Loom, LinkedIn, Facebook, Rumble, Dailymotion, Medal.tv, or a direct https link to a video file) or a file uploaded with katto_upload_video. Returns a job id.
  • katto_upload_video(filename, content_type, size) clip a local file: returns a presigned upload url to PUT the file to, then katto_create_clip_job with upload_id.
  • katto_get_job(id) poll until status is completed; clips holds the finished MP4 + caption (SRT) urls.
  • katto_get_clips(id) just the finished clips of a job (MP4 + SRT + title + virality score).
  • katto_get_transcript(id) the job's timestamped transcript segments.
  • katto_list_jobs(limit?, cursor?, status?) your recent jobs, newest first (keyset pagination).
  • katto_cancel_job(id) cancel a running job and refund the monthly video slot.
  • katto_create_clip(id, start_seconds, end_seconds, aspect?, auto_reframe?) a new clip from any time range of the source (3-180 s, up to 10 per video, within 7 days). No quota.
  • katto_more_clips(id, count?) render more clips from the moments Katto scored but did not render. No quota.

Editing (no quota):

  • katto_rerender_clip(id, clip_index, layout_mode?, caption_style?) re-render one clip with a new reframe layout or caption style.
  • katto_dub_clip(id, clip_index, languages) re-render a clip dubbed into one or more of 105 languages.
  • katto_get_rerender(id, rerender_id) poll a re-render for the new versioned clip url.
  • katto_translate_captions(id, clip_index, language) re-render a clip with its captions translated into one of 19 languages (Creator).
  • katto_retitle_clip(id, clip_index, style? | title?) AI-regenerate a clip's title, or save your own.
  • katto_adjust_clip(id, clip_index, start_offset_seconds?, end_offset_seconds?) trim or extend a clip (relative to its original bounds, 3-180 s; extending works within 7 days of the job) and re-render it.
  • katto_add_hook(id, clip_index, text?, position?, duration?) burn a hook over the first seconds; without text, Katto's AI writes one.
  • katto_generate_post_text(id, clip_index, platform?) AI-written title / caption / hashtags per platform, ready for katto_publish_clip. Nothing is posted.

Publishing:

  • katto_list_connected_accounts() which of the 7 platforms are connected in Katto, and whether one needs a reconnect. Call it before publishing.
  • katto_publish_clip(id, clip_index, platform, caption?, schedule_at?, ...) post a clip now or later to a social account connected in the Katto dashboard (YouTube, TikTok, LinkedIn, Instagram, Bluesky, Mastodon, Threads). Posts publicly: clients should confirm with the user first (annotated destructive). Paid plans; scheduling on Creator.
  • katto_list_scheduled_posts(status?, limit?, cursor?) the scheduled posts, newest first, with their status and error.
  • katto_cancel_scheduled_post(scheduled_post_id) cancel a post that has not gone out yet (annotated destructive).

Feedback:

  • katto_rate_clip(id, clip_index, rating, reason?) record the user's good/bad verdict on a clip, like the thumbs on the results page.

Account and reference:

  • katto_get_usage() your plan and remaining monthly video quota.
  • katto_get_account() the connected account, this key's scopes, and quota.
  • katto_get_brand_kit() your saved brand kits (colors, caption font, layout, watermark).
  • katto_get_webhook_secret() your webhook signing secret and how to verify signed callbacks (returns a secret — treat it like a credential).
  • katto_list_sources() the link sources Katto can clip from, with an example url each.
  • katto_list_clip_lengths() the valid target clip-length buckets.
  • katto_list_caption_styles() the caption-style presets you can pass as caption_style when creating a job or re-rendering a clip.

Jobs draw from your Katto plan's monthly video quota (25 on Creator, 10 on Solo, 2 on Free), with source videos up to 90, 60 and 30 minutes respectively. The underlying REST API also supports Idempotency-Key safe retries, read-only scoped keys, and signed HMAC webhooks. See the docs.

Env

varrequireddefault
KATTO_API_KEYyes(none)
KATTO_API_URLnohttps://katto.tech

Full docs: katto.tech/docs/api

Security & data

  • Hosted auth is OAuth 2.1 — the API key is never written to your disk, and you can revoke a connected client anytime from your Katto account settings.
  • Local auth uses a scoped sk_live_ key you create yourself; keys can be read-only, and the npx server only sends it to KATTO_API_URL (default katto.tech) over HTTPS.
  • katto_get_webhook_secret returns a signing secret — handle it like any credential; it is only needed to verify inbound webhook signatures.

Also listed on

Public Discovery

Katto – AI video clipping MCP server: turn long videos and podcasts into scored, captioned, reframed 9:16 clips, from any MCP client (Claude, Cursor, ChatGPT). Hosted, OAuth 2.1, no API key on disk.

Intents this server covers: AI video clipping MCP server, MCP server for short-form video, MCP to turn podcasts into clips, video clipping for AI agents (Claude / Cursor / ChatGPT).

Example prompts:

  1. "Clip the best moments from this podcast episode and reframe them for TikTok: https://youtube.com/watch?v=…"
  2. "Check the status of my last clipping job and give me the download links for the finished clips."
  3. "Take clip 2 from that job, dub it into Spanish and re-render it with the Bold caption style."

License

MIT — see LICENSE.

來源:README.md,提交 1dff753

工具

29

katto_create_clip_job

Create clip job

Submit a long video for clipping, either by public link in url (YouTube, Twitch, Kick, Vimeo, Zoom, Google Drive, Dropbox, Loom, LinkedIn, Facebook, Rumble, Dailymotion, Medal.tv, or a direct https link to a video file; Google Drive and Dropbox links must be shared publicly) or, for a local file, by upload_id after katto_upload_video and the PUT of the file. Pass exactly one of url or upload_id. Consumes 1 video from your monthly quota — check katto_get_usage first. Clips are produced asynchronously; returns a job id, then poll katto_get_job every 30-60 s until status is 'completed', or pass webhook_url to be notified (url jobs only). Pass idempotency_key when you might retry a url job, so a retry never spends a second video (an upload can only be started once anyway). Fails if the URL is unsupported, the uploaded file is missing, or the video is longer than your plan allows. Full reference: https://katto.tech/mcp/tools

輸入參數urlconfigupload_idwebhook_urlidempotency_key

katto_get_job

Get job status & clips

Read-only. Get the status, progress and clips of a job by id. Clips come ranked by virality score (0-100, highest first; ties broken by clip_index). Each clip is { url, captions_url, title, score, clip_index, hd }: when status is 'completed' every url is a finished, downloadable clip; hd is true once the 1080p high-quality render is ready. hd=false does NOT mean broken — the url already works, the 1080p is just still rendering in the background (and stays the standard render on the free plan). The job-level hd_ready flag turns true once every clip is hd, i.e. the URLs are final and won't be swapped again (status='completed' fires earlier). Returns 404 for an unknown id.

輸入參數id必填

katto_list_jobs

List jobs

Read-only. List your recent jobs, newest first. Paginate with 'cursor' (pass the previous next_cursor); optional 'status' filter. Returns { jobs: [{id, status, source, created_at, completed_at}], next_cursor }.

輸入參數limitcursorstatus

katto_get_clips

Get finished clips

Read-only convenience: the clips of a job as { url, captions_url, title, score, clip_index, hd }, ranked by score (highest first). hd=true means the 1080p render is ready; hd=false means the url is the standard render (HD still finishing, or the free plan). Empty until the first clip is ready.

輸入參數id必填

katto_get_usage

Get plan & quota

Read-only. Your current plan and monthly video quota: { plan, videos_used, videos_limit, videos_remaining }. Call before katto_create_clip_job to confirm remaining quota.

無需輸入參數。

katto_get_transcript

Get transcript

Read-only. The transcript of a completed job as timestamped segments [{ start, end, text }]. Returns 404 while the job is still processing.

輸入參數id必填

katto_cancel_job

Cancel job & refund slot

Cancel a still-running job (queued/processing) and refund the video back to your monthly quota. Safe to retry (idempotent). Returns an error if the job already finished, failed, or was cancelled.

輸入參數id必填

katto_get_account

Get account

Read-only. The account behind this key: plan, this key's scopes (read/write), and monthly quota { videos_used, videos_limit, videos_remaining }.

無需輸入參數。

katto_list_sources

List supported sources

Read-only. The link sources Katto can clip from (YouTube, Twitch, Kick, Vimeo, Zoom, Google Drive, Dropbox, Loom, LinkedIn, Facebook, Rumble, Dailymotion, Medal.tv, or a direct https link to a video file), each with an example URL. Use it to confirm a URL is supported before calling katto_create_clip_job; for a local file use katto_upload_video instead.

無需輸入參數。

katto_list_clip_lengths

List clip-length options

Read-only. The valid values for the optional config.clipLength on katto_create_clip_job (target clip-duration buckets). Note: clipLength is fixed at creation and cannot be changed by re-render.

無需輸入參數。

katto_list_caption_styles

List caption styles

Read-only. The valid caption_style preset names for katto_rerender_clip (id + label), e.g. 'hormozi' for bold word-by-word highlight. Call this before re-rendering so you pass a real preset instead of guessing.

無需輸入參數。

katto_rerender_clip

Re-render a clip

Re-render one already-finished clip with a new reframe layout and/or caption style (get valid caption_style values from katto_list_caption_styles). Free — does NOT use video quota. Each call starts a new render (not idempotent); the original clip is kept. Returns a rerender_id; poll katto_get_rerender for the new clip url.

輸入參數id必填clip_index必填layout_modecaption_style

katto_dub_clip

Dub a clip

Re-render one finished clip dubbed into one or more of 105 languages (ISO 639-1 codes such as en, es, fr, pt, hi, bn, ta, te, ur, ja, zh, ko, ar, sw; 86 of them in beta). Creator feature (requires an active subscription); does NOT use your monthly video quota. Each call starts a new render (not idempotent). Returns a rerender_id; poll katto_get_rerender for the result.

輸入參數id必填languages必填clip_index必填

katto_get_rerender

Poll a re-render

Read-only. Poll a re-render started by katto_rerender_clip or katto_dub_clip. Returns { status, clip_url, captions_url, dub_urls } — dub_urls is { lang: url } and is where a DUB lands (clip_url stays the undubbed re-render), null otherwise — clip_url is null until status is 'completed'.

輸入參數id必填rerender_id必填

katto_get_brand_kit

Get brand kits

Read-only. Your saved brand kits (colors, caption font and position, default layout, watermark url).

無需輸入參數。

katto_get_webhook_secret

Get webhook signing secret

Read-only. Returns your webhook signing SECRET — treat it as a credential (do not display or log it) — plus how to verify Katto's signed completion callbacks (HMAC-SHA256 of {timestamp}.{body}). Pass webhook_url on a job to receive them.

無需輸入參數。

katto_create_clip

Create a clip from a time range

Create a NEW clip from any time range of a completed job's source video, when the user wants a moment Katto did not pick. start_seconds/end_seconds are SOURCE-video seconds (take them from katto_get_transcript segments); the clip must last 3-180 s. Does NOT use video quota. Limits: at most 10 created clips per video, one clip in preparation at a time (409 'Another clip is being prepared' = wait and retry), and only within 7 days of the job (410 after that: the source is no longer kept). Captions come from the words Katto already timed; has_captions=false means that range had none and the clip renders without captions. Not idempotent: each call queues another clip. Returns expected_clip_index; poll katto_get_clips every 15-30 s until a clip with that clip_index appears.

輸入參數id必填aspectend_seconds必填auto_reframestart_seconds必填

katto_more_clips

Render more clips from the reserve

Render more clips from a job's reserve: moments Katto scored but did not render, best first. Use when the user wants more clips from the same video. Does NOT use video quota. count is 1-10 (default 5), capped by what is left. Returns { status: 'queued'|'pending'|'empty', requested, remaining }: 'pending' means a request is already running (do not call again), 'empty' means the reserve is used up. New clips are appended to the job; poll katto_get_clips.

輸入參數id必填count

katto_upload_video

Upload a local video

Step 1 of clipping a LOCAL file (when the user has a file, not a public link). Pass the exact filename, MIME type and size in bytes; the size is checked against the plan's upload limit and the monthly quota is checked (not yet spent). Returns { upload_id, upload_url, headers, expires_in, next_steps }. Then: (2) HTTP PUT the raw file bytes to upload_url with exactly the returned Content-Type header (e.g. curl -X PUT -H 'Content-Type: video/mp4' --upload-file ./file.mp4 '<upload_url>'), before expires_in seconds; (3) call katto_create_clip_job with upload_id: that verifies the file arrived, spends 1 video of quota and starts clipping; (4) poll katto_get_job with id = upload_id. You need a tool that can make an HTTP PUT with a file body (shell, code execution); if you have none, give the user the upload_url and the curl command.

輸入參數size必填filename必填content_type必填

katto_translate_captions

Translate a clip's captions

Translate one finished clip's burned-in captions into one of 19 languages and re-render it with them; word timings are kept and the original clip is preserved. Only the captions change: for a translated VOICE use katto_dub_clip. Creator feature (requires an active Creator subscription; otherwise an error with code upgrade_required and a pricing link to give the user). Does NOT use video quota. Not idempotent: each call starts a new render. Returns a rerender_id; poll katto_get_rerender until status is 'completed' for the new clip_url.

輸入參數id必填language必填clip_index必填

katto_retitle_clip

Retitle a clip

Change a clip's title. Without 'title', Katto's AI writes a new scroll-stopping title in the clip's language (optional style: energetic, descriptive, fun, shocking); each AI regeneration uses one unit of the plan's monthly title-regeneration allowance (an error with 'limit' when it is used up). With 'title', that exact text is saved and nothing is spent. Synchronous: returns { title, clip_index, regenerated }. Does NOT use video quota.

輸入參數id必填styletitleclip_index必填

katto_publish_clip

Publish a clip to social media

Publish a finished clip to one of the user's connected social accounts (YouTube, TikTok, LinkedIn, Instagram, Bluesky, Mastodon, Threads), now or at schedule_at (future, at most 7 days ahead). Call katto_list_connected_accounts first to see which platforms are connected (and not in need of a reconnect); katto_generate_post_text can draft the caption. This posts PUBLICLY on the user's behalf and cannot be undone from Katto: before calling, show the user the clip, the platform, the caption (and TikTok privacy level) and get their explicit confirmation; never publish on your own initiative or retry a publish blindly (each call is a new post). Requires a paid plan; scheduling requires Creator. If the platform is not connected you get an error with code platform_not_connected and a connect_url: ask the user to connect it in the Katto dashboard, then retry. TikTok requires privacy_level chosen by the user (no default) and disclosure of commercial content (brand_content / brand_organic); until Katto's TikTok app is audited, TikTok only accepts posts to a private account. Returns { status: 'published', result } or { status: 'scheduled', scheduled_post_id, scheduled_at }.

輸入參數id必填tagstitlecaptionplatform必填clip_index必填descriptionschedule_atdisable_duetbrand_contentbrand_organicprivacy_level另有 3 個

katto_list_connected_accounts

List connected social accounts

Read-only. Which of the 7 publishable platforms (youtube, tiktok, linkedin, instagram, bluesky, mastodon, threads) the user has connected in the Katto dashboard: { connections: [{ platform, connected, display_name, reconnect_required, connected_at }], connect_url }. Call it BEFORE katto_publish_clip to pick a platform that will work: if the one the user wants shows connected=false or reconnect_required=true, ask them to (re)connect it at connect_url instead of attempting the publish. Never returns tokens.

無需輸入參數。

katto_list_scheduled_posts

List scheduled posts

Read-only. The user's scheduled social posts (from katto_publish_clip with schedule_at, or the dashboard calendar), newest first: { scheduled_posts: [{ id, job_id, clip_index, platform, scheduled_at, status, title, error, posted_at, created_at }], next_cursor }. status: pending = waiting for its time, posting = being published, posted = done, failed = see error. Paginate with cursor = the previous next_cursor; optional status filter.

輸入參數limitcursorstatus

katto_cancel_scheduled_post

Cancel a scheduled post

Cancel a scheduled post before it goes out: it is removed from the calendar and will not be published (same as deleting it in the dashboard calendar). Only pending or failed posts can be cancelled; one already posting or posted returns an error (a published post cannot be taken down from Katto). Confirm with the user which post (platform, clip, time) before cancelling. Safe to retry: a second call returns 'not found'. Returns { id, status: 'cancelled', previous_status }.

輸入參數scheduled_post_id必填

katto_generate_post_text

Write post text for a clip

Write publish-ready post text for one clip with AI, tailored to each platform's tone and character limits, in the clip's language: { clip_index, posts: { [platform]: { title, description, hashtags } } }. title is only filled for YouTube (for the other platforms the caption is description, hashtags included). Omit platform to get all seven at once. Nothing is posted or saved and no video quota is used: show the text to the user, then pass it to katto_publish_clip (caption, or title/description for YouTube). Each call is a new AI generation (identical requests within an hour return the cached text).

輸入參數id必填platformclip_index必填

katto_adjust_clip

Trim or extend a clip

Trim or extend one finished clip by moving its start and/or end, then re-render it. Offsets are in seconds, relative to the clip's ORIGINAL bounds (two calls do not add up): positive extends (start earlier / end later), negative trims. The result must last 3-180 s and stay inside the source video. Extending re-cuts from the source, which Katto keeps 7 days: after that only trimming works (410). Captions for an extended part come from words Katto already timed or the transcript sentence. Does NOT use video quota; the original clip is kept. Not idempotent: each call starts a new render. Returns { rerender_id, status_url, start_seconds, end_seconds, duration_seconds, extended }; poll katto_get_rerender for the new clip_url.

輸入參數id必填clip_index必填end_offset_secondsstart_offset_seconds

katto_add_hook

Add a hook to a clip

Add a hook, big bold text over the first seconds that stops the scroll, to one finished clip and re-render it. Pass text to use your own (max 80 characters, 3-7 words reads best) or omit it and Katto's AI writes one from the clip in its language. position: top (default) or center; duration: 1-10 s (default 4). Styled like the editor's AI Hook (white, boxed, pop-in). Does NOT use video quota; the original clip is kept. Not idempotent: each call starts a new render, and a re-render starts from the original clip, so calling it again replaces the hook rather than stacking two. Returns { rerender_id, hook_text, generated, status_url }; poll katto_get_rerender for the new clip_url.

輸入參數id必填textdurationpositionclip_index必填

katto_rate_clip

Rate a clip

Record the user's verdict on a clip: rating good or bad, with an optional reason in their words. Same signal as the thumbs up/down on the Katto results page; it is used to improve which moments Katto picks. Only rate when the user expressed an opinion, never on your own. Rating again records the new verdict (the latest one counts). Returns { ok, clip_index, rating }.

輸入參數id必填rating必填reasonclip_index必填

版本歷史

4
  1. v0.6.2最新Nov 5, 2026
  2. v0.6.1Oct 19, 2026
  3. v0.5.9Sep 30, 2026
  4. v0.5.6Sep 16, 2026

評分

已滿足適用檢查項的 100%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通必需25 分
  • 已宣告認證方式必需10 分
  • 已列出工具15 分
  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分