Skip to content
Gary Wu
Go back

Video Creation Resources

Edit page

Org Status: 🟑 Dormant Cloudflare: N/A Last Audited: 2026-04-28


Every tool, API, stock library, and AI service you need to produce short-form and long-form video content β€” inventoried, compared, and rated so you can decide β€œuse this” or β€œskip this” in under 10 seconds.

This is a shopping list, not a tutorial. Before building anything custom, know what already exists.

What you’ll learn


Video content is the highest-ROI marketing channel in 2026. Finance YouTube channels earn $9-$21 RPM. TikTok creators monetize at $0.50-$3.00 per 1K views. A single viral short can drive more traffic than months of SEO work.

But the production pipeline is fragmented across hundreds of tools. Creators waste weeks evaluating options, overpay for services with free alternatives, or build custom tools that already exist. The result: paralysis, wasted money, or reinventing the wheel.

What changes if you get this right: You assemble a production pipeline in a day, not a month. You spend $0-50/mo instead of $200+. You automate 80% of the workflow using APIs and existing services. You focus your custom development on the 20% that actually differentiates your content.


Stock footage is the backbone of faceless video content. The difference between free and paid libraries is real but narrower than most people think.

Free Libraries

ResourceURLAPIVertical (9:16)QualityCommercialBest For
Pexelspexels.comYes β€” docsYes, filterable4/5Yes, no attributionGeneral B-roll, business, nature, lifestyle
Pixabaypixabay.comYes β€” docsLimited3/5Yes, no attributionSupplementary clips, illustrations, vectors
Coverrcoverr.coNoSome4/5Yes, no attributionTech, startup, modern aesthetic
Mixkitmixkit.coNoSome4/5Yes (check license type)Cinematic B-roll, transitions, overlays

Pexels β€” The Default Choice

// Pexels API β€” search for vertical stock footage
interface PexelsVideo {
  id: number;
  width: number;
  height: number;
  duration: number;
  url: string;
  video_files: {
    id: number;
    quality: "sd" | "hd" | "uhd";
    file_type: string;
    width: number;
    height: number;
    fps: number;
    link: string;
  }[];
  video_pictures: { id: number; picture: string }[];
}

interface PexelsSearchResponse {
  page: number;
  per_page: number;
  total_results: number;
  videos: PexelsVideo[];
}

async function searchVerticalFootage(
  query: string,
  apiKey: string
): Promise<PexelsVideo[]> {
  const url = new URL("https://api.pexels.com/videos/search");
  url.searchParams.set("query", query);
  url.searchParams.set("orientation", "portrait");
  url.searchParams.set("size", "medium"); // Full HD
  url.searchParams.set("per_page", "15");

  const res = await fetch(url.toString(), {
    headers: { Authorization: apiKey },
  });

  const data: PexelsSearchResponse = await res.json();
  return data.videos;
}

Pixabay β€” The Supplement

// Pixabay API β€” multi-asset search
async function searchPixabayVideos(
  query: string,
  apiKey: string
): Promise<any> {
  const url = new URL("https://pixabay.com/api/videos/");
  url.searchParams.set("key", apiKey);
  url.searchParams.set("q", query);
  url.searchParams.set("video_type", "film");
  url.searchParams.set("min_width", "1080");
  url.searchParams.set("per_page", "20");

  const res = await fetch(url.toString());
  return res.json();
}

Coverr β€” The Aesthetic Pick

Mixkit β€” The Template Bonus

ResourceURLPricingAPIQualityBest For
Storyblocksstoryblocks.com$21-65/mo (unlimited)Yes β€” enterprise4/5Unlimited downloads, team workflows
Artgridartgrid.io~$25-50/moNo5/5Cinematic, documentary-quality footage
Envato Elementselements.envato.com$16.50/moNo4/5All-in-one (video + audio + graphics + templates)
iStock/Gettyistockphoto.comPer-clip ($12-300+)Yes5/5Premium, exclusive footage

Storyblocks β€” Best Paid Value

Key insight: Storyblocks is the only stock library that combines unlimited downloads with API access at a reasonable price. If you’re producing more than 10 videos/month, it pays for itself vs. per-clip pricing.

Envato Elements β€” The Bundle Play

Vertical Format Availability

LibraryPortrait/Vertical Filter9:16 Content Volume
PexelsYes β€” orientation=portraitHigh
PixabayNo dedicated filterLow
CoverrManual browsingMedium
MixkitManual browsingMedium
StoryblocksYes β€” orientation filterHigh
ArtgridLimitedLow (cinematic focus)

Music makes or breaks video content. The wrong track gets your video muted or taken down. The right track doubles watch time.

Free Music Libraries

ResourceURLAttributionCommercialLibrary SizeBest For
Pixabay Musicpixabay.com/musicNoYes100K+Background tracks, no-hassle licensing
Mixkit Musicmixkit.co/free-stock-musicNoYes (with limits)1,000+Curated, high-quality tracks
YouTube Audio Librarystudio.youtube.com/channel/…/musicSome tracksYouTube only3,000+YouTube-specific content
Freesoundfreesound.orgCC license variesDepends on license500K+ soundsSound effects, ambient, field recordings
Uppbeatuppbeat.ioFree tier: yesYes (Business plan)10K+Curated, genre-organized

Pixabay Music β€” Zero-Friction Default

Freesound β€” The Sound Effects Goldmine

// Freesound API β€” search for sound effects
async function searchFreesound(
  query: string,
  token: string,
  filter?: { license?: string; duration_min?: number; duration_max?: number }
): Promise<any> {
  const url = new URL("https://freesound.org/apiv2/search/text/");
  url.searchParams.set("query", query);
  url.searchParams.set("token", token);
  url.searchParams.set("fields", "id,name,tags,license,duration,previews,download");

  if (filter?.license) {
    url.searchParams.set("filter", `license:"${filter.license}"`);
  }

  const res = await fetch(url.toString());
  return res.json();
}

