BlitzReels
BlitzReelsDocumentation

SDKs

Official and community SDKs for the BlitzReels API.

TypeScript SDK

The official TypeScript SDK is @blitzreels/sdk. It is the shared API layer used by the BlitzReels CLI and external TypeScript integrations.

Terminal
npm install @blitzreels/sdk
blitzreels.ts
import { BlitzReelsClient } from "@blitzreels/sdk";

const client = new BlitzReelsClient({
  apiKey: process.env.BLITZREELS_API_KEY ?? "",
  baseUrl: "https://www.blitzreels.com/api/v1",
});

const auth = await client.auth.validate();

const scan = await client.onboarding.startBrandScan({
  websiteUrl: "https://example.com",
  businessOutcome: "book_calls",
});

await client.onboarding.getBrandScan({ runId: scan.run_id });
const brandProfile = await client.onboarding.getBrandProfile();

await client.onboarding.importLogo({
  profileId: brandProfile.profile?.id ?? null,
  logoUrl: null,
  replaceExisting: false,
});

await client.onboarding.complete({
  businessOutcome: brandProfile.profile?.business_outcome ?? "book_calls",
  websiteUrl: brandProfile.profile?.website_url ?? "https://example.com",
  socialProfiles: brandProfile.profile?.social_profiles ?? null,
  brandName: brandProfile.profile?.brand_name ?? "Creator Studio",
  tagline: brandProfile.profile?.tagline ?? null,
  audience: brandProfile.profile?.audience ?? null,
  offer: brandProfile.profile?.offer ?? null,
  conversionGoal: brandProfile.profile?.conversion_goal ?? null,
  tone: brandProfile.profile?.tone ?? null,
  colorPalette: brandProfile.profile?.color_palette ?? null,
  logoCandidates: brandProfile.profile?.logo_candidates ?? null,
  suggestedSafeWords: brandProfile.profile?.suggested_safe_words ?? null,
  workspaceDescription: null,
  platforms: ["tiktok", "linkedin"],
  saveWorkspaceIcon: true,
});

const clip = await client.clips.create({
  projectName: "Demo short",
  source: {
    sourceType: "youtube",
    assetId: null,
    youtubeUrl: "https://www.youtube.com/watch?v=VIDEO_ID",
  },
  selection: {
    mode: "auto_best",
    suggestionId: null,
    startSeconds: null,
    endSeconds: null,
  },
  target: {
    aspectRatio: "9:16",
    minDurationSeconds: 8,
    maxDurationSeconds: 45,
  },
  layout: {
    mode: "auto",
    contentTypeHint: "auto",
  },
  captions: {
    enabled: true,
    styleId: null,
  },
  qa: {
    mode: "permissive",
  },
  export: {
    autoExport: false,
  },
});

console.log(auth.organization_id, clip.clip.clip_id);

CLI Relationship

The CLI uses the same SDK package internally. Use the SDK for TypeScript applications and blitzreels CLI commands for shell-first agent workflows.

Onboarding

The SDK exposes the same onboarding primitives as the REST API and CLI:

  • client.onboarding.startBrandScan
  • client.onboarding.getBrandScan
  • client.onboarding.getBrandProfile
  • client.onboarding.updateBrandProfile
  • client.onboarding.importLogo
  • client.onboarding.complete

Use these to let an integration scan a public website, review or patch brand profile fields, import a logo candidate, and mark onboarding complete before creating projects.

Raw HTTP

The REST API is stable and can also be called with any HTTP client.

fetch.ts
const res = await fetch("https://www.blitzreels.com/api/v1/projects", {
  method: "POST",
  headers: {
    Authorization: `Bearer ${process.env.BLITZREELS_API_KEY}`,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({ name: "My Video", aspect_ratio: "9:16" }),
});

if (!res.ok) throw new Error(await res.text());
const project = await res.json();

Python

There is no official Python SDK yet. Use requests or generate a client from the OpenAPI spec.

blitzreels.py
import os
import requests

resp = requests.post(
  "https://www.blitzreels.com/api/v1/projects",
  headers={
    "Authorization": f"Bearer {os.environ['BLITZREELS_API_KEY']}",
    "Content-Type": "application/json",
  },
  json={"name": "My Video", "aspect_ratio": "9:16"},
)
resp.raise_for_status()
project = resp.json()

OpenAPI

Use the OpenAPI spec to generate clients for other languages:

https://www.blitzreels.com/api/openapi.json