# Guides

Step-by-step walkthroughs for common media processing tasks.

## Getting Started

- [Quickstart](/guides/quickstart.md) -- Install ittybit and process your first file
- [Install FFmpeg](/guides/install-ffmpeg.md) -- Set up FFmpeg on your system for local media processing

## Video

- [Trim video clips](/guides/trim-video-clips.md) -- Cut a specific segment from a longer video
- [Resize video for social platforms](/guides/resize-video-for-social-platforms.md) -- Export videos sized for different social media feeds
- [Optimize video for mobile apps](/guides/optimize-video-for-mobile.md) -- Produce compact, fast-loading video for iOS and Android playback
- [View all 13 guides](/guides/video)

## Audio

- [Prepare podcast audio](/guides/prepare-podcast-audio.md) -- Convert raw recordings to distribution-ready audio files
- [Normalize audio levels](/guides/normalize-audio-levels.md) -- Ensure consistent loudness across audio files
- [Extract audio waveform data](/guides/extract-audio-waveform-data.md) -- Generate JSON waveform data for visual audio players
- [View all 7 guides](/guides/audio)

## Images

- [Generate responsive image sizes](/guides/generate-responsive-image-sizes.md) -- Create multiple image sizes for srcset and responsive layouts
- [Convert images to AVIF](/guides/convert-images-to-avif.md) -- Use AVIF for the smallest possible image files
- [Optimize product images for e-commerce](/guides/optimize-product-images-for-ecommerce.md) -- Convert and resize product photos for fast-loading store pages
- [View all 7 guides](/guides/images)

## Codecs

- [Choose the right codec](/guides/choose-the-right-codec.md) -- Decision tree for picking the best video codec for your use case
- [Encode video with AV1](/guides/encode-video-with-av1.md) -- Use AV1 codec for smaller files at the same quality
- [Multi-codec encoding pipeline](/guides/multi-codec-encoding-pipeline.md) -- Output h264, AV1, and WebM from a single source in one pipeline
- [View all 7 guides](/guides/codecs)

## Streaming

- [Create HLS streams](/guides/create-hls-streams.md) -- Generate adaptive bitrate streams for video playback
- [Add subtitles to HLS streams](/guides/add-subtitles-to-hls-streams.md) -- Include WebVTT caption tracks in adaptive streaming packages
- [Encrypt HLS streams](/guides/encrypt-hls-streams.md) -- Protect video content with AES-128 encryption in HLS packages
- [View all 7 guides](/guides/streaming)

## Storage

- [Process files from a URL](/guides/process-files-from-url.md) -- Use any public or signed HTTP URL as input for processing
- [Process files from S3](/guides/process-files-from-s3.md) -- Read input from S3-compatible storage and process it
- [Migrate media between storage providers](/guides/migrate-media-between-storage-providers.md) -- Move and re-encode media from one storage backend to another
- [View all 7 guides](/guides/storage)

## Use Cases

- [Process meeting recordings](/guides/process-meeting-recordings.md) -- Convert long meeting recordings into compact, shareable formats
- [Archive security camera footage](/guides/archive-security-camera-footage.md) -- Compress and store surveillance video efficiently
- [Attach metadata to jobs](/guides/attach-metadata-to-jobs.md) -- Tag jobs with custom key-value pairs for tracking and organization
- [View all 7 guides](/guides/use-cases)

## AI

- [AI-powered video clipping with OpenAI](/guides/ai-powered-video-clipping-with-openai.md) -- Use GPT-4 function calling to identify and cut the best clips from a video
- [Claude tool use for media processing](/guides/claude-tool-use-for-media-processing.md) -- Give Claude the ability to process video, audio, and images via Ittybit tool use
- [Video editing with Gemini and Ittybit](/guides/video-editing-with-gemini.md) -- Use Gemini to interpret editing instructions and Ittybit to execute the cuts
- [View all 17 guides](/guides/ai)

## Hosting

- [AWS event-driven media processing with Ittybit](/guides/aws-event-driven-media-processing.md) -- Process S3 uploads automatically using EventBridge, Lambda, and Ittybit webhooks
- [Auto-process Supabase uploads with Ittybit](/guides/auto-process-supabase-uploads.md) -- Trigger Ittybit media processing automatically when files are uploaded to Supabase Storage
- [Process uploads in Next.js with Ittybit](/guides/process-uploads-in-nextjs.md) -- Handle media uploads with Next.js Server Actions and Ittybit webhook callbacks
- [View all 20 guides](/guides/hosting)

## Workflows

- [Media processing with Cloudflare Workers, R2, and Ittybit](/guides/media-processing-with-cloudflare-workers-and-r2.md) -- Build a serverless media pipeline using Cloudflare R2 for storage and Ittybit for processing
- [Video processing pipeline with Trigger.dev and Ittybit](/guides/video-processing-pipeline-with-trigger-dev.md) -- Use Trigger.dev background jobs to orchestrate async video transcoding with Ittybit
- [Event-driven video processing with Inngest and Ittybit](/guides/event-driven-video-processing-with-inngest.md) -- Use Inngest step functions to orchestrate video transcoding and thumbnail generation
- [View all 21 guides](/guides/workflows)