YouTube Audio Library β€” YouTube Only

ResourceURLPricingLibrary SizeAPIBest For
Epidemic Soundepidemicsound.com$10-75/mo50K+ tracks, 200K+ SFXYes β€” APIProfessional quality, AI-powered search
Artlistartlist.io~$10-34/moLargeNoUnlimited downloads, lifetime usage
Soundstripesoundstripe.com$15-40/mo50K+NoBudget-friendly unlimited
Bensoundbensound.comFree + $6-26/mo2K+NoSmall but curated library

Epidemic Sound β€” The Professional Standard

Key insight: Epidemic Sound’s API with AI-powered music matching is the most advanced programmatic music integration available. If you’re building an automated video pipeline, this is the only music API worth integrating.

Artlist β€” The Creator Favorite

Music Licensing for TikTok/Commercial

LibraryTikTok SafeInstagram SafeYouTube SafeAds/Commercial
Pixabay MusicYesYesYesYes
Mixkit MusicYesYesYesNo (broadcast)
Epidemic SoundYesYesYesYes (paid plan)
ArtlistYesYesYesYes (Pro plan)
YouTube Audio LibraryNoNoYesNo
FreesoundCheck per soundCheck per soundCheck per soundCheck per sound
UppbeatYes (Business)Yes (Business)YesYes (Business)

Images serve as video backgrounds, slide content, thumbnails, and overlay graphics.

Free Image Libraries

ResourceURLAPITransparent BGQualityBest For
Pexelspexels.comYesNo4/5Photos for video backgrounds
Unsplashunsplash.comYes β€” docsNo5/5High-art photography
Pixabaypixabay.comYesYes (illustrations)3/5Illustrations, vectors, photos
Freepikfreepik.comNoYes (vectors/PSD)4/5Vectors, PSD templates, illustrations

Unsplash β€” Highest Quality Free Photos

Freepik β€” The Vector/Template Source

Design Tools with Templates

ResourceURLFree TierVideo TemplatesAPIBest For
Canvacanva.comYes (generous)Yes (extensive)No public APIThumbnails, social graphics, simple video
Figmafigma.comYesCommunity filesREST APICustom thumbnails, design systems

Canva β€” The Non-Designer’s Best Friend


Voice is the most critical quality differentiator in faceless video. Viewers tolerate mediocre footage but abandon robotic voices.

Cloud TTS Services

ResourceURLPricingQualityVoice CloningAPILanguages
ElevenLabselevenlabs.ioFree-$1,320/mo5/5YesYes β€” docs32+
Play.htplay.ht~$31/mo+4/5YesYes142
Amazon Pollyaws.amazon.com/polly$4-100/1M chars3/5NoYes30+
Google Cloud TTScloud.google.com/text-to-speech$4-16/1M chars4/5NoYes40+

ElevenLabs β€” The Quality King

// ElevenLabs TTS API
interface ElevenLabsRequest {
  text: string;
  model_id: "eleven_monolingual_v1" | "eleven_multilingual_v2" | "eleven_turbo_v2_5";
  voice_settings?: {
    stability: number;      // 0-1
    similarity_boost: number; // 0-1
    style?: number;          // 0-1
    use_speaker_boost?: boolean;
  };
}

async function generateSpeech(
  voiceId: string,
  text: string,
  apiKey: string
): Promise<ArrayBuffer> {
  const res = await fetch(
    `https://api.elevenlabs.io/v1/text-to-speech/${voiceId}`,
    {
      method: "POST",
      headers: {
        "Content-Type": "application/json",
        "xi-api-key": apiKey,
      },
      body: JSON.stringify({
        text,
        model_id: "eleven_turbo_v2_5",
        voice_settings: {
          stability: 0.5,
          similarity_boost: 0.75,
        },
      } satisfies ElevenLabsRequest),
    }
  );

  return res.arrayBuffer();
}

Key insight: ElevenLabs at $11/mo (Creator plan, 100K characters) gives you roughly 30-40 minutes of generated speech. That’s 4-5 long-form videos or 30+ short-form videos per month. For most creators, this is the sweet spot.

Amazon Polly β€” The Cheap Workhorse

Google Cloud TTS β€” The Middle Ground

Free / Local TTS Solutions

ResourceURLQualitySpeedVoice CloningGPU Required
edge-ttsgithub.com/rany2/edge-tts4/5Fast (cloud)NoNo
Coqui TTSgithub.com/coqui-ai/TTS3/5MediumYes (XTTS)Recommended
Barkgithub.com/suno-ai/bark4/5SlowNoYes
XTTS v2Coqui AI4/5MediumYes (6s clip)Yes
Pipergithub.com/rhasspy/piper3/5Very fastNoNo

edge-tts β€” The Free Secret Weapon

// edge-tts via Node.js (edge-tts-universal package)
import { EdgeTTS } from "edge-tts-universal";

async function generateFreeSpeech(
  text: string,
  voice: string = "en-US-AriaNeural"
): Promise<Buffer> {
  const tts = new EdgeTTS();
  await tts.setMetadata(voice, "audio-24khz-48kbitrate-mono-mp3");
  const audioStream = await tts.toStream(text);

  const chunks: Buffer[] = [];
  for await (const chunk of audioStream) {
    if (chunk.type === "audio") {
      chunks.push(chunk.data);
    }
  }
  return Buffer.concat(chunks);
}

Key insight: edge-tts is genuinely good enough for production short-form video. It’s free, fast, and has 300+ voices. Start here. Upgrade to ElevenLabs only when voice quality becomes a bottleneck (usually for long-form YouTube content where viewers listen for 10+ minutes).

