# Models, tasks, schemas, and pricing

> Inspect every customer-visible model, availability state, generation task, input schema, output contract, and published unit price.

Canonical: https://entirefeed.com/docs/reference/models

This reference is generated from the same checked catalog used by docs and pricing. Use task discovery at runtime before constructing requests, and use `POST /v1/estimate` for a concrete total.

## Model availability

Current catalog: 11 available tasks and 11 available models. Coming-soon entries are marked non-runnable.

### `gemini-omni` - Gemini Omni

Availability: Available.

Tasks: `video.create`.

### `gemini-omni-flash` - Gemini Omni Flash

Availability: Available.

Tasks: `video.create`.

### `gpt-image-2` - GPT Image 2

Availability: Available.

Tasks: `image.create`, `image.edit`.

### `nano-banana-2` - Nano Banana 2

Availability: Available.

Tasks: `image.create`, `image.edit`.

### `nano-banana-2-lite` - Nano Banana 2 Lite

Availability: Available.

Tasks: `image.create`, `image.edit`.

### `nano-banana-pro` - Nano Banana Pro

Availability: Available.

Tasks: `image.create`, `image.edit`.

### `seedance-2` - Seedance 2

Availability: Available.

Tasks: `video.create`.

### `seedance-2-fast` - Seedance 2 Fast

Availability: Available.

Tasks: `video.create`.

### `seedance-2-mini` - Seedance 2 Mini

Availability: Available.

Tasks: `video.create`.

### `seedance-2.5` - Seedance 2.5

Availability: Coming soon - not runnable.

This model is unavailable and has no runnable task contract, pricing calculator, or create example.

### `seedream-5-pro` - Seedream 5.0 Pro

Availability: Available.

Tasks: `image.create`, `image.edit`.

### `sync-lipsync-v3` - Sync Lipsync V3

Availability: Available.

Tasks: `video.lipsync`.

## Task contracts

### `image.create` - Create Image

Media type: `image`

Published prices:

- `gpt-image-2`: $0.03 per image; minimum $0.03
- `nano-banana-2`: $0.045 per image; minimum $0.045
- `nano-banana-2-lite`: $0.0336 per image; minimum $0.0336
- `nano-banana-pro`: $0.134 per image; minimum $0.134
- `seedream-5-pro`: $0.035 per image; minimum $0.035

#### gpt-image-2 input

```json
{
  "model": "gpt-image-2",
  "defaults": {
    "aspect_ratio": "auto",
    "resolution": "1K"
  },
  "input_schema": {
    "$defs": {
      "ReferenceUrlInput": {
        "additionalProperties": false,
        "properties": {
          "url": {
            "format": "uri",
            "minLength": 1,
            "pattern": "^https://(?:\\[[0-9A-Fa-f:.]+\\]|[^@\\s/:?#]+)(?::443)?(?:[/?#]|$)",
            "type": "string"
          }
        },
        "required": [
          "url"
        ],
        "type": "object"
      }
    },
    "additionalProperties": false,
    "properties": {
      "aspect_ratio": {
        "default": "auto",
        "enum": [
          "auto",
          "1:1",
          "3:2",
          "2:3",
          "4:3",
          "3:4",
          "16:9",
          "9:16",
          "2:1",
          "1:2",
          "3:1",
          "1:3",
          "21:9",
          "9:21",
          "5:4",
          "4:5"
        ],
        "type": "string"
      },
      "prompt": {
        "maxLength": 32000,
        "minLength": 1,
        "pattern": "\\S",
        "type": "string"
      },
      "reference_images": {
        "items": {
          "$ref": "#/$defs/ReferenceUrlInput"
        },
        "maxItems": 16,
        "type": "array"
      },
      "resolution": {
        "default": "1K",
        "description": "Output size. Some extreme aspect ratios are limited to 1K.",
        "enum": [
          "1K",
          "2K",
          "4K"
        ],
        "type": "string"
      }
    },
    "required": [
      "prompt"
    ],
    "type": "object"
  }
}
```

#### nano-banana-2 input

```json
{
  "model": "nano-banana-2",
  "defaults": {
    "aspect_ratio": "auto",
    "resolution": "1K"
  },
  "input_schema": {
    "$defs": {
      "ReferenceUrlInput": {
        "additionalProperties": false,
        "properties": {
          "url": {
            "format": "uri",
            "minLength": 1,
            "pattern": "^https://(?:\\[[0-9A-Fa-f:.]+\\]|[^@\\s/:?#]+)(?::443)?(?:[/?#]|$)",
            "type": "string"
          }
        },
        "required": [
          "url"
        ],
        "type": "object"
      }
    },
    "additionalProperties": false,
    "properties": {
      "aspect_ratio": {
        "default": "auto",
        "enum": [
          "auto",
          "1:1",
          "2:3",
          "3:2",
          "3:4",
          "4:3",
          "4:5",
          "5:4",
          "9:16",
          "16:9",
          "21:9",
          "1:4",
          "4:1",
          "1:8",
          "8:1"
        ],
        "type": "string"
      },
      "prompt": {
        "maxLength": 32000,
        "minLength": 1,
        "pattern": "\\S",
        "type": "string"
      },
      "reference_images": {
        "items": {
          "$ref": "#/$defs/ReferenceUrlInput"
        },
        "maxItems": 14,
        "type": "array"
      },
      "resolution": {
        "default": "1K",
        "enum": [
          "0.5K",
          "1K",
          "2K",
          "4K"
        ],
        "type": "string"
      }
    },
    "required": [
      "prompt"
    ],
    "type": "object"
  }
}
```

#### nano-banana-2-lite input

```json
{
  "model": "nano-banana-2-lite",
  "defaults": {
    "aspect_ratio": "auto",
    "resolution": "1K"
  },
  "input_schema": {
    "$defs": {
      "ReferenceUrlInput": {
        "additionalProperties": false,
        "properties": {
          "url": {
            "format": "uri",
            "minLength": 1,
            "pattern": "^https://(?:\\[[0-9A-Fa-f:.]+\\]|[^@\\s/:?#]+)(?::443)?(?:[/?#]|$)",
            "type": "string"
          }
        },
        "required": [
          "url"
        ],
        "type": "object"
      }
    },
    "additionalProperties": false,
    "properties": {
      "aspect_ratio": {
        "default": "auto",
        "enum": [
          "auto",
          "1:1",
          "2:3",
          "3:2",
          "3:4",
          "4:3",
          "4:5",
          "5:4",
          "9:16",
          "16:9",
          "21:9",
          "1:4",
          "4:1",
          "1:8",
          "8:1"
        ],
        "type": "string"
      },
      "prompt": {
        "maxLength": 32000,
        "minLength": 1,
        "pattern": "\\S",
        "type": "string"
      },
      "reference_images": {
        "items": {
          "$ref": "#/$defs/ReferenceUrlInput"
        },
        "maxItems": 14,
        "type": "array"
      },
      "resolution": {
        "default": "1K",
        "enum": [
          "1K"
        ],
        "type": "string"
      }
    },
    "required": [
      "prompt"
    ],
    "type": "object"
  }
}
```

#### nano-banana-pro input

