postreef
All schemas

Gardening Guide

vidextract.predefined.gardening.v1

A plant-care or gardening guide extracted from a video (growing, planting, pruning, propagation, pest control). Capture only what the creator states; omit anything not mentioned and do not infer.

Fields

titlerequired
string

Concise title of the guide, phrased as the goal, e.g. 'How to grow tomatoes from seed'.

summaryrequired
string

One to three sentences on what the video teaches and the overall approach.

plants
object[]

Plants, crops, or species the guide focuses on. Omit if none specific.

difficulty
enum

Difficulty if stated or clearly implied. Omit if unsure.

growingConditions
object

Environmental requirements mentioned. Omit any field not stated; omit the object entirely if nothing is mentioned.

season
string

Best season or timing for planting/care as stated, e.g. 'early spring after last frost'. Omit if not stated.

supplies
string[]

Tools, products, fertilizers, or materials recommended. Lowercased short phrases, e.g. 'tomato cage', 'all-purpose fertilizer'.

careStepsrequired
object[]

Ordered care or growing steps. Each is one discrete action or phase.

commonProblems
object[]

Pests, diseases, or problems discussed, with remedies if given.

tips
string[]

Pro tips, shortcuts, or best practices mentioned outside the main steps.

mistakesToAvoid
string[]

Mistakes the creator explicitly warns against. Short phrases. Omit if none.

JSON Schema

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "vidextract.predefined.gardening.v1",
  "title": "Gardening Guide",
  "description": "A plant-care or gardening guide extracted from a video (growing, planting, pruning, propagation, pest control). Capture only what the creator states; omit anything not mentioned and do not infer.",
  "type": "object",
  "required": [
    "title",
    "summary",
    "careSteps"
  ],
  "additionalProperties": false,
  "properties": {
    "title": {
      "type": "string",
      "description": "Concise title of the guide, phrased as the goal, e.g. 'How to grow tomatoes from seed'."
    },
    "summary": {
      "type": "string",
      "description": "One to three sentences on what the video teaches and the overall approach."
    },
    "plants": {
      "type": "array",
      "description": "Plants, crops, or species the guide focuses on. Omit if none specific.",
      "items": {
        "type": "object",
        "required": [
          "name"
        ],
        "additionalProperties": false,
        "properties": {
          "name": {
            "type": "string",
            "description": "Common name of the plant, e.g. 'tomato', 'monstera'."
          },
          "variety": {
            "type": "string",
            "description": "Specific variety or cultivar if named. Omit if not stated — do not infer."
          },
          "type": {
            "type": "string",
            "description": "Category if stated, e.g. 'vegetable', 'houseplant', 'herb', 'flower', 'shrub'. Omit if not stated."
          }
        }
      }
    },
    "difficulty": {
      "type": "string",
      "enum": [
        "beginner",
        "intermediate",
        "advanced"
      ],
      "description": "Difficulty if stated or clearly implied. Omit if unsure."
    },
    "growingConditions": {
      "type": "object",
      "description": "Environmental requirements mentioned. Omit any field not stated; omit the object entirely if nothing is mentioned.",
      "additionalProperties": false,
      "properties": {
        "sunlight": {
          "type": "string",
          "description": "Light needs, e.g. 'full sun, 6-8 hours'. Omit if not stated."
        },
        "soil": {
          "type": "string",
          "description": "Soil type or mix recommended. Omit if not stated."
        },
        "watering": {
          "type": "string",
          "description": "Watering frequency or guidance. Omit if not stated."
        },
        "temperature": {
          "type": "string",
          "description": "Temperature or climate needs. Omit if not stated."
        },
        "spacing": {
          "type": "string",
          "description": "Plant spacing guidance. Omit if not stated."
        },
        "hardinessZones": {
          "type": "string",
          "description": "USDA or other hardiness zones mentioned. Omit if not stated."
        }
      }
    },
    "season": {
      "type": "string",
      "description": "Best season or timing for planting/care as stated, e.g. 'early spring after last frost'. Omit if not stated."
    },
    "supplies": {
      "type": "array",
      "description": "Tools, products, fertilizers, or materials recommended. Lowercased short phrases, e.g. 'tomato cage', 'all-purpose fertilizer'.",
      "items": {
        "type": "string"
      }
    },
    "careSteps": {
      "type": "array",
      "description": "Ordered care or growing steps. Each is one discrete action or phase.",
      "minItems": 1,
      "items": {
        "type": "object",
        "required": [
          "text"
        ],
        "additionalProperties": false,
        "properties": {
          "text": {
            "type": "string",
            "description": "Imperative instruction, e.g. 'Plant seedlings deep, burying two-thirds of the stem.'"
          },
          "detail": {
            "type": "string",
            "description": "Extra clarifying detail if the creator elaborates. Omit if the text is self-contained."
          },
          "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}$"
          }
        }
      }
    },
    "commonProblems": {
      "type": "array",
      "description": "Pests, diseases, or problems discussed, with remedies if given.",
      "items": {
        "type": "object",
        "required": [
          "problem"
        ],
        "additionalProperties": false,
        "properties": {
          "problem": {
            "type": "string",
            "description": "Name of the problem, e.g. 'blossom end rot', 'aphids'."
          },
          "cause": {
            "type": "string",
            "description": "Stated cause. Omit if not stated — do not infer."
          },
          "remedy": {
            "type": "string",
            "description": "Recommended fix or prevention. Omit if not stated."
          }
        }
      }
    },
    "tips": {
      "type": "array",
      "description": "Pro tips, shortcuts, or best practices mentioned outside the main steps.",
      "items": {
        "type": "string"
      }
    },
    "mistakesToAvoid": {
      "type": "array",
      "description": "Mistakes the creator explicitly warns against. Short phrases. Omit if none.",
      "items": {
        "type": "string"
      }
    }
  }
}

Use it via the API

Pass schemaId: "vidextract.predefined.gardening.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.gardening.v1"}'

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

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