Bark β€” The Creative Wild Card

Piper β€” The Speed Demon

XTTS v2 β€” The Voice Cloner

TTS Comparison Matrix

ServiceCost/30 minQualitySpeedCloningOffline
ElevenLabs (Creator)~$3.305/5FastYesNo
Amazon Polly (Neural)$1.603/5FastNoNo
Google Cloud TTS~$2.004/5FastNoNo
edge-tts$04/5FastNoNo
Bark$0 (GPU cost)4/5SlowNoYes
Piper$03/5Very fastNoYes
XTTS v2$0 (GPU cost)4/5MediumYesYes
Play.ht~$10+4/5FastYesNo

When stock music doesn’t fit, generate custom tracks. Quality has reached the point where AI music is indistinguishable from stock library tracks for background use.

Cloud Music Generation

ResourceURLFree TierPricingCommercialQuality
Sunosuno.com50 credits/day$10-30/moPaid plans only5/5
Udioudio.com10 daily + 100 monthly$10-30/moPaid plans (no attribution)4/5
Stable Audiostableaudio.comYes (limited)Paid tiersCreator/Enterprise license4/5

Suno β€” Best Quality, Most Mature

Key insight: Suno’s free tier (50 credits/day) is enough to generate all the background music a small video operation needs. Upgrade to Pro ($10/mo) only when you need commercial licensing.

Udio β€” The Competitor

Local / Open Source Music Generation

ResourceURLLicenseGPU RequiredQualityBest For
MusicGen (Meta)github.com/facebookresearch/audiocraftMIT (code) / CC-BY-NC 4.0 (models)Yes (16GB rec.)4/5Research, non-commercial
AudioCraftai.meta.com/audiocraftSame as aboveYes4/5Full audio toolkit

MusicGen β€” The Open Source Option

// MusicGen via Replicate API
async function generateMusic(
  prompt: string,
  durationSeconds: number = 30
): Promise<string> {
  const res = await fetch("https://api.replicate.com/v1/predictions", {
    method: "POST",
    headers: {
      Authorization: `Token ${process.env.REPLICATE_API_TOKEN}`,
      "Content-Type": "application/json",
    },
    body: JSON.stringify({
      version: "b05b1dff1d8c6dc63d14b0cdb42135571e41c36ec76ef8bf37c9e36b395767a4",
      input: {
        prompt,
        duration: durationSeconds,
        model_version: "stereo-melody-large",
        output_format: "mp3",
      },
    }),
  });

  const prediction = await res.json();
  return prediction.urls.get; // Poll this URL for result
}

Key insight: For commercial video production, use Suno ($10/mo) or stock libraries. MusicGen is non-commercial only (model license). Use MusicGen for prototyping and personal projects, then swap to licensed music for published content.


Every video starts with a script. LLMs have made script generation nearly free. The differentiator is prompt engineering, not the model.

ResourceURLFree TierCost/ScriptSpeedQuality
Claude APIanthropic.comNo~$0.02-0.10Fast5/5
Gemini APIai.google.devYes (generous)$0-0.05Fast4/5
OpenRouteropenrouter.aiNo (pay-as-you-go)$0.001-0.10Varies4/5
Cloudflare Workers AIdevelopers.cloudflare.comYes (included)~$0.001Fast3/5
Ollamaollama.aiUnlimited (local)$0 (electricity)Varies3-4/5

Claude API β€” Best Script Quality

Gemini API β€” Best Free Option

OpenRouter β€” Multi-Model Access

// OpenRouter β€” model-agnostic script generation
interface VideoScript {
  hook: string;
  scenes: { visual: string; narration: string; duration: number }[];
  cta: string;
  totalDuration: number;
}

async function generateVideoScript(
  topic: string,
  durationSeconds: number,
  model: string = "anthropic/claude-sonnet-4"
): Promise<VideoScript> {
  const res = await fetch("https://openrouter.ai/api/v1/chat/completions", {
    method: "POST",
    headers: {
      Authorization: `Bearer ${process.env.OPENROUTER_API_KEY}`,
      "Content-Type": "application/json",
    },
    body: JSON.stringify({
      model,
      messages: [
        {
          role: "system",
          content: `You are a viral video scriptwriter. Generate scripts as JSON matching the VideoScript interface. Target duration: ${durationSeconds}s. Every script needs a hook in the first 3 seconds.`,
        },
        {
          role: "user",
          content: `Write a ${durationSeconds}-second video script about: ${topic}`,
        },
      ],
      response_format: { type: "json_object" },
    }),
  });

  const data = await res.json();
  return JSON.parse(data.choices[0].message.content);
}

Ollama β€” The Local Free Option


This is where scripts, footage, voiceover, and music become an actual video. The choice between cloud APIs and local tools defines your cost structure and flexibility.

Cloud Video APIs

ResourceURLPricingFree TierTemplatesQuality
Creatomatecreatomate.com$41-249/mo50 free creditsYes (visual editor)5/5
Shotstackshotstack.io$0.20-0.40/min20 min/moYes (JSON + editor)4/5
JSON2Videojson2video.com$20-200/mo600 secYes3/5

Creatomate β€” Best Cloud API

// Creatomate API β€” render from template
interface CreatomateRender {
  template_id: string;
  modifications: Record<string, string | number | boolean>;
}

async function renderVideo(
  templateId: string,
  modifications: Record<string, string>,
  apiKey: string
): Promise<{ id: string; url: string; status: string }> {
  const res = await fetch("https://api.creatomate.com/v1/renders", {
    method: "POST",
    headers: {
      Authorization: `Bearer ${apiKey}`,
      "Content-Type": "application/json",
    },
    body: JSON.stringify([
      {
        template_id: templateId,
        modifications,
      },
    ]),
  });

  const renders = await res.json();
  return renders[0];
}

