---
title: "How to add a phone-shot UGC look with Claude (tested prompt and ffmpeg command)"
description: "The studio shot starts to drift like it's held in a hand, its crisp edges soften and a fine moving grain settles over the picture, so it reads like a customer filmed it on their phone. Install one skill and ask Claude Code, or run the ffmpeg command we tested yourself."
url: https://www.recharm.com/effects/phone-shot-ugc-look
---

# How to add a phone-shot UGC look with Claude

The studio shot starts to drift like it's held in a hand, its crisp edges soften and a fine moving grain settles over the picture, so it reads like a customer filmed it on their phone.

Made by the command on this page, from our own test clip.

## Get this effect

1. ### Switch to Code in your [Claude Desktop App](https://claude.com/download)

2. ### Install the skill (once)

   ```
   Install the Recharm video effects skill: download https://recharm-growth-staging.s3.us-east-2.amazonaws.com/website/downloads/recharm-video-effects.zip and unzip it into ~/.claude/skills
   ```

3. ### Ask for the effect

   ```
   Add a phone-shot UGC look to input.mp4
   How far the handheld drift wanders from center, in pixels: 9
   Blur sigma in pixels that takes the studio crispness off: 1.4
   ```

## Several videos, several effects, one ask

Put your clips in the folder, mention them with @, and ask for everything at once. Claude runs one tested script after another on each clip, then joins them.

Add a phone-shot ugc look to **@clip1.mp4**, put a sale badge on **@clip2.mp4**, give **@clip3.mp4** a VHS look, then join all three with crossfades.

## Settings you can change

Ask Claude to change any of these, or edit them at the top of the command.

| Setting    | Default | What it does                                                                   |
| ---------- | ------- | ------------------------------------------------------------------------------ |
| `SWAY`     | `9`     | How far the handheld drift wanders from center, in pixels.                     |
| `SOFTNESS` | `1.4`   | Blur sigma in pixels that takes the studio crispness off. 0 keeps full detail. |
| `GRAIN`    | `14`    | Strength of the moving sensor grain (0-100).                                   |

## Without the skill

Don’t want to install the skill? Paste this prompt into Claude Code and Claude writes the command itself.

```
Make input.mp4 look like it was filmed on a phone (UGC style) for the whole clip. First scale the frame up 8% and crop it back to the original size (540x960) with a slowly drifting crop window, so it sways like a handheld camera: offset the crop from center by x = 9*(0.7*sin(2.3t+1.1) + 0.3*sin(5.9t+0.4)) pixels and y = 9*(0.7*sin(1.7t+2.0) + 0.3*sin(6.7t+2.9)) pixels, where t is the time in seconds. Then soften the detail with a Gaussian blur of sigma 1.4 px and add moving sensor grain that changes every frame (ffmpeg's noise filter with alls=14:allf=t). Don't show black edges. Keep the size, 30fps, 6 seconds and the audio. Use ffmpeg, encode H.264 yuv420p and save it as output.mp4.
```

## Run it without Claude

This is the exact command we tested. Save it as `phone-shot-ugc-look.sh` and run:

```
sh phone-shot-ugc-look.sh input.mp4 output.mp4
```

```
#!/bin/sh
# Phone-shot UGC look: polished footage gets a gentle handheld sway, softer detail and phone-camera grain.
# Usage: sh phone-shot-ugc-look.sh input.mp4 output.mp4
# Needs ffmpeg.
set -e
IN="$1"; OUT="$2"
SWAY=9        # how far the handheld drift wanders, in pixels
SOFTNESS=1.4  # blur sigma in pixels, to take the studio crispness off
GRAIN=14      # strength of the moving sensor grain (0-100)

SIZE=$(ffprobe -v error -select_streams v:0 -show_entries stream=width,height -of csv=s=x:p=0 "$IN")
W=${SIZE%x*}; H=${SIZE#*x}
# scale up 8% so the drifting crop never shows an edge; two slow sine waves per axis make an uneven, hand-held wander
ffmpeg -y -v error -i "$IN" -vf "scale=trunc(iw*1.08/2)*2:-2,\
crop=$W:$H:x='(in_w-out_w)/2+$SWAY*(0.7*sin(t*2.3+1.1)+0.3*sin(t*5.9+0.4))':y='(in_h-out_h)/2+$SWAY*(0.7*sin(t*1.7+2.0)+0.3*sin(t*6.7+2.9))',\
gblur=sigma=$SOFTNESS,noise=alls=$GRAIN:allf=t,fps=30,format=yuv420p" \
  -c:v libx264 -crf 20 -c:a copy "$OUT"
```

## More ugc and social proof

- [Comment reply overlay **Comment reply overlay**](https://www.recharm.com/effects/comment-reply-overlay)
- [Day counter **Day counter**](https://www.recharm.com/effects/day-counter)
- [Emoji rain **Emoji rain**](https://www.recharm.com/effects/emoji-rain)
- [Floating hearts **Floating hearts**](https://www.recharm.com/effects/floating-hearts)
- [Follow button animation **Follow button animation**](https://www.recharm.com/effects/follow-button-animation)

## Find 3x _winning ads_

Recharm cuts your ad footage into tagged, searchable clips: hooks, testimonials, product shots. Find the shots that win, add the effect with Claude, and ship 3x more ad edits.

[Start 14-day free trial](https://www.recharm.com/get-started)
