Skip to content
Back to skills

Face Hiding

ASecurity

Hide the faces in a video or photo by blurring or pixelating them. A face-masked gaussian_blur or pixelate follows every face frame by frame and leaves the rest of the picture sharp. Use when asked to hide, blur, pixelate, censor, anonymize or cover someone's face, to blur faces for privacy, or to hide who is in a video. Hiding a face is an effect, not a look.

  • 6 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added November 5, 2026
ai-agentsgo

Works with

  • cli

Security analysis

A100/100

Scanned November 5, 2026

npx -y skills add PicsArt/gen-ai-skills --skill face-hiding --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Face Hiding?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Face Hiding
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/picsart-face-hiding/badge)](https://www.skillsdirectory.com/skills/picsart-face-hiding)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: face-hiding
description: Hide the faces in a video or photo by blurring or pixelating them. A face-masked gaussian_blur or pixelate follows every face frame by frame and leaves the rest of the picture sharp. Use when asked to hide, blur, pixelate, censor, anonymize or cover someone's face, to blur faces for privacy, or to hide who is in a video. Hiding a face is an effect, not a look.
metadata:
  category: authoring
  version: '1'
  ported-from: hide-faces 1 at 55.75.0
user-invocable: false
---

# Hiding faces

Two treatments hide a face. Both are **effects**, applied with `picsart_scene_apply_preset`; no look
does this, and none is needed. Never answer that nothing is made for hiding a face.

| Treatment | Preset | What the viewer sees |
|---|---|---|
| **Blur** | `effect:gaussian_blur` with a face mask | a soft, unreadable face |
| **Pixelate** | `effect:pixelate` with a face mask | the mosaic used to censor faces on TV |

**When the request names no treatment** ("hide her face", "cover her face", "make him
anonymous"), ask before applying anything: suggest blur and pixelate, in that order, in one short
message, then apply the one the user picks.

**When the request names one, apply it without asking:** "blur" is the blur; "pixelate" or
"mosaic" is the pixelation.

## Blur or pixelate the faces

Put the effect on the media layer and confine it with a `portrait` / `face_skin` mask. The mask
finds every face in each frame, so on a video the effect follows the faces as they move, and the
hair, body and background stay sharp:

```json
picsart_scene_apply_preset({
  "scene": ..., "layerId": "clip", "preset": "effect:gaussian_blur",
  "params": { "blur": 60 },
  "mask": { "provider": "portrait", "segments": ["face_skin"] }
})
```

```json
picsart_scene_apply_preset({
  "scene": ..., "layerId": "clip", "preset": "effect:pixelate",
  "params": { "pixelSize": 40 },
  "mask": { "provider": "portrait", "segments": ["face_skin"] }
})
```

Set the strength from the size of the faces, not a fixed number:

- **`blur`** about a tenth of the face's width in composition pixels. A face 600 px wide needs
  about 60; at 40 its eyes and mouth still show through. Small faces in a group shot need 20-30.
- **`pixelSize`** about a twelfth of the face's width: 40 for a face 600 px wide.

For an export, any value is fine. For live playback, a blur past 32 costs frame time on a
full-frame video, so prefer `pixelate` there.

## What the mask covers

- **Every face in the layer.** The detector does not tell people apart, so there is no way to hide
  one person's face and keep another's. When the request points at one person ("her face", "the
  man on the left") and the frames show more than one face, tell the user before exporting that
  every face gets the treatment.
- **The face, not the hair.** To hide more of the person, mask the whole person instead:
  `{ "provider": "scene", "segments": ["person"] }`. `supports.maskProviders` in
  `picsart_scene_capabilities` lists every region and the platforms that produce it.
- **One region per effect.** Applying `gaussian_blur` again replaces the layer's earlier
  `gaussian_blur`, mask included.

## Check the result

Look at two or three moments where the faces are visible, with `picsart_scene_contact_sheet` and
`times`. Look at every face, not only the largest:

- **Each face is unreadable and the rest of the frame is as it was:** the effect works. Export.
- **The whole frame is blurred:** the mask did not resolve, and the effect landed on the whole
  layer. Check that the provider and segment are spelled as `supports.maskProviders` lists them.
- **A face still shows:** it was too small or turned too far away for the detector at that moment.
  Tell the user which shots still show a face.

A masked effect runs the face detector on every frame, so a video export takes noticeably longer
than one without the mask.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

View all in ai-agents →

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.