Shotstack β€” Best Value Cloud API

// Shotstack API β€” JSON-based video composition
interface ShotstackEdit {
  timeline: {
    tracks: {
      clips: {
        asset: {
          type: "video" | "image" | "title" | "audio";
          src?: string;
          text?: string;
          style?: string;
        };
        start: number;
        length: number;
        transition?: { in: string; out: string };
      }[];
    }[];
  };
  output: {
    format: "mp4" | "gif" | "mp3";
    resolution: "sd" | "hd" | "1080" | "4k";
    aspectRatio?: "16:9" | "9:16" | "1:1" | "4:5";
  };
}

async function renderShotstack(
  edit: ShotstackEdit,
  apiKey: string
): Promise<{ id: string }> {
  const res = await fetch("https://api.shotstack.io/v1/render", {
    method: "POST",
    headers: {
      "x-api-key": apiKey,
      "Content-Type": "application/json",
    },
    body: JSON.stringify(edit),
  });

  return res.json();
}

JSON2Video β€” Budget Option

Local / Self-Hosted Video Composition

ResourceURLCostFlexibilityLearning CurveBest For
FFmpegffmpeg.orgFree5/5SteepEverything β€” the gold standard
Remotionremotion.devFree/$100+/mo5/5Medium (React)Programmatic, complex animations
MoviePyzulko.github.io/moviepyFree3/5Easy (Python)Quick scripts, prototyping

FFmpeg β€” The Foundation

Everything else is built on top of FFmpeg. If you learn one tool, learn this.

ffmpeg \
  -i background.mp4 \
  -i voiceover.mp3 \
  -i music.mp3 \
  -filter_complex "\
    [0:v]scale=1080:1920:force_original_aspect_ratio=increase,crop=1080:1920[bg]; \
    [1:a][2:a]amix=inputs=2:duration=first:weights=1 0.15[audio]; \
    [bg]subtitles=captions.srt:force_style='FontSize=24,PrimaryColour=&Hffffff&,Bold=1,Alignment=2,MarginV=100'[out]" \
  -map "[out]" -map "[audio]" \
  -c:v libx264 -preset fast -crf 23 \
  -c:a aac -b:a 192k \
  -t 60 \
  output.mp4

Remotion β€” React-Based Video

// Remotion β€” React video component
import { AbsoluteFill, Video, Audio, Sequence, useCurrentFrame } from "remotion";

export const FinanceExplainer: React.FC<{
  title: string;
  scenes: { footage: string; narration: string }[];
  voiceover: string;
  music: string;
}> = ({ title, scenes, voiceover, music }) => {
  const frame = useCurrentFrame();

  return (
    <AbsoluteFill style={{ backgroundColor: "#0a0a0a" }}>
      <Audio src={music} volume={0.15} />
      <Audio src={voiceover} volume={1} />

      {scenes.map((scene, i) => (
        <Sequence key={i} from={i * 150} durationInFrames={150}>
          <AbsoluteFill>
            <Video src={scene.footage} style={{ width: "100%", height: "100%" }} />
            <div
              style={{
                position: "absolute",
                bottom: 100,
                left: 40,
                right: 40,
                color: "white",
                fontSize: 28,
                fontWeight: "bold",
                textShadow: "2px 2px 4px rgba(0,0,0,0.8)",
              }}
            >
              {scene.narration}
            </div>
          </AbsoluteFill>
        </Sequence>
      ))}
    </AbsoluteFill>
  );
};

MoviePy β€” Quick Python Scripts

Video Composition Comparison

ToolCost/min (at scale)Templates9:16 SupportAPI QualityAutomation
Creatomate~$0.30-0.50Visual editorYesExcellentFull
Shotstack$0.20-0.40JSON + editorYesExcellentFull
JSON2Video~$0.25LimitedYesGoodFull
Remotion~$0.001 (Lambda)React codeYesN/A (self-hosted)Full
FFmpeg$0 (compute only)NoneYesN/A (CLI)Full
MoviePy$0 (compute only)NoneYesN/A (Python)Full

Key insight: For <50 videos/month, use Shotstack or Creatomate (cloud APIs, zero infrastructure). For >50 videos/month, invest in Remotion or FFmpeg pipelines β€” the per-video cost drops 100x.


Templates eliminate design decisions. A good template turns β€œscript + footage + audio” into a finished video with consistent branding.

ResourceURLFree TierAPI/Programmatic9:16 VerticalBest For
Canvacanva.comYesNoYes (extensive)Non-designers, quick social content
CapCutcapcut.comYesNo (plugin-only SDK)Yes (native)TikTok-optimized, trending styles
InVideo AIinvideo.ioYes (limited)NoYesAI-generated from text prompts
Envato Elementselements.envato.comNoNoSomeAfter Effects, Premiere Pro templates
Creatomatecreatomate.com50 creditsYes (API)YesProgrammatic template rendering
Motion Arraymotionarray.comLimitedNoSomePremiere Pro, After Effects templates

CapCut β€” TikTok’s Native Editor

Creatomate Templates β€” The Automation Winner


Captions are non-negotiable. 85% of Facebook video is watched without sound. TikTok’s algorithm favors captioned content. Animated word-by-word captions are the current standard.

Caption Generation Tools

ResourceURLFree TierWord-LevelStylingAPI
CapCutcapcut.comYesYesExtensiveNo
Kapwingkapwing.com10 min/moYes100+ presetsNo
Descriptdescript.com1 hr transcriptionYesLimitedNo
Whispergithub.com/openai/whisperUnlimited (local)Sentence-levelNone (SRT output)N/A
WhisperXgithub.com/m-bain/whisperXUnlimited (local)Yes (word-level)None (SRT output)N/A
whisper-timestampedgithub.com/linto-ai/whisper-timestampedUnlimited (local)Yes (word-level)NoneN/A

