For Developers | FrameFlow API

AI-Powered 4K Stock Footage Marketplace

Integration Guide

Programmatic Access to Curated Clips

Streamline your creative workflow by embedding FrameFlow’s licensed 4K footage directly into your applications. Our RESTful API delivers sub-50ms response times, supports OAuth 2.0 authentication, and processes over 2.4 million requests daily for studios like Lumina Digital and Apex Motion.

Access metadata, preview thumbnails, and direct CDN streams for ProRes and H.265 variants. Rate limits scale with your tier: 1,000 requests/hour on Starter, 25,000/hour on Pro, and unlimited throughput on Enterprise. All endpoints return structured JSON with precise timestamping, color grading tags, and usage rights verification.

Quick Start

Embed Snippets

React Component

import { FrameFlowPlayer } from '@frameflow/react';

function ClipEmbed() {
  return (
    <FrameFlowPlayer
      assetId="ff_8x92k4m"
      quality="4k-prores"
      autoplay={false}
      loop={true}
      onReady={(metadata) => console.log(metadata.duration)}
    />
  );
}

Python Integration

import requests

url = "https://api.frameflow.io/v1/assets/ff_8x92k4m/stream"
headers = {"Authorization": "Bearer YOUR_API_KEY"}
params = {"format": "h265", "resolution": "3840x2160"}

response = requests.get(url, headers=headers, params=params)
with open("output.mp4", "wb") as f:
    f.write(response.content)
Event Tracking

Webhook Events

Automate your pipeline with real-time notifications. Configure endpoint URLs in your dashboard to receive signed JSON payloads whenever new assets match your filters or licensing status changes.

asset.uploaded

Triggered within 15 seconds of a new 4K clip entering the FrameFlow catalog. Payload includes asset UUID, frame count, dominant color hex codes, and AI-generated tag arrays for instant indexing.

license.granted

Fires when a client successfully purchases or renews a commercial license. Contains transaction ID, expiry timestamp, and permitted usage territories (e.g., NA, EU, APAC) for compliance tracking.

cdn.cache.refreshed

Sent after edge nodes update streaming manifests. Ideal for purging local preview caches and syncing thumbnail galleries across distributed applications without manual intervention.