```json
{
  "model": "nano-banana-pro",
  "defaults": {
    "aspect_ratio": "auto",
    "resolution": "1K"
  },
  "input_schema": {
    "$defs": {
      "ReferenceUrlInput": {
        "additionalProperties": false,
        "properties": {
          "url": {
            "format": "uri",
            "minLength": 1,
            "pattern": "^https://(?:\\[[0-9A-Fa-f:.]+\\]|[^@\\s/:?#]+)(?::443)?(?:[/?#]|$)",
            "type": "string"
          }
        },
        "required": [
          "url"
        ],
        "type": "object"
      }
    },
    "additionalProperties": false,
    "properties": {
      "aspect_ratio": {
        "default": "auto",
        "enum": [
          "auto",
          "1:1",
          "2:3",
          "3:2",
          "3:4",
          "4:3",
          "4:5",
          "5:4",
          "9:16",
          "16:9",
          "21:9"
        ],
        "type": "string"
      },
      "prompt": {
        "maxLength": 32000,
        "minLength": 1,
        "pattern": "\\S",
        "type": "string"
      },
      "reference_images": {
        "items": {
          "$ref": "#/$defs/ReferenceUrlInput"
        },
        "maxItems": 14,
        "type": "array"
      },
      "resolution": {
        "default": "1K",
        "enum": [
          "1K",
          "2K",
          "4K"
        ],
        "type": "string"
      }
    },
    "required": [
      "prompt"
    ],
    "type": "object"
  }
}
```

#### seedream-5-pro input

```json
{
  "model": "seedream-5-pro",
  "defaults": {
    "aspect_ratio": "1:1",
    "output_format": "png",
    "resolution": "1K"
  },
  "input_schema": {
    "$defs": {
      "ReferenceUrlInput": {
        "additionalProperties": false,
        "properties": {
          "url": {
            "format": "uri",
            "minLength": 1,
            "pattern": "^https://(?:\\[[0-9A-Fa-f:.]+\\]|[^@\\s/:?#]+)(?::443)?(?:[/?#]|$)",
            "type": "string"
          }
        },
        "required": [
          "url"
        ],
        "type": "object"
      }
    },
    "additionalProperties": false,
    "properties": {
      "aspect_ratio": {
        "default": "1:1",
        "enum": [
          "1:1",
          "4:3",
          "3:4",
          "16:9",
          "9:16",
          "2:3",
          "3:2",
          "21:9"
        ],
        "type": "string"
      },
      "output_format": {
        "default": "png",
        "enum": [
          "png",
          "jpeg"
        ],
        "type": "string"
      },
      "prompt": {
        "maxLength": 5000,
        "minLength": 3,
        "pattern": "\\S",
        "type": "string"
      },
      "reference_images": {
        "items": {
          "$ref": "#/$defs/ReferenceUrlInput"
        },
        "maxItems": 10,
        "type": "array"
      },
      "resolution": {
        "default": "1K",
        "enum": [
          "1K",
          "2K"
        ],
        "type": "string"
      }
    },
    "required": [
      "prompt"
    ],
    "type": "object"
  }
}
```

Output schema:

```json
{
  "$defs": {
    "PublicAsset": {
      "properties": {
        "expires_at": {
          "anyOf": [
            {
              "format": "date-time",
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "id": {
          "type": "string"
        },
        "mime_type": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "type": {
          "type": "string"
        },
        "url": {
          "format": "uri",
          "minLength": 1,
          "type": "string"
        }
      },
      "required": [
        "id",
        "type",
        "url"
      ],
      "type": "object"
    }
  },
  "properties": {
    "assets": {
      "items": {
        "$ref": "#/$defs/PublicAsset"
      },
      "minItems": 1,
      "type": "array"
    },
    "data": {
      "anyOf": [
        {
          "additionalProperties": true,
          "type": "object"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    }
  },
  "required": [
    "assets"
  ],
  "type": "object"
}
```

### `image.edit` - Edit Image

Media type: `image`

Published prices:

- `gpt-image-2`: $0.03 per image; minimum $0.03
- `nano-banana-2`: $0.045 per image; minimum $0.04556
- `nano-banana-2-lite`: $0.0336 per image; minimum $0.03388
- `nano-banana-pro`: $0.134 per image; minimum $0.1351
- `seedream-5-pro`: $0.035 per image; minimum $0.035

#### gpt-image-2 input

```json
{
  "model": "gpt-image-2",
  "defaults": {
    "aspect_ratio": "auto",
    "resolution": "1K"
  },
  "input_schema": {
    "$defs": {
      "ReferenceUrlInput": {
        "additionalProperties": false,
        "properties": {
          "url": {
            "format": "uri",
            "minLength": 1,
            "pattern": "^https://(?:\\[[0-9A-Fa-f:.]+\\]|[^@\\s/:?#]+)(?::443)?(?:[/?#]|$)",
            "type": "string"
          }
        },
        "required": [
          "url"
        ],
        "type": "object"
      }
    },
    "additionalProperties": false,
    "properties": {
      "aspect_ratio": {
        "default": "auto",
        "enum": [
          "auto",
          "1:1",
          "3:2",
          "2:3",
          "4:3",
          "3:4",
          "16:9",
          "9:16",
          "2:1",
          "1:2",
          "3:1",
          "1:3",
          "21:9",
          "9:21",
          "5:4",
          "4:5"
        ],
        "type": "string"
      },
      "images": {
        "items": {
          "$ref": "#/$defs/ReferenceUrlInput"
        },
        "maxItems": 16,
        "minItems": 1,
        "type": "array"
      },
      "prompt": {
        "maxLength": 32000,
        "minLength": 1,
        "pattern": "\\S",
        "type": "string"
      },
      "resolution": {
        "default": "1K",
        "description": "Output size. Some extreme aspect ratios are limited to 1K.",
        "enum": [
          "1K",
          "2K",
          "4K"
        ],
        "type": "string"
      }
    },
    "required": [
      "prompt",
      "images"
    ],
    "type": "object"
  }
}
```

#### nano-banana-2 input

```json
{
  "model": "nano-banana-2",
  "defaults": {
    "aspect_ratio": "auto",
    "resolution": "1K"
  },
  "input_schema": {
    "$defs": {
      "ReferenceUrlInput": {
        "additionalProperties": false,
        "properties": {
          "url": {
            "format": "uri",
            "minLength": 1,
            "pattern": "^https://(?:\\[[0-9A-Fa-f:.]+\\]|[^@\\s/:?#]+)(?::443)?(?:[/?#]|$)",
            "type": "string"
          }
        },
        "required": [
          "url"
        ],
        "type": "object"
      }
    },
    "additionalProperties": false,
    "properties": {
      "aspect_ratio": {
        "default": "auto",
        "enum": [
          "auto",
          "1:1",
          "2:3",
          "3:2",
          "3:4",
          "4:3",
          "4:5",
          "5:4",
          "9:16",
          "16:9",
          "21:9",
          "1:4",
          "4:1",
          "1:8",
          "8:1"
        ],
        "type": "string"
      },
      "images": {
        "items": {
          "$ref": "#/$defs/ReferenceUrlInput"
        },
        "maxItems": 14,
        "minItems": 1,
        "type": "array"
      },
      "prompt": {
        "maxLength": 32000,
        "minLength": 1,
        "pattern": "\\S",
        "type": "string"
      },
      "resolution": {
        "default": "1K",
        "enum": [
          "0.5K",
          "1K",
          "2K",
          "4K"
        ],
        "type": "string"
      }
    },
    "required": [
      "prompt",
      "images"
    ],
    "type": "object"
  }
}
```

#### nano-banana-2-lite input