Whisper + WhisperX β€” The Pipeline Solution

Native Whisper produces sentence-level timestamps (1-second accuracy). For word-level sync needed for animated captions, use WhisperX or whisper-timestamped.

// Pipeline: Whisper transcription β†’ word-level SRT β†’ FFmpeg burn-in
import { execSync } from "child_process";

function transcribeWithWordTimestamps(audioPath: string): string {
  // whisper-timestamped outputs word-level JSON
  execSync(
    `whisper_timestamped ${audioPath} --model medium --language en --output_format json`
  );
  return audioPath.replace(/\.\w+$/, ".json");
}

function generateAnimatedSRT(transcriptionJson: string): string {
  const data = JSON.parse(require("fs").readFileSync(transcriptionJson, "utf-8"));
  let srt = "";
  let index = 1;

  for (const segment of data.segments) {
    for (const word of segment.words) {
      const start = formatTimestamp(word.start);
      const end = formatTimestamp(word.end);
      srt += `${index}\n${start} --> ${end}\n${word.text.trim()}\n\n`;
      index++;
    }
  }

  return srt;
}

function formatTimestamp(seconds: number): string {
  const h = Math.floor(seconds / 3600);
  const m = Math.floor((seconds % 3600) / 60);
  const s = Math.floor(seconds % 60);
  const ms = Math.floor((seconds % 1) * 1000);
  return `${String(h).padStart(2, "0")}:${String(m).padStart(2, "0")}:${String(s).padStart(2, "0")},${String(ms).padStart(3, "0")}`;
}

function burnCaptions(videoPath: string, srtPath: string, outputPath: string): void {
  execSync(
    `ffmpeg -i ${videoPath} -vf "subtitles=${srtPath}:force_style='FontSize=22,PrimaryColour=&H00FFFFFF,Bold=1,Alignment=2,MarginV=80,BackColour=&H80000000,BorderStyle=4'" -c:a copy ${outputPath}`
  );
}

Kapwing β€” Best Browser-Based

Descript β€” The Editor That Transcribes


Thumbnails determine click-through rate. A 2% CTR difference can double your views.

ResourceURLFree TierAI GenerationQualityBest For
Canvacanva.comYesYes (AI maker)4/5Template-based, consistent branding
Figmafigma.comYesCommunity plugins5/5Custom design, pixel-perfect
Thumblythumbly.ai$0.01/thumbnailYes3/5Bulk generation, budget option
Midjourneymidjourney.comNoYes5/5AI-generated hero images
DALL-Eopenai.com/dall-eVia APIYes4/5Programmatic generation
Fluxblackforestlabs.aiVia ReplicateYes5/5Open-source, self-hostable

Thumbly β€” AI Thumbnails for YouTube

Thumbnail Best Practices for CTR


Publishing what’s trending multiplies views 5-10x versus publishing what you feel like making. Trend intelligence is the highest-leverage investment in a video pipeline.

ResourceURLFreePricingAPIPlatforms Covered
Virlovirlo.aiNo$29-49/moYes β€” dev.virlo.aiTikTok, YouTube Shorts, Reels
Google Trendstrends.google.comYesFreeUnofficial scrapersWeb search, YouTube
TikTok Creative Centerads.tiktok.com/business/creativecenterYesFreeNo (3rd-party scrapers)TikTok
YouTube Trendingyoutube.com/feed/trendingYesFreeYouTube Data APIYouTube
Exploding Topicsexplodingtopics.comLimited$39/mo+Pro Business onlyCross-platform
VidIQvidiq.comYes (limited)$17.50/mo+NoYouTube
TubeBuddytubebuddy.comYes (limited)$2.25-14.50/moNoYouTube

Virlo β€” The Short-Form Intelligence API

Key insight: Virlo is the only API that provides structured, machine-readable trend data for short-form video. Google Trends and TikTok Creative Center are free but require scraping. Virlo at $29/mo eliminates the scraping overhead and adds virality scoring.

TikTok Creative Center β€” Free Manual Intelligence

VidIQ vs. TubeBuddy β€” YouTube SEO

FeatureVidIQTubeBuddy
Keyword researchStrongest β€” Keyword Inspector with volume, competition, scoreGood β€” SEO Studio
Bulk processingNoYes β€” cards, end screens, descriptions
Pricing$17.50/mo (Boost)$2.25/mo (Pro) β€” $14.50/mo (Legend)
A/B testingNoYes β€” thumbnail + title testing
Best forKeyword research, competitor analysisChannel management, optimization at scale

Publishing to one platform is easy. Publishing to six platforms with correct formats, captions, and scheduling is a workflow nightmare without tools.

ResourceURLFree TierPlatformsAuto-PostAPI
Bufferbuffer.com3 channels, 10 posts eachAll majorYesNo public API
Laterlater.comLimitedInstagram, TikTok, Facebook, X, PinterestYesNo
Repurpose.iorepurpose.ioNoYouTube, TikTok, IG, FB, Snapchat, Pinterest, LinkedIn, X, BlueskyYes (auto cross-post)No
YouTube Data APIdevelopers.google.com/youtube/v310K units/dayYouTubeYes (programmatic)Yes
TikTok APIdevelopers.tiktok.comLimitedTikTokLimitedYes (restricted)
Meta Graph APIdevelopers.facebook.comYesInstagram, FacebookYes (programmatic)Yes

Buffer β€” Simple Multi-Platform Scheduling

Repurpose.io β€” The Cross-Post Automator

YouTube Data API β€” Programmatic Upload

