Every AI tool leaves a fingerprint in your video
You generate a video with Runway. The output MP4 contains metadata fields that identify it as AI-generated. TikTok, Instagram, and YouTube can read these fields. Some platforms flag or suppress content based on them.
This isn't speculation. The C2PA standard (Content Credentials) is specifically designed to tag AI-generated content, and major AI video tools are adopting it. Even without C2PA, tools embed encoder names, creation timestamps, and custom metadata that identify their output.
Stripping this metadata is one FFmpeg command. But knowing what to strip and verifying it's gone requires understanding what's there.
What metadata AI tools embed
Common metadata fields
Every video file has standard metadata containers:
encoder: Software that created the file (e.g., "Runway Gen-3", "Lavf60.3.100")creation_time: When the file was createdcomment: Free-text field, often contains tool infohandler_name: Names of audio/video stream handlerstitle: Sometimes auto-populated by the tool
Tool-specific metadata
Runway: Embeds encoder information and may include C2PA content credentials. The metadata often includes Runway-specific handler names and encoding parameters that are distinctive.
Kling AI: Chinese metadata fields may appear. Encoder strings reference Kling's rendering pipeline.
Pika Labs: Includes generation parameters in metadata. Free tier adds visible watermarks in addition to metadata.
Sora: OpenAI is committed to C2PA. Sora outputs include Content Credentials manifests that declare AI origin.
Stable Video Diffusion: Open-source tools vary, but ComfyUI and similar frontends often embed workflow metadata.
C2PA Content Credentials
C2PA is a metadata standard backed by Adobe, Microsoft, Google, and others. It embeds:
A manifest declaring the content's origin
Cryptographic signatures proving the declaration
Action history (what tool generated it, what edits were made)
C2PA data lives in the file's metadata containers (XMP or JUMBF). FFmpeg's -map_metadata -1 removes the standard containers, but C2PA JUMBF data may require additional handling.
Viewing metadata before removal
Use ffprobe to see what's in your file:
Look for these sections in the output:
Any field that references an AI tool needs to go.
Stripping metadata with FFmpeg
Basic metadata removal
-map_metadata -1 removes all metadata from the output. -c:v copy -c:a copy copies streams without re-encoding. Fast, but doesn't change the video content itself.
Deep metadata removal
Some metadata survives -map_metadata -1 because it lives in stream-level containers. For complete removal:
-map_metadata:s:v -1: Removes video stream metadata-map_metadata:s:a -1: Removes audio stream metadata-fflags +bitexact: Prevents FFmpeg from adding its own metadata-flags:v +bitexactand-flags:a +bitexact: Prevents codec-level metadata
Nuclear option: re-encode everything
For maximum metadata removal, re-encode the entire file. This destroys any metadata embedded in the encoding structure:
Re-encoding creates a completely new file. No metadata from the original survives. The only downside: slight quality loss and longer processing time.
API call for metadata stripping
Handling C2PA specifically
C2PA content credentials use JUMBF (JPEG Universal Metadata Box Format) or XMP. FFmpeg's metadata stripping covers XMP in most cases. For JUMBF:
Re-encoding the file (-c:v libx264 instead of -c:v copy) is the most reliable way to remove JUMBF data, because it creates a completely new file structure.
If you want to verify C2PA removal, use the c2patool:
Verification: confirm metadata is gone
After stripping, verify nothing remains:
The output should be empty or contain only generic FFmpeg encoder strings.
Batch metadata stripping
Strip metadata from multiple AI videos:
Beyond metadata: additional steps
Stripping metadata is necessary but not sufficient for avoiding AI detection. Platforms also use:
Visual pattern analysis: AI video has characteristic smoothness and consistency
Audio pattern analysis: AI-generated speech or music has specific artifacts
For comprehensive AI detection avoidance, combine metadata stripping with:
Add sensor noise:
-vf "noise=alls=6:allf=t"(mimics real camera noise)Crop edges:
-vf "crop=iw-6:ih-6:3:3"(removes potential edge artifacts)Adjust colors:
-vf "eq=brightness=0.01:saturation=1.02"(shifts away from AI defaults)Modify audio:
-af "asetrate=44100*1.005,aresample=44100"(shifts pitch slightly)
Combined command:
This strips metadata, adds natural-looking noise, adjusts colors, and modifies audio. The result is indistinguishable from a camera-recorded video.
Get started
The Starter plan at $9/mo includes 500 commands. Explore the FFmpeg API features or grab your API key and start processing AI videos.