Skip to Content
API ReferenceClipsOverview

Clips API

The Clips API works with the individual clips an AI project produced. Each clip belongs to a project and is addressable by its own id. Use these endpoints to inspect a clip, send like or dislike feedback (which feeds VDClip’s AI ranking), render a clip into a finished video, and publish it to your connected social accounts.

Rendering is asynchronous: start a render with a POST, then poll the latest render status until it reaches a terminal state.

Conventions

Requests use the base URL https://api.vdclip.com with the Authorization: Bearer vdck_... header. The API is server-to-server only and has no CORS.

Successful responses return resource data directly. Errors return an errors array. Reading a clip requires the vdclip:results:read scope; like or dislike feedback requires vdclip:results:write. A missing scope returns MISSING_SCOPE.

i
Render and publish are plan-gated and asynchronous

Rendering requires the vdclip:render:execute scope and publishing requires vdclip:social:publish. Both are plan-gated, and rendering also consumes credits. POST a render, then poll renders/latest until the status is terminal before publishing. If your plan lacks the feature you get MISSING_SCOPE; if you are out of credits you get INSUFFICIENT_CREDITS. See the pricing page for what each plan includes.

Endpoints

🔎

Get clip detail

GET /v1/clips/{clip_id}

ViewFetch a single clip and its metadata by id
👍

Like a clip

POST /v1/clips/{clip_id}/like

ViewMark a clip as good to feed the AI ranking
👎

Dislike a clip

POST /v1/clips/{clip_id}/dislike

ViewMark a clip as poor to feed the AI ranking
🎬

Start a render

POST /v1/clips/{clip_id}/renders

ViewKick off an asynchronous render. Plan-gated

Get the latest render status

GET /v1/clips/{clip_id}/renders/latest

ViewPoll the most recent render until it finishes
🚀

Publish or schedule a clip

POST /v1/clips/{clip_id}/publish

ViewSend a rendered clip to social accounts. Plan-gated
Last updated on