Pet Training Guide
vidextract.predefined.pet_training.v1
An animal-training guide extracted from a video (dog, cat, or other pet behavior, obedience, or trick training). Capture only what the trainer states; omit anything not mentioned and do not infer.
Fields
Concise title phrased as the goal, e.g. 'How to stop your dog pulling on the leash'.
One to three sentences on the behavior being taught and the overall method.
Animal being trained, lowercased, e.g. 'dog', 'cat', 'puppy'. Omit if not stated.
The specific skill, command, or behavior the video trains, e.g. 'loose-leash walking', 'recall', 'sit'.
Category of training. Omit if unclear.
The overall technique or philosophy, e.g. 'positive reinforcement with clicker', 'lure-reward'. Omit if not stated.
Difficulty if stated or clearly implied. Omit if unsure.
Ideal age, breed, or experience level of the animal as stated, e.g. 'puppies 8 weeks+'. Omit if not stated.
Recommended length of a training session in whole minutes, if stated. Omit otherwise.
Gear, tools, or rewards needed, lowercased, e.g. 'clicker', 'high-value treats', 'front-clip harness'.
Ordered training steps. Each is one discrete action or progression stage.
Handler mistakes the trainer explicitly warns against. Short phrases. Omit if none.
Problems and fixes for when training doesn't go as planned.
Pro tips or best practices mentioned outside the main steps.
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "vidextract.predefined.pet_training.v1",
"title": "Pet Training Guide",
"description": "An animal-training guide extracted from a video (dog, cat, or other pet behavior, obedience, or trick training). Capture only what the trainer states; omit anything not mentioned and do not infer.",
"type": "object",
"required": [
"title",
"summary",
"steps"
],
"additionalProperties": false,
"properties": {
"title": {
"type": "string",
"description": "Concise title phrased as the goal, e.g. 'How to stop your dog pulling on the leash'."
},
"summary": {
"type": "string",
"description": "One to three sentences on the behavior being taught and the overall method."
},
"animal": {
"type": "string",
"description": "Animal being trained, lowercased, e.g. 'dog', 'cat', 'puppy'. Omit if not stated."
},
"targetBehavior": {
"type": "string",
"description": "The specific skill, command, or behavior the video trains, e.g. 'loose-leash walking', 'recall', 'sit'."
},
"behaviorType": {
"type": "string",
"enum": [
"obedience",
"trick",
"problem-behavior",
"socialization",
"agility",
"other"
],
"description": "Category of training. Omit if unclear."
},
"trainingMethod": {
"type": "string",
"description": "The overall technique or philosophy, e.g. 'positive reinforcement with clicker', 'lure-reward'. Omit if not stated."
},
"difficulty": {
"type": "string",
"enum": [
"beginner",
"intermediate",
"advanced"
],
"description": "Difficulty if stated or clearly implied. Omit if unsure."
},
"suitableFor": {
"type": "string",
"description": "Ideal age, breed, or experience level of the animal as stated, e.g. 'puppies 8 weeks+'. Omit if not stated."
},
"sessionLengthMinutes": {
"type": "integer",
"description": "Recommended length of a training session in whole minutes, if stated. Omit otherwise."
},
"equipment": {
"type": "array",
"description": "Gear, tools, or rewards needed, lowercased, e.g. 'clicker', 'high-value treats', 'front-clip harness'.",
"items": {
"type": "string"
}
},
"steps": {
"type": "array",
"description": "Ordered training steps. Each is one discrete action or progression stage.",
"minItems": 1,
"items": {
"type": "object",
"required": [
"text"
],
"additionalProperties": false,
"properties": {
"text": {
"type": "string",
"description": "Imperative instruction, e.g. 'Reward the dog the moment the leash goes slack.'"
},
"detail": {
"type": "string",
"description": "Extra clarifying detail if the trainer elaborates. Omit if self-contained."
},
"verbalCue": {
"type": "string",
"description": "Spoken command or marker word used in this step, e.g. 'heel', 'yes'. Omit if none."
},
"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}$"
}
}
}
},
"commonMistakes": {
"type": "array",
"description": "Handler mistakes the trainer explicitly warns against. Short phrases. Omit if none.",
"items": {
"type": "string"
}
},
"troubleshooting": {
"type": "array",
"description": "Problems and fixes for when training doesn't go as planned.",
"items": {
"type": "object",
"required": [
"problem"
],
"additionalProperties": false,
"properties": {
"problem": {
"type": "string",
"description": "The issue, e.g. 'dog ignores you when distracted'."
},
"solution": {
"type": "string",
"description": "Recommended fix. Omit if not stated — do not infer."
}
}
}
},
"tips": {
"type": "array",
"description": "Pro tips or best practices mentioned outside the main steps.",
"items": {
"type": "string"
}
}
}
}Use it via the API
Pass schemaId: "vidextract.predefined.pet_training.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.pet_training.v1"}'Full request/response shape in the API reference; copy-paste poll loops in the API quickstart.
Pass schemaId: "vidextract.predefined.pet_training.v1" in your request to extract with this schema.