postreef
All schemas

Guided Meditation

vidextract.predefined.meditation.v1

A guided meditation or wellness session extracted from a video. Captures the practice type, focus, the ordered phases the guide leads, breathing patterns, and affirmations. Optional fields are omitted when the guide does not state them — do not infer.

Fields

titlerequired
string

Title or theme of the session, e.g. '10-minute meditation for sleep'.

goalrequired
string

The primary intended outcome of the session in one sentence, e.g. 'fall asleep faster and release the day's tension'.

practiceType
enum

Primary style of practice. Pick the single best fit. Omit if unclear.

durationMinutes
integer

Total session length in whole minutes if stated or shown. Omit otherwise.

focusAreas
string[]

What the session works on, lowercased, e.g. 'stress relief', 'sleep', 'anxiety', 'self-love', 'focus', 'inner peace'.

posture
string

Recommended position, e.g. 'lying down', 'seated cross-legged', 'comfortable position'. Omit if not stated.

environment
string

Setting or props suggested, e.g. 'quiet dark room', 'with headphones'. Omit if not stated.

phasesrequired
object[]

Ordered phases the guide leads the listener through, e.g. settling in, breath focus, body scan, closing.

breathingPatterns
object[]

Specific breathing techniques the guide gives, e.g. '4-7-8 breathing', 'inhale for 4, exhale for 6'.

affirmations
string[]

Affirmations or mantras the listener is invited to repeat, captured close to verbatim.

visualizations
string[]

Imagery the guide asks the listener to picture, e.g. 'a warm golden light', 'a peaceful beach'.

themes
string[]

Underlying messages or intentions woven through the session, e.g. 'letting go', 'self-acceptance', 'presence'.

closingMessage
string

The guide's closing words or send-off if distinct. Omit otherwise.

JSON Schema

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "vidextract.predefined.meditation.v1",
  "title": "Guided Meditation",
  "description": "A guided meditation or wellness session extracted from a video. Captures the practice type, focus, the ordered phases the guide leads, breathing patterns, and affirmations. Optional fields are omitted when the guide does not state them — do not infer.",
  "type": "object",
  "required": [
    "title",
    "goal",
    "phases"
  ],
  "additionalProperties": false,
  "properties": {
    "title": {
      "type": "string",
      "description": "Title or theme of the session, e.g. '10-minute meditation for sleep'."
    },
    "goal": {
      "type": "string",
      "description": "The primary intended outcome of the session in one sentence, e.g. 'fall asleep faster and release the day's tension'."
    },
    "practiceType": {
      "type": "string",
      "enum": [
        "mindfulness",
        "body-scan",
        "breathwork",
        "visualization",
        "loving-kindness",
        "sleep",
        "yoga-nidra",
        "affirmation",
        "mantra",
        "gratitude",
        "relaxation",
        "manifestation"
      ],
      "description": "Primary style of practice. Pick the single best fit. Omit if unclear."
    },
    "durationMinutes": {
      "type": "integer",
      "description": "Total session length in whole minutes if stated or shown. Omit otherwise."
    },
    "focusAreas": {
      "type": "array",
      "description": "What the session works on, lowercased, e.g. 'stress relief', 'sleep', 'anxiety', 'self-love', 'focus', 'inner peace'.",
      "items": {
        "type": "string"
      }
    },
    "posture": {
      "type": "string",
      "description": "Recommended position, e.g. 'lying down', 'seated cross-legged', 'comfortable position'. Omit if not stated."
    },
    "environment": {
      "type": "string",
      "description": "Setting or props suggested, e.g. 'quiet dark room', 'with headphones'. Omit if not stated."
    },
    "phases": {
      "type": "array",
      "description": "Ordered phases the guide leads the listener through, e.g. settling in, breath focus, body scan, closing.",
      "minItems": 1,
      "items": {
        "type": "object",
        "required": [
          "name",
          "instruction"
        ],
        "additionalProperties": false,
        "properties": {
          "name": {
            "type": "string",
            "description": "Short label for this phase, e.g. 'Settling in', 'Deep breathing', 'Body scan', 'Return'."
          },
          "instruction": {
            "type": "string",
            "description": "What the listener is guided to do in this phase, summarized."
          },
          "videoTimestamp": {
            "type": "string",
            "description": "Start timestamp in source video, 'mm:ss' or 'h:mm:ss'. Omit if unknown.",
            "pattern": "^(\\d{1,2}:)?\\d{1,2}:\\d{2}$"
          }
        }
      }
    },
    "breathingPatterns": {
      "type": "array",
      "description": "Specific breathing techniques the guide gives, e.g. '4-7-8 breathing', 'inhale for 4, exhale for 6'.",
      "items": {
        "type": "object",
        "required": [
          "instruction"
        ],
        "additionalProperties": false,
        "properties": {
          "instruction": {
            "type": "string",
            "description": "The breathing instruction as given."
          },
          "inhaleCount": {
            "type": "integer",
            "description": "Inhale count in seconds if specified. Omit otherwise."
          },
          "holdCount": {
            "type": "integer",
            "description": "Breath-hold count in seconds if specified. Omit otherwise."
          },
          "exhaleCount": {
            "type": "integer",
            "description": "Exhale count in seconds if specified. Omit otherwise."
          }
        }
      }
    },
    "affirmations": {
      "type": "array",
      "description": "Affirmations or mantras the listener is invited to repeat, captured close to verbatim.",
      "items": {
        "type": "string"
      }
    },
    "visualizations": {
      "type": "array",
      "description": "Imagery the guide asks the listener to picture, e.g. 'a warm golden light', 'a peaceful beach'.",
      "items": {
        "type": "string"
      }
    },
    "themes": {
      "type": "array",
      "description": "Underlying messages or intentions woven through the session, e.g. 'letting go', 'self-acceptance', 'presence'.",
      "items": {
        "type": "string"
      }
    },
    "closingMessage": {
      "type": "string",
      "description": "The guide's closing words or send-off if distinct. Omit otherwise."
    }
  }
}

Use it via the API

Pass schemaId: "vidextract.predefined.meditation.v1" when you submit an extraction. The call returns an id immediately. Poll GET /v1/extractions/{id}/result (or register a webhook) for the structured result.

curl -s -X POST https://postreef.com/v1/extractions \
  -H "x-api-key: $VIDEXTRACT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"url": "https://www.youtube.com/watch?v=dQw4w9WgXcQ",
       "inputs": ["transcript", "comments"],
       "schemaId": "vidextract.predefined.meditation.v1"}'

Full request/response shape in the API reference; copy-paste poll loops in the API quickstart.

Pass schemaId: "vidextract.predefined.meditation.v1" in your request to extract with this schema.