```json
{
  "model": "nano-banana-2-lite",
  "defaults": {
    "aspect_ratio": "auto",
    "resolution": "1K"
  },
  "input_schema": {
    "$defs": {
      "ReferenceUrlInput": {
        "additionalProperties": false,
        "properties": {
          "url": {
            "format": "uri",
            "minLength": 1,
            "pattern": "^https://(?:\\[[0-9A-Fa-f:.]+\\]|[^@\\s/:?#]+)(?::443)?(?:[/?#]|$)",
            "type": "string"
          }
        },
        "required": [
          "url"
        ],
        "type": "object"
      }
    },
    "additionalProperties": false,
    "properties": {
      "aspect_ratio": {
        "default": "auto",
        "enum": [
          "auto",
          "1:1",
          "2:3",
          "3:2",
          "3:4",
          "4:3",
          "4:5",
          "5:4",
          "9:16",
          "16:9",
          "21:9",
          "1:4",
          "4:1",
          "1:8",
          "8:1"
        ],
        "type": "string"
      },
      "images": {
        "items": {
          "$ref": "#/$defs/ReferenceUrlInput"
        },
        "maxItems": 14,
        "minItems": 1,
        "type": "array"
      },
      "prompt": {
        "maxLength": 32000,
        "minLength": 1,
        "pattern": "\\S",
        "type": "string"
      },
      "resolution": {
        "default": "1K",
        "enum": [
          "1K"
        ],
        "type": "string"
      }
    },
    "required": [
      "prompt",
      "images"
    ],
    "type": "object"
  }
}
```

#### nano-banana-pro input

```json
{
  "model": "nano-banana-pro",
  "defaults": {
    "aspect_ratio": "auto",
    "resolution": "1K"
  },
  "input_schema": {
    "$defs": {
      "ReferenceUrlInput": {
        "additionalProperties": false,
        "properties": {
          "url": {
            "format": "uri",
            "minLength": 1,
            "pattern": "^https://(?:\\[[0-9A-Fa-f:.]+\\]|[^@\\s/:?#]+)(?::443)?(?:[/?#]|$)",
            "type": "string"
          }
        },
        "required": [
          "url"
        ],
        "type": "object"
      }
    },
    "additionalProperties": false,
    "properties": {
      "aspect_ratio": {
        "default": "auto",
        "enum": [
          "auto",
          "1:1",
          "2:3",
          "3:2",
          "3:4",
          "4:3",
          "4:5",
          "5:4",
          "9:16",
          "16:9",
          "21:9"
        ],
        "type": "string"
      },
      "images": {
        "items": {
          "$ref": "#/$defs/ReferenceUrlInput"
        },
        "maxItems": 14,
        "minItems": 1,
        "type": "array"
      },
      "prompt": {
        "maxLength": 32000,
        "minLength": 1,
        "pattern": "\\S",
        "type": "string"
      },
      "resolution": {
        "default": "1K",
        "enum": [
          "1K",
          "2K",
          "4K"
        ],
        "type": "string"
      }
    },
    "required": [
      "prompt",
      "images"
    ],
    "type": "object"
  }
}
```

#### seedream-5-pro input

```json
{
  "model": "seedream-5-pro",
  "defaults": {
    "aspect_ratio": "1:1",
    "output_format": "png",
    "resolution": "1K"
  },
  "input_schema": {
    "$defs": {
      "ReferenceUrlInput": {
        "additionalProperties": false,
        "properties": {
          "url": {
            "format": "uri",
            "minLength": 1,
            "pattern": "^https://(?:\\[[0-9A-Fa-f:.]+\\]|[^@\\s/:?#]+)(?::443)?(?:[/?#]|$)",
            "type": "string"
          }
        },
        "required": [
          "url"
        ],
        "type": "object"
      }
    },
    "additionalProperties": false,
    "properties": {
      "aspect_ratio": {
        "default": "1:1",
        "enum": [
          "1:1",
          "4:3",
          "3:4",
          "16:9",
          "9:16",
          "2:3",
          "3:2",
          "21:9"
        ],
        "type": "string"
      },
      "images": {
        "items": {
          "$ref": "#/$defs/ReferenceUrlInput"
        },
        "maxItems": 10,
        "minItems": 1,
        "type": "array"
      },
      "output_format": {
        "default": "png",
        "enum": [
          "png",
          "jpeg"
        ],
        "type": "string"
      },
      "prompt": {
        "maxLength": 5000,
        "minLength": 3,
        "pattern": "\\S",
        "type": "string"
      },
      "resolution": {
        "default": "1K",
        "enum": [
          "1K",
          "2K"
        ],
        "type": "string"
      }
    },
    "required": [
      "prompt",
      "images"
    ],
    "type": "object"
  }
}
```

Output schema:

```json
{
  "$defs": {
    "PublicAsset": {
      "properties": {
        "expires_at": {
          "anyOf": [
            {
              "format": "date-time",
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "id": {
          "type": "string"
        },
        "mime_type": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "type": {
          "type": "string"
        },
        "url": {
          "format": "uri",
          "minLength": 1,
          "type": "string"
        }
      },
      "required": [
        "id",
        "type",
        "url"
      ],
      "type": "object"
    }
  },
  "properties": {
    "assets": {
      "items": {
        "$ref": "#/$defs/PublicAsset"
      },
      "minItems": 1,
      "type": "array"
    },
    "data": {
      "anyOf": [
        {
          "additionalProperties": true,
          "type": "object"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    }
  },
  "required": [
    "assets"
  ],
  "type": "object"
}
```

### `social.search` - Search Social Videos

Media type: `video`

Published prices:

- Omit `model`: $0.35 per operation; exact price varies by platform and result limit; minimum $0.01

#### Model-less input

```json
{
  "model": null,
  "defaults": {
    "limit": 20,
    "max_duration_seconds": null,
    "min_views": null,
    "published_after": null,
    "sort": "relevance"
  },
  "input_schema": {
    "$defs": {
      "SocialPlatform": {
        "enum": [
          "tiktok",
          "instagram_reels",
          "youtube_shorts"
        ],
        "type": "string"
      },
      "SocialSort": {
        "enum": [
          "relevance",
          "recent",
          "popular"
        ],
        "type": "string"
      }
    },
    "additionalProperties": false,
    "properties": {
      "limit": {
        "default": 20,
        "maximum": 50,
        "minimum": 1,
        "type": "integer"
      },
      "max_duration_seconds": {
        "anyOf": [
          {
            "exclusiveMinimum": 0,
            "maximum": 600,
            "type": "number"
          },
          {
            "type": "null"
          }
        ],
        "default": null
      },
      "min_views": {
        "anyOf": [
          {
            "minimum": 0,
            "type": "integer"
          },
          {
            "type": "null"
          }
        ],
        "default": null
      },
      "platform": {
        "$ref": "#/$defs/SocialPlatform",
        "description": "TikTok searches use a US context. Instagram Reels and YouTube Shorts use their search integration's default context because those integrations do not support country selection."
      },
      "published_after": {
        "anyOf": [
          {
            "format": "date-time",
            "type": "string"
          },
          {
            "type": "null"
          }
        ],
        "default": null
      },
      "query": {
        "maxLength": 500,
        "minLength": 1,
        "type": "string"
      },
      "sort": {
        "$ref": "#/$defs/SocialSort",
        "default": "relevance"
      }
    },
    "required": [
      "platform",
      "query"
    ],
    "type": "object"
  }
}
```

Output schema:

