KinoPipe
FFmpeg as a service for AI agents.
От сообщества: Добавлен пользователем или импортирован; проверьте владельца перед подключениемРаботаетБез входаГлобальныйБесплатноМожет изменять данные
Что умеет
- Get Video Metadata: Read the duration, dimensions, rotation-corrected display size, frame rate, codecs and audio tracks of a media URL before choosing an edit. The finished job returns the metadata in
- Convert Video To Vertical: Turn a landscape video into a 9:16 vertical MP4 by padding it over a blurred (or black) background — the standard TikTok, Reels and Shorts look, with no cropping. The edit i
- Change Video Speed: Speed a video up or slow it down between 0.25x and 4x with pitch-corrected audio. The edit is asynchronous; call get_job with the returned jobId to retrieve the download URL.
Какие данные видит
Нужен ли аккаунт
Не нужен: сервер работает без входа
FFmpeg as a service for AI agents. KinoPipe gives agents hosted video editing over remote MCP: 39 typed tools (trim, resize, crop, compress, convert, subtitles, watermark, GIF, scene and silence detection, local-file uploads) plus composable single-pass recipes with create_video_job. OAuth 2.1 sign-in, async jobs with get_job, signed download URLs. No shell commands: every request is validated before anything renders.
Free plan: 100 credits, no credit card. Docs: https://kinopipe.com/docs. Connect guide: https://kinopipe.com/connect
Список инструментов сервера (39)
Технические названия из tools/list. Нужны только разработчикам.
| get_video_metadata | Read the duration, dimensions, rotation-corrected display size, frame rate, codecs and audio tracks of a media URL before choosing an edit. The finished job returns the metadata in result.input and as a downloadable JSON file. Runs no encode. The edit is asynchronous; call get_job with the returned jobId to retrieve the download URL. |
| convert_video_to_vertical | Turn a landscape video into a 9:16 vertical MP4 by padding it over a blurred (or black) background — the standard TikTok, Reels and Shorts look, with no cropping. The edit is asynchronous; call get_job with the returned jobId to retrieve the download URL. |
| change_video_speed | Speed a video up or slow it down between 0.25x and 4x with pitch-corrected audio. The edit is asynchronous; call get_job with the returned jobId to retrieve the download URL. |
| detect_scenes | List the timestamps where the picture cuts to a new scene, as JSON in result.analysis — use them to choose trim, split or clip boundaries before editing. The edit is asynchronous; call get_job with the returned jobId to retrieve the download URL. |
| detect_silence | List silent passages (start, end, duration) as JSON in result.analysis without editing anything — for chaptering, cut planning or deciding whether remove-silence is worth running. The edit is asynchronous; call get_job with the returned jobId to retrieve the download URL. |
| analyze_audio | Measure mean and peak volume, integrated loudness (LUFS), loudness range and true peak, as JSON in result.analysis — decide whether and how to normalize before editing. The edit is asynchronous; call get_job with the returned jobId to retrieve the download URL. |
| auto_orient_video | Fix a video that displays sideways or upside down: the rotation stored in metadata is baked into the pixels and the result plays upright everywhere. The edit is asynchronous; call get_job with the returned jobId to retrieve the download URL. |
| strip_video_metadata | Remove GPS location, device model, creation time and encoder tags from a video without re-encoding — a fast stream copy that rewrites only the container. The edit is asynchronous; call get_job with the returned jobId to retrieve the download URL. |
| create_audiogram | Turn audio into a shareable MP4 with an animated waveform — over a background image you supply or a solid dark canvas. The classic podcast and music share format. The edit is asynchronous; call get_job with the returned jobId to retrieve the download URL. |
| add_progress_bar | Overlay a thin animated progress bar that fills over the video duration — the TikTok-style retention cue. The edit is asynchronous; call get_job with the returned jobId to retrieve the download URL. |
| create_boomerang | Play a short clip forward then in reverse as one seamless loop-ready MP4. Sources up to 30 seconds. The edit is asynchronous; call get_job with the returned jobId to retrieve the download URL. |
| generate_audio_waveform | Draw the waveform of an audio file (or a video soundtrack) as a single image — transparent PNG by default, with configurable size and color. The edit is asynchronous; call get_job with the returned jobId to retrieve the download URL. |
| normalize_audio | Normalize loudness to platform targets: streaming (-14 LUFS, YouTube and Spotify), podcast (-16) or broadcast (-23). The edit is asynchronous; call get_job with the returned jobId to retrieve the download URL. |
| remove_silence_from_audio | Strip silent passages from a video or audio source and return a tightened MP3 or WAV. The edit is asynchronous; call get_job with the returned jobId to retrieve the download URL. |
| compress_video | Compress a source video into a smaller web-ready MP4 while preserving useful visual quality. The edit is asynchronous; call get_job with the returned jobId to retrieve the download URL. |
| optimize_video_for_web | Create a browser-compatible fast-start MP4 for web delivery. The edit is asynchronous; call get_job with the returned jobId to retrieve the download URL. |
| convert_video_to_mp4 | Convert a supported source video such as MOV or WebM into a compatible H.264 MP4. The edit is asynchronous; call get_job with the returned jobId to retrieve the download URL. |
| resize_video | Resize and reframe a video for vertical, square or landscape delivery without stretching it. The edit is asynchronous; call get_job with the returned jobId to retrieve the download URL. |
| crop_video | Crop a video to a social aspect ratio with a predictable focal position. The edit is asynchronous; call get_job with the returned jobId to retrieve the download URL. |
| trim_video | Cut a precise time range from a source video and return a playable MP4. The edit is asynchronous; call get_job with the returned jobId to retrieve the download URL. |
| create_social_video_clip | Trim and reframe one source into a vertical, square or landscape social clip in a single job. The edit is asynchronous; call get_job with the returned jobId to retrieve the download URL. |
| extract_audio | Extract the primary audio track from a video as MP3 or uncompressed WAV. The edit is asynchronous; call get_job with the returned jobId to retrieve the download URL. |
| remove_audio_from_video | Remove every audio stream and return a silent MP4. The edit is asynchronous; call get_job with the returned jobId to retrieve the download URL. |
| generate_video_thumbnail | Extract a deterministic JPEG or WebP poster frame at an exact timestamp. The edit is asynchronous; call get_job with the returned jobId to retrieve the download URL. |
| convert_video_to_gif | Create a short palette-optimized animated GIF from a selected video range. The edit is asynchronous; call get_job with the returned jobId to retrieve the download URL. |
| add_subtitles_to_video | Burn a public SRT or WebVTT caption file into a durable MP4. The edit is asynchronous; call get_job with the returned jobId to retrieve the download URL. |
| add_music_to_video | Mix background music with the source soundtrack or replace it, looping music to the video duration. The edit is asynchronous; call get_job with the returned jobId to retrieve the download URL. |
| merge_videos | Normalize and join two to six public video clips into one playback-ready MP4 in the supplied order, with optional crossfade transitions between clips. The edit is asynchronous; call get_job with the returned jobId to retrieve the download URL. |
| merge_audio | Join two to six audio files (or the audio tracks of videos) into one normalized MP3 or WAV in the supplied order — voiceover chunks, podcast segments, TTS parts. The edit is asynchronous; call get_job with the returned jobId to retrieve the download URL. |
| format_video_for_platform | Produce a platform-ready 9:16 MP4 for Instagram Reels, TikTok or YouTube Shorts: 1080x1920, H.264 High@4.1, capped bitrate, constant 30 fps — crop to fill or pad over a blurred background. The edit is asynchronous; call get_job with the returned jobId to retrieve the download URL. |
| generate_video_filmstrip | Render one image strip of evenly spaced frames from a video — a filmstrip for timelines, previews, scene review or LLM vision input. The edit is asynchronous; call get_job with the returned jobId to retrieve the download URL. |
| image_to_video | Turn a still image (PNG, JPEG, WebP) into an MP4 of a chosen duration and aspect ratio — for slideshows, video references or platforms that only accept video. The edit is asynchronous; call get_job with the returned jobId to retrieve the download URL. |
| add_watermark_to_video | Overlay a public logo image with controlled position, width and opacity. The edit is asynchronous; call get_job with the returned jobId to retrieve the download URL. |
| create_picture_in_picture_video | Overlay a public facecam or secondary video over the main video. The edit is asynchronous; call get_job with the returned jobId to retrieve the download URL. |
| split_video | Split a source into equally sized, independently playable MP4 segments and return every output. The edit is asynchronous; call get_job with the returned jobId to retrieve the download URL. |
| split_video_by_scenes | Detect scene changes and cut the video at every real cut, returning one MP4 segment per scene. Use detect_scenes instead when you only need the timestamps. The edit is asynchronous; call get_job with the returned jobId to retrieve the download URL. |
| create_video_job | Queue a custom KinoPipe recipe containing bounded trim, resize, crop, thumbnail, subtitles, audio, composition or split operations. Prefer a focused tool when one matches the requested edit. |
| get_job | Read the current state of a KinoPipe video job. Poll until succeeded or failed. A succeeded job contains temporary downloadable output URLs. |
| create_upload | Create a signed upload slot so a LOCAL media file can be used as an input_url. byte_size must be the exact file size in bytes (macOS: stat -f%z file; Linux: stat -c%s file). Upload by running the returned command (or an equivalent multipart POST sending every field before the file), then pass media_url as the input_url of any editing tool within 24 hours. |