---
title: "VFX - Apply visual effects to video"
method: POST
path: "/v1/ai/video/vfx"
tags: ["video"]
---

# VFX - Apply visual effects to video

`POST /v1/ai/video/vfx`

## Request

- Base URL: `https://api.magnific.com`
- URL: `https://api.magnific.com/v1/ai/video/vfx`
- Auth: API key in header `x-magnific-api-key`

Apply professional visual effects and filters to your videos using the VFX API. Transform any video with cinematic effects like film grain, motion blur, VHS retro style, and anamorphic lens distortion.

**Available filters:**
- `1` Film grain - Adds cinematic grain texture for a classic film look
- `2` Motion blur - Creates motion blur effect (configurable kernel size and decay)
- `3` Fish eye - Applies fish eye lens distortion
- `4` VHS - Retro VHS tape effect with scan lines and color distortion
- `5` Shake - Camera shake effect for dynamic footage
- `6` VGA - Low resolution VGA effect for retro aesthetics
- `7` Bloom - Glowing bloom effect (adjustable contrast)
- `8` Anamorphic lens - Cinematic anamorphic lens effect with horizontal flares

**Use cases:** Social media content, music videos, film production, advertising, retro-style videos, and creative projects.

## Request body

- VfxRequest
  - `webhook_url` string, uri: Webhook URL to notify when the task is completed
  - `video` string, uri, required: URL of the video to apply effects to. Must be publicly accessible.
  - `filter_type` 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8: Type of visual effect filter to apply to the video. **Available filters:** - `1`: Film grain - Adds cinematic grain texture - `2`: Motion blur - Creates motion blur effect - `3`: Fish eye - Applies fish eye lens distortion - `4`: VHS - Retro VHS tape effect - `5`: Shake - Camera shake effect - `6`: VGA - Low resolution VGA effect - `7`: Bloom - Glowing bloom effect (use bloom_filter_contrast to adjust) - `8`: Anamorphic lens - Cinematic anamorphic lens effect
  - `fps` integer: Frames per second for the output video
  - `bloom_filter_contrast` number: Contrast value for bloom filter effect. Only applicable when filter_type is 7 (bloom).
  - `motion_filter_kernel_size` integer: Kernel size for motion blur filter. Only applicable when filter_type is 2 (motion_blur).
  - `motion_filter_decay_factor` number: Decay factor for motion blur filter. Only applicable when filter_type is 2 (motion_blur).

## Response `200`

OK - The task exists and the status is returned

- InlineObject4
  - `data` TaskDetail1, required
    - `task_id` string, uuid, required: Task identifier
    - `status` 'CREATED' | 'IN_PROGRESS' | 'COMPLETED' | 'FAILED', required: Task status
    - `generated` string[], required

## Other responses

- `400`: Bad Request - The server could not understand the request due to invalid syntax.
- `401`: Unauthorized - The client must authenticate itself to get the requested response.
- `500`: Internal Server Error - The server has encountered a situation it doesn't know how to handle.
- `503`: Service Unavailable

---

[API](https://skmtc.dev/magnific/apis/magnific-api.md) · [All operations](https://skmtc.dev/magnific/apis/magnific-api/llms.txt) · [OpenAPI document](https://skmtc.dev/magnific/apis/magnific-api/revisions/60711fb082c7?raw)
