OpenClipDocs
Developers & agents

Integration API

The partner REST API for building OpenClip into Discord bots, Telegram bots, and enterprise apps.

The Integration API lets an external platform drive OpenClip's clipping pipeline on behalf of its own users: a Discord bot that clips a member's stream VOD, a Telegram bot that returns shorts from a link, or an internal enterprise workflow. It is aimed at partners and the Business plan, where API access, webhook integrations, and a custom integration scope are part of onboarding. If you want to drive OpenClip from an AI assistant instead, use MCP.

Reference

The base URL for all endpoints is:

https://api.openclip.io/api/integration/v1

Authentication

Every request carries your API client's token as a bearer header:

Authorization: Bearer {your_api_token}

Each integration is registered as an API client with its own token, abilities, and rate limit. Rate limits are per client, not a fixed global value; read the X-RateLimit-Limit and X-RateLimit-Remaining response headers to see yours.

Webhooks going the other way are signed. Every webhook payload carries an HMAC-SHA256 signature in the Signature header; verify it by computing HMAC-SHA256(webhook_secret, raw_request_body) and comparing the result before trusting the payload.

What the API covers

Users. Create or find an OpenClip user from a platform identity (platform + platform_user_id, for example a Discord user id). The same call is idempotent: it returns the existing user if one is already linked.

Authentication. Bridge your users into the OpenClip web app without passwords: request a 6-digit email verification code, verify it to receive a magic-link login URL, and redeem invite codes.

Videos. Submit a video URL for processing (with optional webhooks for progress and completion callbacks) and poll its status by job_id. Submissions are tracked from the moment they are made, including failed downloads.

Viral Moments. Once processing completes, list a video's detected moments: title, hook, timestamps, virality score, and clip URLs.

Rendering. Request a captioned render of a viral moment with a chosen caption preset; a webhook hits your callback_url when the render finishes.

Caption presets. List the available caption styles so your users can pick a look before rendering.

Typical flow

1. POST /users                      -> create or find the platform user
2. POST /videos                     -> submit a URL, get a job_id
3. GET  /videos/{job_id}/status     -> poll (or receive your webhook)
4. GET  /videos/{job_id}/viral-moments
5. POST /viral-moments/{id}/render  -> webhook fires when the render is done

The exact request and response shapes for every endpoint, including error responses and webhook payloads, live in the interactive reference.

Getting access

API clients are provisioned as part of Business plan onboarding. See plans and pricing or contact support from the app to scope an integration.

On this page