{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/framefetch-net/json-schema/framefetch-net-batch-request-schema.json",
  "title": "BatchRequest",
  "x-generated": "2026-10-30",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/framefetch-net-openapi.json#/components/schemas/BatchRequest",
  "type": "object",
  "required": [
    "urls"
  ],
  "properties": {
    "urls": {
      "type": "array",
      "minItems": 1,
      "maxItems": 10,
      "items": {
        "type": "string",
        "format": "uri"
      },
      "description": "1–10 supported-platform video URLs."
    },
    "fields": {
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "metadata",
          "insights",
          "transcript",
          "frames",
          "text_overlay",
          "digest",
          "audio_digest",
          "structured",
          "comments",
          "comment_sentiment",
          "delta"
        ]
      },
      "default": [
        "metadata"
      ],
      "description": "Applied to every url. digest, delta, structured, audio_digest, comments and comment_sentiment work in batch (audio_digest always uses the default \"alloy\" voice — batch does not accept a top-level voice or translate param; comments always uses the default cap of 30 — batch does not accept a top-level comments_cap); frames/text_overlay need a per-url frames spec (not accepted here) — use /v1/extract for those."
    }
  }
}