---
title: Content Safety | Runware Docs
url: https://runware.ai/docs/models/content-safety
description: NSFW detection for images and videos with a confidence score
---
# Content Safety

Content Safety classifies images and videos as safe or not safe for work, returning a verdict and a confidence score. It exposes the same content checking used by the safety.checkContent parameter as a standalone model, so media can be screened before generation, on upload, or across an existing library. Video inputs support fast checking on key frames or full checking on every frame.

- **ID**: `content-safety`
- **Status**: coming-soon
- **Capabilities**: Image to Text, Video to Text, Checkpoint, Content Safety

## Compatibility & Validation

Provide exactly one of: `inputs.image`, `inputs.video`.

---

When `settings.mode` is provided, `inputs.video` is required.

## Request Parameters

**API Options**

Platform-level options for task execution and delivery.

### [taskType](https://runware.ai/docs/models/content-safety#request-tasktype)

- **Type**: `string`
- **Required**: true
- **Value**: `caption`

Identifier for the type of task being performed

### [taskUUID](https://runware.ai/docs/models/content-safety#request-taskuuid)

- **Type**: `string`
- **Required**: true
- **Format**: `UUID v4`

UUID v4 identifier for tracking tasks and matching async responses. Must be unique per task.

### [webhookURL](https://runware.ai/docs/models/content-safety#request-webhookurl)

- **Type**: `string`
- **Format**: `uri`

Specifies a webhook URL where JSON responses will be sent via HTTP POST when generation tasks complete. For batch requests with multiple results, each completed item triggers a separate webhook call as it becomes available.

**Learn more** (1 resource):

- [Webhooks](https://runware.ai/docs/platform/webhooks) (platform)

### [deliveryMethod](https://runware.ai/docs/models/content-safety#request-deliverymethod)

- **Type**: `string`
- **Default**: `sync`

Determines how the API delivers task results.

**Allowed values**:

- `sync` Returns complete results directly in the API response.
- `async` Returns an immediate acknowledgment with the task UUID. Poll for results using getResponse.

**Learn more** (1 resource):

- [Task Polling](https://runware.ai/docs/platform/task-polling) (platform)

### [includeCost](https://runware.ai/docs/models/content-safety#request-includecost)

- **Type**: `boolean`

Include task cost in the response.

**Inputs**

Input resources for the task (images, audio, etc). These must be nested inside the \`inputs\` object.

### [image](https://runware.ai/docs/models/content-safety#request-inputs-image)

- **Path**: `inputs.image`
- **Type**: `string`

Image input (UUID, URL, Data URI, or Base64).

### [video](https://runware.ai/docs/models/content-safety#request-inputs-video)

- **Path**: `inputs.video`
- **Type**: `string`

Video input (UUID or URL).

**Core Parameters**

Primary parameters that define the task output.

### [model](https://runware.ai/docs/models/content-safety#request-model)

- **Type**: `string`
- **Required**: true
- **Value**: `content-safety`

Identifier of the model to use for generation.

**Learn more** (3 resources):

- [Text To Image: Model Selection](https://runware.ai/docs/learn/text-to-image#model-selection) (learn)
- [Image Inpainting: Model Specialized Inpainting Models](https://runware.ai/docs/learn/image-inpainting#model-specialized-inpainting-models) (learn)
- [Image Outpainting: Other Critical Parameters](https://runware.ai/docs/learn/image-outpainting#other-critical-parameters) (learn)

**Settings**

Technical parameters to fine-tune the inference process. These must be nested inside the \`settings\` object.

### [mode](https://runware.ai/docs/models/content-safety#request-settings-mode)

- **Path**: `settings.mode`
- **Type**: `string`
- **Default**: `fast`

Safety checking mode for video generation.

**Allowed values**:

- `fast` Checks key frames.
- `full` Checks all frames.

## Response Parameters

### [taskType](https://runware.ai/docs/models/content-safety#response-tasktype)

- **Type**: `string`
- **Required**: true
- **Value**: `caption`

Identifier for the type of task this response belongs to.

### [taskUUID](https://runware.ai/docs/models/content-safety#response-taskuuid)

- **Type**: `string`
- **Required**: true
- **Format**: `UUID v4`

UUID v4 identifier echoed from the original request, used to match async responses to their tasks.

### [cost](https://runware.ai/docs/models/content-safety#response-cost)

- **Type**: `float`

Task cost in USD. Present when `includeCost` is set to `true` in the request.

### [structuredData](https://runware.ai/docs/models/content-safety#response-structureddata)

- **Path**: `structuredData.NSFWContent`
- **Type**: `object (2 properties)`
- **Required**: true

Machine-readable content safety classification.

#### [NSFWContent](https://runware.ai/docs/models/content-safety#response-structureddata-nsfwcontent)

- **Path**: `structuredData.NSFWContent`
- **Type**: `boolean`
- **Required**: true

Flag indicating if NSFW content was detected.

#### [confidence](https://runware.ai/docs/models/content-safety#response-structureddata-confidence)

- **Path**: `structuredData.confidence`
- **Type**: `float`
- **Required**: true
- **Min**: `0`
- **Max**: `100`

Confidence score as a percentage.