```json
{
  "$defs": {
    "PublicAsset": {
      "properties": {
        "expires_at": {
          "anyOf": [
            {
              "format": "date-time",
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "id": {
          "type": "string"
        },
        "mime_type": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "type": {
          "type": "string"
        },
        "url": {
          "format": "uri",
          "minLength": 1,
          "type": "string"
        }
      },
      "required": [
        "id",
        "type",
        "url"
      ],
      "type": "object"
    },
    "SocialCreator": {
      "properties": {
        "display_name": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "follower_count": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "profile_url": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "username": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        }
      },
      "type": "object"
    },
    "SocialMetrics": {
      "properties": {
        "comments": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "likes": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "shares": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "views": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        }
      },
      "type": "object"
    },
    "SocialPlatform": {
      "enum": [
        "tiktok",
        "instagram_reels",
        "youtube_shorts"
      ],
      "type": "string"
    },
    "SocialSearchResult": {
      "properties": {
        "count": {
          "minimum": 0,
          "type": "integer"
        },
        "platform": {
          "$ref": "#/$defs/SocialPlatform"
        },
        "query": {
          "type": "string"
        },
        "videos": {
          "items": {
            "$ref": "#/$defs/SocialVideo"
          },
          "type": "array"
        }
      },
      "required": [
        "platform",
        "query",
        "videos",
        "count"
      ],
      "type": "object"
    },
    "SocialVideo": {
      "properties": {
        "caption": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "creator": {
          "$ref": "#/$defs/SocialCreator"
        },
        "duration_seconds": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "hashtags": {
          "anyOf": [
            {
              "items": {
                "type": "string"
              },
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "id": {
          "type": "string"
        },
        "metrics": {
          "$ref": "#/$defs/SocialMetrics"
        },
        "platform": {
          "$ref": "#/$defs/SocialPlatform"
        },
        "published_at": {
          "anyOf": [
            {
              "format": "date-time",
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "thumbnail_url": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "url": {
          "type": "string"
        }
      },
      "required": [
        "id",
        "platform",
        "url",
        "creator"
      ],
      "type": "object"
    }
  },
  "properties": {
    "assets": {
      "items": {
        "$ref": "#/$defs/PublicAsset"
      },
      "maxItems": 0,
      "type": "array"
    },
    "data": {
      "$ref": "#/$defs/SocialSearchResult"
    }
  },
  "required": [
    "assets",
    "data"
  ],
  "type": "object"
}
```

### `video.add_audio` - Add Audio to Video

Media type: `video`

Published prices:

- Omit `model`: $0.00 per operation; minimum $0.00

#### Model-less input

```json
{
  "model": null,
  "defaults": {
    "audio_volume": 1,
    "mode": "replace",
    "original_audio_volume": null
  },
  "input_schema": {
    "$defs": {
      "ReferenceUrlInput": {
        "additionalProperties": false,
        "properties": {
          "url": {
            "format": "uri",
            "minLength": 1,
            "pattern": "^https://(?:\\[[0-9A-Fa-f:.]+\\]|[^@\\s/:?#]+)(?::443)?(?:[/?#]|$)",
            "type": "string"
          }
        },
        "required": [
          "url"
        ],
        "type": "object"
      }
    },
    "additionalProperties": false,
    "properties": {
      "audio": {
        "$ref": "#/$defs/ReferenceUrlInput"
      },
      "audio_volume": {
        "default": 1,
        "description": "Volume level for the added audio (1.0 = normal)",
        "maximum": 2,
        "minimum": 0,
        "type": "number"
      },
      "mode": {
        "default": "replace",
        "enum": [
          "replace",
          "mix"
        ],
        "type": "string"
      },
      "original_audio_volume": {
        "anyOf": [
          {
            "maximum": 2,
            "minimum": 0,
            "type": "number"
          },
          {
            "type": "null"
          }
        ],
        "default": null,
        "description": "Existing video audio volume when mode is mix."
      },
      "video": {
        "$ref": "#/$defs/ReferenceUrlInput"
      }
    },
    "required": [
      "video",
      "audio"
    ],
    "type": "object"
  }
}
```

Output schema:

```json
{
  "$defs": {
    "PublicAsset": {
      "properties": {
        "expires_at": {
          "anyOf": [
            {
              "format": "date-time",
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "id": {
          "type": "string"
        },
        "mime_type": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "type": {
          "type": "string"
        },
        "url": {
          "format": "uri",
          "minLength": 1,
          "type": "string"
        }
      },
      "required": [
        "id",
        "type",
        "url"
      ],
      "type": "object"
    }
  },
  "properties": {
    "assets": {
      "items": {
        "$ref": "#/$defs/PublicAsset"
      },
      "maxItems": 1,
      "minItems": 1,
      "type": "array"
    },
    "data": {
      "anyOf": [
        {
          "additionalProperties": true,
          "type": "object"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    }
  },
  "required": [
    "assets"
  ],
  "type": "object"
}
```

### `video.concat` - Concatenate Videos

Media type: `video`

Published prices:

- Omit `model`: $0.00 per operation; minimum $0.00

#### Model-less input

```json
{
  "model": null,
  "defaults": {},
  "input_schema": {
    "$defs": {
      "ReferenceUrlInput": {
        "additionalProperties": false,
        "properties": {
          "url": {
            "format": "uri",
            "minLength": 1,
            "pattern": "^https://(?:\\[[0-9A-Fa-f:.]+\\]|[^@\\s/:?#]+)(?::443)?(?:[/?#]|$)",
            "type": "string"
          }
        },
        "required": [
          "url"
        ],
        "type": "object"
      }
    },
    "additionalProperties": false,
    "properties": {
      "videos": {
        "items": {
          "$ref": "#/$defs/ReferenceUrlInput"
        },
        "maxItems": 8,
        "minItems": 2,
        "type": "array"
      }
    },
    "required": [
      "videos"
    ],
    "type": "object"
  }
}
```

Output schema:

```json
{
  "$defs": {
    "PublicAsset": {
      "properties": {
        "expires_at": {
          "anyOf": [
            {
              "format": "date-time",
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "id": {
          "type": "string"
        },
        "mime_type": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "type": {
          "type": "string"
        },
        "url": {
          "format": "uri",
          "minLength": 1,
          "type": "string"
        }
      },
      "required": [
        "id",
        "type",
        "url"
      ],
      "type": "object"
    },
    "VideoConcatOutputData": {
      "properties": {
        "duration_seconds": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        }
      },
      "type": "object"
    }
  },
  "properties": {
    "assets": {
      "items": {
        "$ref": "#/$defs/PublicAsset"
      },
      "maxItems": 1,
      "minItems": 1,
      "type": "array"
    },
    "data": {
      "anyOf": [
        {
          "$ref": "#/$defs/VideoConcatOutputData"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    }
  },
  "required": [
    "assets"
  ],
  "type": "object"
}
```

### `video.create` - Create Video

Media type: `video`

Published prices:

- `gemini-omni`: $0.315 per generation; minimum $0.315
- `gemini-omni-flash`: $0.315 per generation; minimum $0.315
- `seedance-2`: $0.0575 per second; minimum $0.345
- `seedance-2-fast`: $0.045 per second; minimum $0.27
- `seedance-2-mini`: $0.03 per second; minimum $0.18

#### gemini-omni input