// YouTube Data API v3 β€” programmatic video upload
import { google } from "googleapis";

async function uploadToYouTube(
  auth: any,
  videoPath: string,
  metadata: {
    title: string;
    description: string;
    tags: string[];
    categoryId: string;
    privacyStatus: "private" | "unlisted" | "public";
  }
): Promise<string> {
  const youtube = google.youtube({ version: "v3", auth });

  const res = await youtube.videos.insert({
    part: ["snippet", "status"],
    requestBody: {
      snippet: {
        title: metadata.title,
        description: metadata.description,
        tags: metadata.tags,
        categoryId: metadata.categoryId,
      },
      status: {
        privacyStatus: metadata.privacyStatus,
        selfDeclaredMadeForKids: false,
      },
    },
    media: {
      body: require("fs").createReadStream(videoPath),
    },
  });

  return res.data.id!;
}

These tools promise to handle the entire pipeline β€” from script to published video. They trade flexibility for convenience.

ResourceURLPricingScriptFootageVoiceCaptionsPublishAPI
AutoShorts.aiautoshorts.ai$19-69/moYesYesYesYesYes (TikTok, YouTube, IG)No
InVideo AIinvideo.io$0-100/moYesYes (16M+ clips)Yes (50+ langs)YesNoNo
Pictorypictory.ai$25-119/moNoYes (3M+ clips)Yes (ElevenLabs)YesNoTeam plan+
Flikifliki.ai$0-44/moYesYesYes (2K+ voices)YesNoNo
Vizard.aivizard.ai$0-30/seat/moNoN/A (input video)NoYes (32 langs)NoNo
OpusClipopus.pro$0-29/moNoN/A (input video)NoYesYes (scheduler)Business only
ShortsDailyshortsdaily.comCredit-basedYesYes (AI visuals)YesYesYesNo
Syllabysyllaby.io$29-99/moYesYesYesYesNoNo

AutoShorts.ai β€” Faceless Shorts on Autopilot

InVideo AI β€” Most Capable All-in-One

OpusClip β€” Best Long-to-Short Converter

Vizard.ai β€” The Smart Clipper

Pictory β€” Article-to-Video Specialist

All-in-One Comparison

CriteriaAutoShortsInVideo AIPictoryOpusClipVizard
Input typeTopic/promptText/URL/scriptText/URL/mediaLong videoLong video
OutputShortsAny formatAny formatShortsShorts
CustomizationLowHighMediumMediumMedium
Auto-publishYesNoNoYes (Pro)No
APINoNoTeam+BusinessNo
Starting cost$19/mo$0$25/mo$0$0
Best quality3/54/54/54/54/5

Key insight: All-in-one tools are great for getting started fast but terrible for scale. They limit customization, charge per-video premiums, and lock you into their rendering pipeline. Use them to validate which video formats work, then rebuild winners with composable tools (FFmpeg + Remotion + your own templates).


Making videos is a cost center until you connect them to revenue. These are the primary monetization paths for video content.

PlatformURLRevenue ModelThresholdRPM RangeBest For
YouTube Partner Programyoutube.com/creatorsAdSense (ads)1K subs + 4K watch hours$2-21Long-form, evergreen
TikTok Creator Rewardstiktok.com/creatorsPer-view payment10K followers + 100K views/30d$0.50-3.00/1KShort-form, viral
Content Rewardscontentrewards.comBrand campaigns (per view)None$1-2.50/1KUGC, brand content
Instagram Bonusesinstagram.comReels Play bonusesInvite-onlyVariesReels creators
Gringrin.coSponsorship marketplaceBrand-dependentPer-dealDTC brand sponsorships
Aspireaspire.ioSponsorship marketplaceBrand-dependent$150-300/videoUGC, influencer deals

YouTube Partner Program β€” The Long Game

Content Rewards β€” Fastest to First Dollar

Sponsorship Marketplaces


Don’tDo InsteadWhy
Build a stock footage scraperUse Pexels/Pixabay APIsFree, legal, better indexed, maintained by someone else
Build custom TTSUse edge-tts (free) or ElevenLabs (paid)Voice quality requires billions in training data
Build a music libraryUse Pixabay Music or SunoLicensing alone makes this impossible to self-host
Build caption rendering from scratchUse Whisper + FFmpeg subtitle filterSolved problem with production-grade open source
Pay for all-in-one before validatingUse free tiers of 3-4 composable toolsAll-in-ones charge 10x per video vs. DIY at scale
Automate posting before manual validationPost manually for 2 weeks firstYou’ll change strategy 3x before it stabilizes
Skip trend researchUse TikTok Creative Center (free) or Virlo (paid)Publishing without trend data is random β€” you’ll waste months
Build a video editorUse FFmpeg + RemotionVideo editing is a billion-dollar problem. Use the solutions.
Pay for YouTube SEO tools on day oneUse free tiers of VidIQ/TubeBuddy firstMost value is in keyword research, available on free/cheap plans
Render in the cloud at low volumeUse local FFmpeg/RemotionCloud rendering has minimums and per-minute charges that don’t make sense below 50 videos/month
Build a cross-posting toolUse Buffer (free) or Repurpose.io ($29/mo)Each platform API has quirks that take months to master
Generate AI music for commercial use with MusicGenUse Suno Pro ($10/mo)MusicGen model weights are CC-BY-NC (non-commercial only)

The $0/mo Stack β€” Minimum Viable Pipeline

Everything here is genuinely free with no catch (no watermarks, no attribution required for most).

