addedOutput schema / properties / metadata / properties / video
Added value: +{
+ "additionalProperties": false,
+ "description": "Present only on a video listing: subjects, the hours Graunt measured, the per-hour price with its volume tiers, and the seller's declarations (people on camera, releases, sublicense), kept apart.",
+ "properties": {
+ "barred_uses": {
+ "description": "Uses no license permits for this footage, whatever else the listing allows. Present when the footage shows people.",
+ "items": {
+ "enum": [
+ "person_likeness_use",
+ "voice_clone",
+ "deepfake_use",
+ "biometric_identification"
+ ],
+ "type": "string"
+ },
+ "maxItems": 4,
+ "type": "array"
+ },
+ "camera_views": {
+ "description": "How the footage was shot, from the closed camera-view list; empty when none was given. Filter with camera_view on GET /v1/listings.",
+ "items": {
+ "enum": [
+ "FIRST_PERSON",
+ "AERIAL_OR_DRONE",
+ "VEHICLE_OR_DASHCAM",
+ "FIXED_CAMERA",
+ "OTHER"
+ ],
+ "type": "string"
+ },
+ "maxItems": 5,
+ "type": "array"
+ },
+ "measured": {
+ "additionalProperties": false,
+ "description": "What Graunt measured from the files; null when it measured none.",
+ "properties": {
+ "eligible_duration_seconds": {
+ "description": "Seconds of video a buyer of the whole listing receives and pays for.",
+ "minimum": 0,
+ "type": "integer"
+ },
+ "hours": {
+ "description": "The same length in hours, to one decimal place.",
+ "minimum": 0,
+ "type": "number"
+ }
+ },
+ "required": [
+ "eligible_duration_seconds",
+ "hours"
+ ],
+ "type": [
+ "object",
+ "null"
+ ]
+ },
+ "media_kind": {
+ "enum": [
+ "VIDEO"
+ ],
+ "type": "string"
+ },
+ "per_hour": {
+ "additionalProperties": false,
+ "description": "The per-hour price, or null when the listing has a flat price. The seller sets the rate. The volume tier is applied automatically from the hours in the order; there is no code and nothing to request. All amounts are integer cents.",
+ "properties": {
+ "currency": {
+ "const": "usd"
+ },
+ "discount_cents": {
+ "description": "floor(subtotal_cents × the applied tier's discount_bps / 10000).",
+ "minimum": 0,
+ "type": "integer"
+ },
+ "price_cents": {
+ "description": "The listing price, subtotal_cents minus discount_cents: what checkout charges before the processing fee.",
+ "minimum": 0,
+ "type": "integer"
+ },
+ "price_per_hour_cents": {
+ "description": "The seller's rate.",
+ "minimum": 1,
+ "type": "integer"
+ },
+ "rate_class": {
+ "enum": [
+ "BASIC",
+ "STANDARD",
+ "PREMIUM",
+ "NATIVE_1080P",
+ "NATIVE_4K",
+ "ARCHIVAL"
+ ],
+ "type": "string"
+ },
+ "subtotal_cents": {
+ "description": "floor(eligible_duration_seconds × price_per_hour_cents / 3600).",
+ "minimum": 0,
+ "type": "integer"
+ },
+ "tier_applied": {
+ "additionalProperties": false,
+ "description": "The tier this listing's hours reach; null when they reach none.",
+ "properties": {
+ "discount_bps": {
+ "description": "Discount in basis points (1000 = 10%).",
+ "maximum": 9000,
+ "minimum": 1,
+ "type": "integer"
+ },
+ "min_hours": {
+ "description": "Hours in the order from which the tier applies.",
+ "minimum": 1,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "min_hours",
+ "discount_bps"
+ ],
+ "type": [
+ "object",
+ "null"
+ ]
+ },
+ "volume_tiers": {
+ "description": "This listing's volume schedule, lowest tier first: a term of the listing, recorded in every purchase. The seller funds each discount.",
+ "items": {
+ "additionalProperties": false,
+ "properties": {
+ "discount_bps": {
+ "description": "Discount in basis points (1000 = 10%).",
+ "maximum": 9000,
+ "minimum": 1,
+ "type": "integer"
+ },
+ "min_hours": {
+ "description": "Hours in the order from which the tier applies.",
+ "minimum": 1,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "min_hours",
+ "discount_bps"
+ ],
+ "type": "object"
+ },
+ "maxItems": 5,
+ "type": "array"
+ }
+ },
+ "required": [
+ "rate_class",
+ "price_per_hour_cents",
+ "currency",
+ "volume_tiers",
+ "tier_applied",
+ "subtotal_cents",
+ "discount_cents",
+ "price_cents"
+ ],
+ "type": [
+ "object",
+ "null"
+ ]
+ },
+ "seller_declared": {
+ "additionalProperties": false,
+ "description": "The seller's declarations, kept apart from what Graunt measured. Never Graunt's findings.",
+ "properties": {
+ "attestations": {
+ "additionalProperties": false,
+ "description": "What the seller declares about the material, recorded as the seller declared it. Graunt does not compute these.",
+ "properties": {
+ "event_or_venue_rights_status": {
+ "description": "Events and venues.",
+ "enum": [
+ "NOT_APPLICABLE",
+ "SELLER_ATTESTED",
+ "EVIDENCE_ON_FILE",
+ "INCOMPLETE"
+ ],
+ "type": "string"
+ },
+ "guardian_releases_on_file": {
+ "description": "Whether the releases on file include a parent's or guardian's release for each minor shown.",
+ "type": "boolean"
+ },
+ "identifiable_minors": {
+ "description": "Whether anyone under 16 can be identified in the content.",
+ "type": "boolean"
+ },
+ "music_audio_rights_status": {
+ "description": "Music and audio.",
+ "enum": [
+ "NOT_APPLICABLE",
+ "SELLER_ATTESTED",
+ "EVIDENCE_ON_FILE",
+ "INCOMPLETE"
+ ],
+ "type": "string"
+ },
+ "native_resolution": {
+ "description": "The lowest native resolution in the listing.",
+ "enum": [
+ "SD",
+ "HD_720P",
+ "FHD_1080P",
+ "QHD_1440P",
+ "UHD_4K",
+ "UHD_8K"
+ ],
+ "type": "string"
+ },
+ "people_on_camera": {
+ "description": "How people appear: SUBJECT (the footage is about them) or INCIDENTAL (in passing, in a crowd).",
+ "enum": [
+ "INCIDENTAL",
+ "SUBJECT"
+ ],
+ "type": "string"
+ },
+ "person_release_status": {
+ "description": "Releases from the people shown. INCOMPLETE is allowed only when people appear incidentally.",
+ "enum": [
+ "NOT_APPLICABLE",
+ "SELLER_ATTESTED",
+ "EVIDENCE_ON_FILE",
+ "INCOMPLETE"
+ ],
+ "type": "string"
+ },
+ "property_release_status": {
+ "description": "Private property shown.",
+ "enum": [
+ "NOT_APPLICABLE",
+ "SELLER_ATTESTED",
+ "EVIDENCE_ON_FILE",
+ "INCOMPLETE"
+ ],
+ "type": "string"
+ },
+ "third_party_ip_status": {
+ "description": "Third-party marks and designs.",
+ "enum": [
+ "NOT_APPLICABLE",
+ "SELLER_ATTESTED",
+ "EVIDENCE_ON_FILE",
+ "INCOMPLETE"
+ ],
+ "type": "string"
+ }
+ },
+ "type": [
+ "object",
+ "null"
+ ]
+ },
+ "depicts_person": {
+ "description": "Whether the seller says people appear in the footage.",
+ "type": "boolean"
+ },
+ "sublicense": {
+ "description": "ONE_CLIENT_PREAUTHORIZED: the buyer may pass the data through to one client, named privately at purchase in sublicense_client, for that client's use within the license; the buyer makes no use of it for itself. The license itself stays non-transferable.",
+ "enum": [
+ "NONE",
+ "ONE_CLIENT_PREAUTHORIZED"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "depicts_person",
+ "sublicense",
+ "attestations"
+ ],
+ "type": "object"
+ },
+ "subjects": {
+ "description": "What the footage shows, from the closed video-subject list. Filter with video_subject on GET /v1/listings.",
+ "items": {
+ "enum": [
+ "PEOPLE_TALKING",
+ "PEOPLE_IN_ACTION",
+ "PEOPLE_HANDLING_OBJECTS",
+ "HOW_TO_AND_TASKS",
+ "SPORTS_AND_FITNESS",
+ "MUSIC_AND_PERFORMANCE",
+ "ANIMALS",
+ "NATURE",
+ "CITIES_AND_BUILDINGS",
+ "DRIVING_AND_TRANSPORTATION",
+ "INDUSTRY_AND_WORK_SITES",
+ "FOOD_AND_COOKING",
+ "PRODUCTS_AND_RETAIL",
+ "ANIMATION",
+ "VIDEO_GAMES"
+ ],
+ "type": "string"
+ },
+ "maxItems": 15,
+ "type": "array"
+ }
+ },
+ "required": [
+ "media_kind",
+ "subjects",
+ "camera_views",
+ "measured",
+ "per_hour",
+ "seller_declared",
+ "barred_uses"
+ ],
+ "type": "object"
+}