```json
{
  "model": "gemini-omni",
  "defaults": {
    "aspect_ratio": "9:16",
    "duration_seconds": 4,
    "reference_video": null,
    "seed": null
  },
  "input_schema": {
    "$defs": {
      "ReferenceMediaInput": {
        "additionalProperties": false,
        "properties": {
          "role": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null
          },
          "url": {
            "format": "uri",
            "minLength": 1,
            "pattern": "^https://(?:\\[[0-9A-Fa-f:.]+\\]|[^@\\s/:?#]+)(?::443)?(?:[/?#]|$)",
            "type": "string"
          }
        },
        "required": [
          "url"
        ],
        "type": "object"
      }
    },
    "additionalProperties": false,
    "allOf": [
      {
        "if": {
          "properties": {
            "reference_video": {
              "type": "object"
            }
          },
          "required": [
            "reference_video"
          ]
        },
        "then": {
          "properties": {
            "reference_images": {
              "maxItems": 5
            }
          }
        }
      }
    ],
    "properties": {
      "aspect_ratio": {
        "default": "9:16",
        "enum": [
          "9:16",
          "16:9"
        ],
        "type": "string"
      },
      "duration_seconds": {
        "default": 4,
        "enum": [
          4,
          6,
          8
        ],
        "type": "integer"
      },
      "prompt": {
        "minLength": 1,
        "pattern": "\\S",
        "type": "string"
      },
      "reference_images": {
        "items": {
          "$ref": "#/$defs/ReferenceMediaInput"
        },
        "maxItems": 7,
        "type": "array"
      },
      "reference_video": {
        "anyOf": [
          {
            "$ref": "#/$defs/ReferenceMediaInput"
          },
          {
            "type": "null"
          }
        ],
        "default": null
      },
      "seed": {
        "anyOf": [
          {
            "maximum": 2147483647,
            "minimum": 0,
            "type": "integer"
          },
          {
            "type": "null"
          }
        ],
        "default": null,
        "description": "Random seed for reproducibility (leave empty for random)."
      }
    },
    "required": [
      "prompt"
    ],
    "type": "object"
  }
}
```

#### gemini-omni-flash input

```json
{
  "model": "gemini-omni-flash",
  "defaults": {
    "aspect_ratio": "9:16",
    "duration_seconds": 4,
    "reference_video": null,
    "seed": null
  },
  "input_schema": {
    "$defs": {
      "ReferenceMediaInput": {
        "additionalProperties": false,
        "properties": {
          "role": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null
          },
          "url": {
            "format": "uri",
            "minLength": 1,
            "pattern": "^https://(?:\\[[0-9A-Fa-f:.]+\\]|[^@\\s/:?#]+)(?::443)?(?:[/?#]|$)",
            "type": "string"
          }
        },
        "required": [
          "url"
        ],
        "type": "object"
      }
    },
    "additionalProperties": false,
    "allOf": [
      {
        "if": {
          "properties": {
            "reference_video": {
              "type": "object"
            }
          },
          "required": [
            "reference_video"
          ]
        },
        "then": {
          "properties": {
            "reference_images": {
              "maxItems": 5
            }
          }
        }
      }
    ],
    "properties": {
      "aspect_ratio": {
        "default": "9:16",
        "enum": [
          "9:16",
          "16:9"
        ],
        "type": "string"
      },
      "duration_seconds": {
        "default": 4,
        "enum": [
          4,
          6,
          8
        ],
        "type": "integer"
      },
      "prompt": {
        "minLength": 1,
        "pattern": "\\S",
        "type": "string"
      },
      "reference_images": {
        "items": {
          "$ref": "#/$defs/ReferenceMediaInput"
        },
        "maxItems": 7,
        "type": "array"
      },
      "reference_video": {
        "anyOf": [
          {
            "$ref": "#/$defs/ReferenceMediaInput"
          },
          {
            "type": "null"
          }
        ],
        "default": null
      },
      "seed": {
        "anyOf": [
          {
            "maximum": 2147483647,
            "minimum": 0,
            "type": "integer"
          },
          {
            "type": "null"
          }
        ],
        "default": null,
        "description": "Random seed for reproducibility (leave empty for random)."
      }
    },
    "required": [
      "prompt"
    ],
    "type": "object"
  }
}
```

#### seedance-2 input

```json
{
  "model": "seedance-2",
  "defaults": {
    "aspect_ratio": "9:16",
    "duration_seconds": 8,
    "first_frame": null,
    "generate_audio": true,
    "last_frame": null,
    "resolution": "720p"
  },
  "input_schema": {
    "$defs": {
      "ReferenceMediaInput": {
        "additionalProperties": false,
        "properties": {
          "role": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null
          },
          "url": {
            "format": "uri",
            "minLength": 1,
            "pattern": "^https://(?:\\[[0-9A-Fa-f:.]+\\]|[^@\\s/:?#]+)(?::443)?(?:[/?#]|$)",
            "type": "string"
          }
        },
        "required": [
          "url"
        ],
        "type": "object"
      },
      "ReferenceUrlInput": {
        "additionalProperties": false,
        "properties": {
          "url": {
            "format": "uri",
            "minLength": 1,
            "pattern": "^https://(?:\\[[0-9A-Fa-f:.]+\\]|[^@\\s/:?#]+)(?::443)?(?:[/?#]|$)",
            "type": "string"
          }
        },
        "required": [
          "url"
        ],
        "type": "object"
      }
    },
    "additionalProperties": false,
    "properties": {
      "aspect_ratio": {
        "default": "9:16",
        "enum": [
          "16:9",
          "9:16",
          "4:3",
          "3:4",
          "1:1",
          "21:9"
        ],
        "type": "string"
      },
      "duration_seconds": {
        "default": 8,
        "enum": [
          4,
          5,
          6,
          7,
          8,
          9,
          10,
          11,
          12,
          13,
          14,
          15
        ],
        "type": "integer"
      },
      "first_frame": {
        "anyOf": [
          {
            "$ref": "#/$defs/ReferenceUrlInput"
          },
          {
            "type": "null"
          }
        ],
        "default": null
      },
      "generate_audio": {
        "default": true,
        "description": "Generate synchronized audio with video",
        "type": "boolean"
      },
      "last_frame": {
        "anyOf": [
          {
            "$ref": "#/$defs/ReferenceUrlInput"
          },
          {
            "type": "null"
          }
        ],
        "default": null
      },
      "prompt": {
        "minLength": 1,
        "pattern": "\\S",
        "type": "string"
      },
      "reference_audio": {
        "items": {
          "$ref": "#/$defs/ReferenceMediaInput"
        },
        "maxItems": 3,
        "type": "array"
      },
      "reference_images": {
        "items": {
          "$ref": "#/$defs/ReferenceMediaInput"
        },
        "maxItems": 9,
        "type": "array"
      },
      "reference_videos": {
        "items": {
          "$ref": "#/$defs/ReferenceMediaInput"
        },
        "maxItems": 3,
        "type": "array"
      },
      "resolution": {
        "default": "720p",
        "description": "Output resolution. Standard Seedance 2 supports up to 4K.",
        "enum": [
          "480p",
          "720p",
          "1080p",
          "4K"
        ],
        "type": "string"
      }
    },
    "required": [
      "prompt"
    ],
    "type": "object"
  }
}
```

#### seedance-2-fast input