StageToolNotes
ScriptGemini API (free tier) or Ollama (local)1.5K requests/day on Gemini free
Stock footagePexels API20K requests/mo, portrait filter
Stock musicPixabay MusicNo attribution, commercial OK
Sound effectsFreesoundCC-licensed, check per sound
Voiceedge-tts300+ voices, no API key
CaptionsWhisper + whisper-timestampedLocal, word-level timestamps
Video compositionFFmpegThe gold standard, steep learning curve
ThumbnailsCanva free tierTemplates + AI maker
Trend researchTikTok Creative Center + Google TrendsManual but free
PublishingManual or Buffer free (3 channels)10 posts/channel
MonetizationContent Rewards, TikTok Creator RewardsNo threshold for Content Rewards

What you get: Fully functional pipeline for 10-20 videos/month. Voice quality is good (edge-tts), not great. Video composition requires FFmpeg knowledge. Manual trend research takes 1-2 hours/week.

What you sacrifice: Premium voice quality, automated posting, trend intelligence, visual template system.

The $50/mo Stack β€” Quality Pipeline

StageToolCostWhy
ScriptClaude API (Sonnet)~$5/moBest script quality
Stock footagePexels API + Storyblocks$21/moUnlimited downloads
Stock musicPixabay Music + Suno Pro$10/moCustom tracks when needed
Sound effectsFreesound$0CC-licensed
VoiceElevenLabs Creator$11/mo100K chars (~35 min), voice cloning
CaptionsWhisperX (local)$0Word-level, speaker diarization
Video compositionFFmpeg + Shotstack~$0-5/moLocal for most, cloud for complex
ThumbnailsCanva Pro$0 (bundled with Canva sub if needed)Or Figma free
Trend researchTikTok Creative Center$0Manual research
PublishingBuffer Essentials (3 channels)$15/moUnlimited scheduling
MonetizationYouTube Partner + Content Rewards$0Dual-track revenue
Total~$52-62/mo

What you get: Production-quality voice (ElevenLabs), unlimited stock (Storyblocks), custom music when stock doesn’t fit (Suno), automated scheduling (Buffer), best scripts (Claude).

What you sacrifice: API-level trend intelligence, automated cross-posting, all-in-one convenience.

The $200/mo Stack β€” Scale Pipeline

StageToolCostWhy
ScriptClaude API (Sonnet + Opus)~$15/moOpus for long-form narratives
Stock footageStoryblocks All Access$30/moUnlimited everything
Stock musicEpidemic Sound$15/mo50K+ tracks, API integration
Sound effectsEpidemic Sound (included)$0200K+ SFX
VoiceElevenLabs Pro$99/mo500K chars, voice cloning, lower overage
CaptionsWhisperX (local)$0Word-level
Video compositionRemotion (self-hosted)$0 (under threshold)React-based, Lambda rendering
ThumbnailsCanva Pro + Midjourney~$10/moAI generation for hero images
Trend researchVirlo Starter$29/moAPI access, 25+ endpoints
PublishingBuffer + Repurpose.io$15+29/moAuto cross-post to all platforms
MonetizationYouTube Partner + Sponsorships$0Multiple revenue streams
Total~$242/mo

What you get: Full automation pipeline. 100+ videos/month capacity. API-driven trend intelligence. Cross-platform auto-publishing. Premium voice and music. Data-driven content decisions.

What you sacrifice: Nothing meaningful. This stack covers 95% of use cases.


  1. Pipeline orchestration β€” The glue that connects script generation β†’ asset selection β†’ composition β†’ captioning β†’ publishing. No existing tool handles your specific workflow end-to-end.

  2. Template system β€” Your brand-specific video templates (intro, outro, lower thirds, text styles). Build once in Remotion or Creatomate, reuse forever.

  3. Content intelligence layer β€” Connecting trend data (Virlo) to your content library to decide what to produce next. This is your competitive advantage.

  4. Analytics aggregation β€” Pulling performance data from YouTube, TikTok, Instagram into one view to decide what’s working.

  5. A/B testing framework β€” Publishing variants and measuring which hooks, thumbnails, and formats perform best.

  6. Text-to-speech engine β€” Requires billions in training data. Use ElevenLabs or edge-tts.

  7. Stock footage library β€” Pexels and Pixabay have millions of clips with free APIs.

  8. Music library or music generation model β€” Use Pixabay Music, Epidemic Sound, or Suno.

  9. Speech-to-text / captioning engine β€” Whisper is free and state-of-the-art.

  10. Video encoding/rendering β€” FFmpeg is the gold standard. Don’t rewrite it.

  11. Social media posting APIs β€” Each platform has quirks. Use Buffer or Repurpose.io.

  12. Video editor β€” Adobe, CapCut, and DaVinci Resolve have spent billions. You won’t beat them.

  13. Thumbnail design tool β€” Canva exists. Use it.


Quick-reference table of every resource in this catalog.

Stock Video (4 free, 4 paid)

#ResourceURLFreeAPIRating
1Pexelspexels.comYesYes4/5
2Pixabaypixabay.comYesYes3/5
3Coverrcoverr.coYesNo4/5
4Mixkitmixkit.coYesNo4/5
5Storyblocksstoryblocks.comNoEnterprise4/5
6Artgridartgrid.ioNoNo5/5
7Envato Elementselements.envato.comNoNo4/5
8iStock/Gettyistockphoto.comNoYes5/5

Stock Music & SFX (5 free, 4 paid)

#ResourceURLFreeAPIRating
9Pixabay Musicpixabay.com/musicYesYes3/5
10Mixkit Musicmixkit.co/free-stock-musicYesNo4/5
11YouTube Audio LibraryYouTube StudioYes (YT only)No3/5
12Freesoundfreesound.orgYes (CC)Yes4/5
13Uppbeatuppbeat.ioYes (attribution)No4/5
14Epidemic Soundepidemicsound.comNoYes5/5
15Artlistartlist.ioNoNo5/5
16Soundstripesoundstripe.comNoNo4/5
17Bensoundbensound.comPartialNo3/5