```json
{
  "model": "seedance-2-fast",
  "defaults": {
    "aspect_ratio": "9:16",
    "duration_seconds": 8,
    "first_frame": null,
    "generate_audio": true,
    "last_frame": null,
    "resolution": "720p"
  },
  "input_schema": {
    "$defs": {
      "ReferenceMediaInput": {
        "additionalProperties": false,
        "properties": {
          "role": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null
          },
          "url": {
            "format": "uri",
            "minLength": 1,
            "pattern": "^https://(?:\\[[0-9A-Fa-f:.]+\\]|[^@\\s/:?#]+)(?::443)?(?:[/?#]|$)",
            "type": "string"
          }
        },
        "required": [
          "url"
        ],
        "type": "object"
      },
      "ReferenceUrlInput": {
        "additionalProperties": false,
        "properties": {
          "url": {
            "format": "uri",
            "minLength": 1,
            "pattern": "^https://(?:\\[[0-9A-Fa-f:.]+\\]|[^@\\s/:?#]+)(?::443)?(?:[/?#]|$)",
            "type": "string"
          }
        },
        "required": [
          "url"
        ],
        "type": "object"
      }
    },
    "additionalProperties": false,
    "properties": {
      "aspect_ratio": {
        "default": "9:16",
        "enum": [
          "16:9",
          "9:16",
          "4:3",
          "3:4",
          "1:1",
          "21:9"
        ],
        "type": "string"
      },
      "duration_seconds": {
        "default": 8,
        "enum": [
          4,
          5,
          6,
          7,
          8,
          9,
          10,
          11,
          12,
          13,
          14,
          15
        ],
        "type": "integer"
      },
      "first_frame": {
        "anyOf": [
          {
            "$ref": "#/$defs/ReferenceUrlInput"
          },
          {
            "type": "null"
          }
        ],
        "default": null
      },
      "generate_audio": {
        "default": true,
        "description": "Generate synchronized audio with video",
        "type": "boolean"
      },
      "last_frame": {
        "anyOf": [
          {
            "$ref": "#/$defs/ReferenceUrlInput"
          },
          {
            "type": "null"
          }
        ],
        "default": null
      },
      "prompt": {
        "minLength": 1,
        "pattern": "\\S",
        "type": "string"
      },
      "reference_audio": {
        "items": {
          "$ref": "#/$defs/ReferenceMediaInput"
        },
        "maxItems": 3,
        "type": "array"
      },
      "reference_images": {
        "items": {
          "$ref": "#/$defs/ReferenceMediaInput"
        },
        "maxItems": 9,
        "type": "array"
      },
      "reference_videos": {
        "items": {
          "$ref": "#/$defs/ReferenceMediaInput"
        },
        "maxItems": 3,
        "type": "array"
      },
      "resolution": {
        "default": "720p",
        "description": "Output resolution. Seedance 2 Fast supports 480p and 720p.",
        "enum": [
          "480p",
          "720p"
        ],
        "type": "string"
      }
    },
    "required": [
      "prompt"
    ],
    "type": "object"
  }
}
```

#### seedance-2-mini input

```json
{
  "model": "seedance-2-mini",
  "defaults": {
    "aspect_ratio": "9:16",
    "duration_seconds": 8,
    "first_frame": null,
    "generate_audio": true,
    "last_frame": null,
    "resolution": "720p"
  },
  "input_schema": {
    "$defs": {
      "ReferenceMediaInput": {
        "additionalProperties": false,
        "properties": {
          "role": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null
          },
          "url": {
            "format": "uri",
            "minLength": 1,
            "pattern": "^https://(?:\\[[0-9A-Fa-f:.]+\\]|[^@\\s/:?#]+)(?::443)?(?:[/?#]|$)",
            "type": "string"
          }
        },
        "required": [
          "url"
        ],
        "type": "object"
      },
      "ReferenceUrlInput": {
        "additionalProperties": false,
        "properties": {
          "url": {
            "format": "uri",
            "minLength": 1,
            "pattern": "^https://(?:\\[[0-9A-Fa-f:.]+\\]|[^@\\s/:?#]+)(?::443)?(?:[/?#]|$)",
            "type": "string"
          }
        },
        "required": [
          "url"
        ],
        "type": "object"
      }
    },
    "additionalProperties": false,
    "properties": {
      "aspect_ratio": {
        "default": "9:16",
        "enum": [
          "16:9",
          "9:16",
          "4:3",
          "3:4",
          "1:1",
          "21:9",
          "adaptive"
        ],
        "type": "string"
      },
      "duration_seconds": {
        "default": 8,
        "enum": [
          4,
          5,
          6,
          7,
          8,
          9,
          10,
          11,
          12,
          13,
          14,
          15
        ],
        "type": "integer"
      },
      "first_frame": {
        "anyOf": [
          {
            "$ref": "#/$defs/ReferenceUrlInput"
          },
          {
            "type": "null"
          }
        ],
        "default": null
      },
      "generate_audio": {
        "default": true,
        "description": "Generate synchronized audio with video",
        "type": "boolean"
      },
      "last_frame": {
        "anyOf": [
          {
            "$ref": "#/$defs/ReferenceUrlInput"
          },
          {
            "type": "null"
          }
        ],
        "default": null
      },
      "prompt": {
        "minLength": 1,
        "pattern": "\\S",
        "type": "string"
      },
      "reference_audio": {
        "items": {
          "$ref": "#/$defs/ReferenceMediaInput"
        },
        "maxItems": 3,
        "type": "array"
      },
      "reference_images": {
        "items": {
          "$ref": "#/$defs/ReferenceMediaInput"
        },
        "maxItems": 9,
        "type": "array"
      },
      "reference_videos": {
        "items": {
          "$ref": "#/$defs/ReferenceMediaInput"
        },
        "maxItems": 3,
        "type": "array"
      },
      "resolution": {
        "default": "720p",
        "description": "Output resolution. Seedance 2 Mini supports 480p and 720p.",
        "enum": [
          "480p",
          "720p"
        ],
        "type": "string"
      }
    },
    "required": [
      "prompt"
    ],
    "type": "object"
  }
}
```

Output schema:

```json
{
  "$defs": {
    "PublicAsset": {
      "properties": {
        "expires_at": {
          "anyOf": [
            {
              "format": "date-time",
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "id": {
          "type": "string"
        },
        "mime_type": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "type": {
          "type": "string"
        },
        "url": {
          "format": "uri",
          "minLength": 1,
          "type": "string"
        }
      },
      "required": [
        "id",
        "type",
        "url"
      ],
      "type": "object"
    }
  },
  "properties": {
    "assets": {
      "items": {
        "$ref": "#/$defs/PublicAsset"
      },
      "minItems": 1,
      "type": "array"
    },
    "data": {
      "anyOf": [
        {
          "additionalProperties": true,
          "type": "object"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    }
  },
  "required": [
    "assets"
  ],
  "type": "object"
}
```

### `video.extract_audio` - Extract Audio

Media type: `audio`

Published prices:

- Omit `model`: $0.00 per operation; minimum $0.00

#### Model-less input

```json
{
  "model": null,
  "defaults": {
    "bitrate": "192k",
    "format": "mp3"
  },
  "input_schema": {
    "$defs": {
      "ReferenceUrlInput": {
        "additionalProperties": false,
        "properties": {
          "url": {
            "format": "uri",
            "minLength": 1,
            "pattern": "^https://(?:\\[[0-9A-Fa-f:.]+\\]|[^@\\s/:?#]+)(?::443)?(?:[/?#]|$)",
            "type": "string"
          }
        },
        "required": [
          "url"
        ],
        "type": "object"
      }
    },
    "additionalProperties": false,
    "properties": {
      "bitrate": {
        "default": "192k",
        "enum": [
          "128k",
          "192k",
          "320k"
        ],
        "type": "string"
      },
      "format": {
        "default": "mp3",
        "enum": [
          "mp3",
          "wav",
          "aac"
        ],
        "type": "string"
      },
      "video": {
        "$ref": "#/$defs/ReferenceUrlInput"
      }
    },
    "required": [
      "video"
    ],
    "type": "object"
  }
}
```

Output schema:

```json
{
  "$defs": {
    "PublicAsset": {
      "properties": {
        "expires_at": {
          "anyOf": [
            {
              "format": "date-time",
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "id": {
          "type": "string"
        },
        "mime_type": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "type": {
          "type": "string"
        },
        "url": {
          "format": "uri",
          "minLength": 1,
          "type": "string"
        }
      },
      "required": [
        "id",
        "type",
        "url"
      ],
      "type": "object"
    }
  },
  "properties": {
    "assets": {
      "items": {
        "$ref": "#/$defs/PublicAsset"
      },
      "maxItems": 1,
      "minItems": 1,
      "type": "array"
    },
    "data": {
      "anyOf": [
        {
          "additionalProperties": true,
          "type": "object"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    }
  },
  "required": [
    "assets"
  ],
  "type": "object"
}
```

### `video.extract_frame` - Extract Video Frame

Media type: `image`

Published prices:

- Omit `model`: $0.00 per operation; minimum $0.00

#### Model-less input

```json
{
  "model": null,
  "defaults": {
    "format": "jpg",
    "timestamp_seconds": 0
  },
  "input_schema": {
    "$defs": {
      "ReferenceUrlInput": {
        "additionalProperties": false,
        "properties": {
          "url": {
            "format": "uri",
            "minLength": 1,
            "pattern": "^https://(?:\\[[0-9A-Fa-f:.]+\\]|[^@\\s/:?#]+)(?::443)?(?:[/?#]|$)",
            "type": "string"
          }
        },
        "required": [
          "url"
        ],
        "type": "object"
      }
    },
    "additionalProperties": false,
    "properties": {
      "format": {
        "default": "jpg",
        "enum": [
          "jpg",
          "png",
          "webp"
        ],
        "type": "string"
      },
      "timestamp_seconds": {
        "default": 0,
        "description": "Frame timestamp in seconds.",
        "minimum": 0,
        "type": "number"
      },
      "video": {
        "$ref": "#/$defs/ReferenceUrlInput"
      }
    },
    "required": [
      "video"
    ],
    "type": "object"
  }
}
```

Output schema:

```json
{
  "$defs": {
    "PublicAsset": {
      "properties": {
        "expires_at": {
          "anyOf": [
            {
              "format": "date-time",
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "id": {
          "type": "string"
        },
        "mime_type": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "type": {
          "type": "string"
        },
        "url": {
          "format": "uri",
          "minLength": 1,
          "type": "string"
        }
      },
      "required": [
        "id",
        "type",
        "url"
      ],
      "type": "object"
    },
    "VideoExtractFrameOutputData": {
      "properties": {
        "height": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "width": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        }
      },
      "type": "object"
    }
  },
  "properties": {
    "assets": {
      "items": {
        "$ref": "#/$defs/PublicAsset"
      },
      "maxItems": 1,
      "minItems": 1,
      "type": "array"
    },
    "data": {
      "anyOf": [
        {
          "$ref": "#/$defs/VideoExtractFrameOutputData"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    }
  },
  "required": [
    "assets"
  ],
  "type": "object"
}
```

### `video.lipsync` - Lip Sync Video

Media type: `video`

Published prices:

- `sync-lipsync-v3`: $8.00 per minute; minimum $0.133333

#### sync-lipsync-v3 input

```json
{
  "model": "sync-lipsync-v3",
  "defaults": {
    "sync_mode": "cut_off"
  },
  "input_schema": {
    "$defs": {
      "ReferenceUrlInput": {
        "additionalProperties": false,
        "properties": {
          "url": {
            "format": "uri",
            "minLength": 1,
            "pattern": "^https://(?:\\[[0-9A-Fa-f:.]+\\]|[^@\\s/:?#]+)(?::443)?(?:[/?#]|$)",
            "type": "string"
          }
        },
        "required": [
          "url"
        ],
        "type": "object"
      }
    },
    "additionalProperties": false,
    "properties": {
      "audio": {
        "$ref": "#/$defs/ReferenceUrlInput"
      },
      "sync_mode": {
        "default": "cut_off",
        "description": "How to handle audio and video duration mismatches.",
        "enum": [
          "cut_off",
          "loop",
          "bounce",
          "silence",
          "remap"
        ],
        "type": "string"
      },
      "video": {
        "$ref": "#/$defs/ReferenceUrlInput"
      }
    },
    "required": [
      "video",
      "audio"
    ],
    "type": "object"
  }
}
```

Output schema:

```json
{
  "$defs": {
    "PublicAsset": {
      "properties": {
        "expires_at": {
          "anyOf": [
            {
              "format": "date-time",
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "id": {
          "type": "string"
        },
        "mime_type": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "type": {
          "type": "string"
        },
        "url": {
          "format": "uri",
          "minLength": 1,
          "type": "string"
        }
      },
      "required": [
        "id",
        "type",
        "url"
      ],
      "type": "object"
    }
  },
  "properties": {
    "assets": {
      "items": {
        "$ref": "#/$defs/PublicAsset"
      },
      "minItems": 1,
      "type": "array"
    },
    "data": {
      "anyOf": [
        {
          "additionalProperties": true,
          "type": "object"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    }
  },
  "required": [
    "assets"
  ],
  "type": "object"
}
```

### `video.split_scenes` - Split Video Into Scenes

Media type: `video`

Published prices:

- Omit `model`: $0.00 per operation; minimum $0.00

#### Model-less input

```json
{
  "model": null,
  "defaults": {
    "minimum_scene_length_seconds": 0,
    "threshold": 20
  },
  "input_schema": {
    "$defs": {
      "ReferenceMediaInput": {
        "additionalProperties": false,
        "properties": {
          "role": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null
          },
          "url": {
            "format": "uri",
            "minLength": 1,
            "pattern": "^https://(?:\\[[0-9A-Fa-f:.]+\\]|[^@\\s/:?#]+)(?::443)?(?:[/?#]|$)",
            "type": "string"
          }
        },
        "required": [
          "url"
        ],
        "type": "object"
      }
    },
    "additionalProperties": false,
    "properties": {
      "minimum_scene_length_seconds": {
        "default": 0,
        "maximum": 60,
        "minimum": 0,
        "type": "number"
      },
      "threshold": {
        "default": 20,
        "maximum": 100,
        "minimum": 1,
        "type": "number"
      },
      "video": {
        "$ref": "#/$defs/ReferenceMediaInput"
      }
    },
    "required": [
      "video"
    ],
    "type": "object"
  }
}
```

Output schema:

```json
{
  "$defs": {
    "PublicAsset": {
      "properties": {
        "expires_at": {
          "anyOf": [
            {
              "format": "date-time",
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "id": {
          "type": "string"
        },
        "mime_type": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "type": {
          "type": "string"
        },
        "url": {
          "format": "uri",
          "minLength": 1,
          "type": "string"
        }
      },
      "required": [
        "id",
        "type",
        "url"
      ],
      "type": "object"
    },
    "SceneRecord": {
      "properties": {
        "asset_index": {
          "minimum": 0,
          "type": "integer"
        },
        "duration_seconds": {
          "exclusiveMinimum": 0,
          "type": "number"
        },
        "end_seconds": {
          "minimum": 0,
          "type": "number"
        },
        "start_seconds": {
          "minimum": 0,
          "type": "number"
        }
      },
      "required": [
        "asset_index",
        "start_seconds",
        "end_seconds",
        "duration_seconds"
      ],
      "type": "object"
    },
    "SplitScenesOutputData": {
      "properties": {
        "fps": {
          "exclusiveMinimum": 0,
          "type": "number"
        },
        "scene_count": {
          "minimum": 1,
          "type": "integer"
        },
        "scenes": {
          "items": {
            "$ref": "#/$defs/SceneRecord"
          },
          "type": "array"
        },
        "total_frame_count": {
          "minimum": 1,
          "type": "integer"
        }
      },
      "required": [
        "scene_count",
        "fps",
        "total_frame_count",
        "scenes"
      ],
      "type": "object"
    }
  },
  "properties": {
    "assets": {
      "items": {
        "$ref": "#/$defs/PublicAsset"
      },
      "minItems": 1,
      "type": "array"
    },
    "data": {
      "$ref": "#/$defs/SplitScenesOutputData"
    }
  },
  "required": [
    "assets",
    "data"
  ],
  "type": "object"
}
```

### `video.trim` - Trim Video

Media type: `video`

Published prices:

- Omit `model`: $0.00 per operation; minimum $0.00

#### Model-less input

```json
{
  "model": null,
  "defaults": {
    "start_seconds": 0
  },
  "input_schema": {
    "$defs": {
      "ReferenceUrlInput": {
        "additionalProperties": false,
        "properties": {
          "url": {
            "format": "uri",
            "minLength": 1,
            "pattern": "^https://(?:\\[[0-9A-Fa-f:.]+\\]|[^@\\s/:?#]+)(?::443)?(?:[/?#]|$)",
            "type": "string"
          }
        },
        "required": [
          "url"
        ],
        "type": "object"
      }
    },
    "additionalProperties": false,
    "properties": {
      "end_seconds": {
        "description": "End timestamp in seconds.",
        "minimum": 0,
        "type": "number"
      },
      "start_seconds": {
        "default": 0,
        "description": "Start timestamp in seconds.",
        "minimum": 0,
        "type": "number"
      },
      "video": {
        "$ref": "#/$defs/ReferenceUrlInput"
      }
    },
    "required": [
      "video",
      "end_seconds"
    ],
    "type": "object"
  }
}
```

Output schema:

```json
{
  "$defs": {
    "PublicAsset": {
      "properties": {
        "expires_at": {
          "anyOf": [
            {
              "format": "date-time",
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "id": {
          "type": "string"
        },
        "mime_type": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "type": {
          "type": "string"
        },
        "url": {
          "format": "uri",
          "minLength": 1,
          "type": "string"
        }
      },
      "required": [
        "id",
        "type",
        "url"
      ],
      "type": "object"
    },
    "VideoTrimOutputData": {
      "properties": {
        "duration_seconds": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        }
      },
      "type": "object"
    }
  },
  "properties": {
    "assets": {
      "items": {
        "$ref": "#/$defs/PublicAsset"
      },
      "maxItems": 1,
      "minItems": 1,
      "type": "array"
    },
    "data": {
      "anyOf": [
        {
          "$ref": "#/$defs/VideoTrimOutputData"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    }
  },
  "required": [
    "assets"
  ],
  "type": "object"
}
```

## Guide coverage

- `image.create`: [models](/docs/generate/models), [estimate](/docs/generate/estimate), [create and monitor](/docs/generate/create-and-monitor), [cancel and retry](/docs/generate/cancel-and-retry), [billing and usage](/docs/operate/billing-and-usage), [errors and manual review](/docs/operate/errors-and-manual-review); [schemas and prices](/docs/reference/models)
- `image.edit`: [models](/docs/generate/models), [estimate](/docs/generate/estimate), [create and monitor](/docs/generate/create-and-monitor), [cancel and retry](/docs/generate/cancel-and-retry), [billing and usage](/docs/operate/billing-and-usage), [errors and manual review](/docs/operate/errors-and-manual-review); [schemas and prices](/docs/reference/models)
- `social.search`: [models](/docs/generate/models), [estimate](/docs/generate/estimate), [create and monitor](/docs/generate/create-and-monitor), [cancel and retry](/docs/generate/cancel-and-retry), [billing and usage](/docs/operate/billing-and-usage), [errors and manual review](/docs/operate/errors-and-manual-review); [schemas and prices](/docs/reference/models)
- `video.add_audio`: [models](/docs/generate/models), [estimate](/docs/generate/estimate), [create and monitor](/docs/generate/create-and-monitor), [cancel and retry](/docs/generate/cancel-and-retry), [billing and usage](/docs/operate/billing-and-usage), [errors and manual review](/docs/operate/errors-and-manual-review); [schemas and prices](/docs/reference/models)
- `video.concat`: [models](/docs/generate/models), [estimate](/docs/generate/estimate), [create and monitor](/docs/generate/create-and-monitor), [cancel and retry](/docs/generate/cancel-and-retry), [billing and usage](/docs/operate/billing-and-usage), [errors and manual review](/docs/operate/errors-and-manual-review); [schemas and prices](/docs/reference/models)
- `video.create`: [models](/docs/generate/models), [estimate](/docs/generate/estimate), [create and monitor](/docs/generate/create-and-monitor), [cancel and retry](/docs/generate/cancel-and-retry), [billing and usage](/docs/operate/billing-and-usage), [errors and manual review](/docs/operate/errors-and-manual-review); [schemas and prices](/docs/reference/models)
- `video.extract_audio`: [models](/docs/generate/models), [estimate](/docs/generate/estimate), [create and monitor](/docs/generate/create-and-monitor), [cancel and retry](/docs/generate/cancel-and-retry), [billing and usage](/docs/operate/billing-and-usage), [errors and manual review](/docs/operate/errors-and-manual-review); [schemas and prices](/docs/reference/models)
- `video.extract_frame`: [models](/docs/generate/models), [estimate](/docs/generate/estimate), [create and monitor](/docs/generate/create-and-monitor), [cancel and retry](/docs/generate/cancel-and-retry), [billing and usage](/docs/operate/billing-and-usage), [errors and manual review](/docs/operate/errors-and-manual-review); [schemas and prices](/docs/reference/models)
- `video.lipsync`: [models](/docs/generate/models), [estimate](/docs/generate/estimate), [create and monitor](/docs/generate/create-and-monitor), [cancel and retry](/docs/generate/cancel-and-retry), [billing and usage](/docs/operate/billing-and-usage), [errors and manual review](/docs/operate/errors-and-manual-review); [schemas and prices](/docs/reference/models)
- `video.split_scenes`: [models](/docs/generate/models), [estimate](/docs/generate/estimate), [create and monitor](/docs/generate/create-and-monitor), [cancel and retry](/docs/generate/cancel-and-retry), [billing and usage](/docs/operate/billing-and-usage), [errors and manual review](/docs/operate/errors-and-manual-review); [schemas and prices](/docs/reference/models)
- `video.trim`: [models](/docs/generate/models), [estimate](/docs/generate/estimate), [create and monitor](/docs/generate/create-and-monitor), [cancel and retry](/docs/generate/cancel-and-retry), [billing and usage](/docs/operate/billing-and-usage), [errors and manual review](/docs/operate/errors-and-manual-review); [schemas and prices](/docs/reference/models)