Stock Images & Graphics (6)

#ResourceURLFreeAPIRating
18Pexelspexels.comYesYes4/5
19Unsplashunsplash.comYesYes5/5
20Pixabaypixabay.comYesYes3/5
21Freepikfreepik.comPartialNo4/5
22Canvacanva.comYesNo4/5
23Figmafigma.comYesREST5/5

TTS / Voice (8)

#ResourceURLFreeAPIRating
24ElevenLabselevenlabs.io10K charsYes5/5
25Play.htplay.htNoYes4/5
26Amazon Pollyaws.amazon.com/polly5M chars/moYes3/5
27Google Cloud TTScloud.google.com/text-to-speech4M chars/moYes4/5
28edge-ttsgithub.com/rany2/edge-ttsUnlimitedN/A4/5
29Coqui TTS / XTTSgithub.com/coqui-ai/TTSUnlimitedN/A4/5
30Barkgithub.com/suno-ai/barkUnlimitedN/A4/5
31Pipergithub.com/rhasspy/piperUnlimitedN/A3/5

Music Generation AI (4)

#ResourceURLFreeAPIRating
32Sunosuno.com50 credits/day3rd party5/5
33Udioudio.com10 daily + 100/moNo4/5
34Stable Audiostableaudio.comLimitedNo4/5
35MusicGen/AudioCraftgithub.com/facebookresearch/audiocraftUnlimitedReplicate4/5

Script Generation / LLMs (5)

#ResourceURLFreeAPIRating
36Claude APIanthropic.comNoYes5/5
37Gemini APIai.google.devYesYes4/5
38OpenRouteropenrouter.aiNoYes4/5
39Cloudflare Workers AIdevelopers.cloudflare.comYesYes3/5
40Ollamaollama.aiUnlimitedLocal3-4/5

Video Composition (6)

#ResourceURLFreeAPIRating
41Creatomatecreatomate.com50 creditsYes5/5
42Shotstackshotstack.io20 min/moYes4/5
43JSON2Videojson2video.com600 secYes3/5
44Remotionremotion.devYesSelf-hosted5/5
45FFmpegffmpeg.orgYesCLI5/5
46MoviePyzulko.github.io/moviepyYesPython3/5

Templates (6)

#ResourceURLFreeAPIRating
47Canvacanva.comYesNo4/5
48CapCutcapcut.comYesNo4/5
49InVideo AIinvideo.ioYesNo4/5
50Envato Elementselements.envato.comNoNo4/5
51Creatomatecreatomate.com50 creditsYes5/5
52Motion Arraymotionarray.comLimitedNo4/5

Captions (6)

#ResourceURLFreeAPIRating
53CapCutcapcut.comYesNo4/5
54Kapwingkapwing.com10 min/moNo4/5
55Descriptdescript.com1 hrNo4/5
56Whispergithub.com/openai/whisperUnlimitedLocal4/5
57WhisperXgithub.com/m-bain/whisperXUnlimitedLocal5/5
58whisper-timestampedgithub.com/linto-ai/whisper-timestampedUnlimitedLocal4/5

Thumbnails (6)

#ResourceURLFreeAPIRating
59Canvacanva.comYesNo4/5
60Figmafigma.comYesREST5/5
61Thumblythumbly.ai$0.01/eachNo3/5
62Midjourneymidjourney.comNoNo5/5
63DALL-Eopenai.com/dall-eVia APIYes4/5
64Fluxblackforestlabs.aiReplicateYes5/5

Trend Discovery (7)

#ResourceURLFreeAPIRating
65Virlovirlo.aiNoYes5/5
66Google Trendstrends.google.comYesScrapers3/5
67TikTok Creative Centerads.tiktok.comYes3rd party4/5
68YouTube Trendingyoutube.comYesYT API3/5
69Exploding Topicsexplodingtopics.comLimitedPro only4/5
70VidIQvidiq.comYesNo4/5
71TubeBuddytubebuddy.comYesNo4/5

Distribution (6)

#ResourceURLFreeAPIRating
72Bufferbuffer.com3 channelsNo4/5
73Laterlater.comLimitedNo3/5
74Repurpose.iorepurpose.ioNoNo4/5
75YouTube Data APIdevelopers.google.com10K units/dayYes5/5
76TikTok APIdevelopers.tiktok.comLimitedYes2/5
77Meta Graph APIdevelopers.facebook.comYesYes3/5

All-in-One Pipeline (8)

#ResourceURLFreeAPIRating
78AutoShorts.aiautoshorts.ai1 videoNo3/5
79InVideo AIinvideo.ioYesNo4/5
80Pictorypictory.ai14-day trialTeam+4/5
81Flikifliki.aiYesNo3/5
82Vizard.aivizard.ai120 min/moNo4/5
83OpusClipopus.pro60 credits/moBusiness4/5
84ShortsDailyshortsdaily.com500 creditsNo3/5
85Syllabysyllaby.ioNoNo3/5

Monetization (6)

#ResourceURLFreeThresholdRating
86YouTube Partneryoutube.com/creatorsYes1K subs + 4K hrs5/5
87TikTok Creator Rewardstiktok.comYes10K followers3/5
88Content Rewardscontentrewards.comYesNone4/5
89Instagram Bonusesinstagram.comInvite onlyInvite only2/5
90Gringrin.coNoBrand-dependent3/5
91Aspireaspire.ioNo~$2K/mo3/5

Total: 91 resources across 14 categories.


Official Documentation

Open Source Tools

Comparison Articles and Reviews


Last updated: March 2026. Prices and features change frequently. Verify current pricing at each resource’s official site before committing.


Edit page
Share this post on:

Previous Post
How to Export Twitter/X Bookmarks
Next Post
Video Production Techniques