Files
wehub-resource-sync 8cb1f9f479
Publish SDK (PyPI) / publish (push) Has been cancelled
Publish SDK (npm) / publish (@aionui/officecli-sdk) (push) Has been cancelled
SDK smoke / smoke (windows-latest) (push) Has been cancelled
Publish SDK (npm) / publish (@officecli/officecli-sdk) (push) Has been cancelled
Publish SDK (npm) / publish (@officecli/sdk) (push) Has been cancelled
Publish SDK (npm) / publish (officecli-sdk) (push) Has been cancelled
SDK smoke / smoke (macos-latest) (push) Has been cancelled
SDK smoke / smoke (ubuntu-latest) (push) Has been cancelled
Skill parity / diff (push) Has been cancelled
chore: import upstream snapshot with attribution
2026-07-13 13:09:29 +08:00

108 lines
3.6 KiB
JSON

{
"$schema": "../_schema.json",
"format": "pptx",
"element": "media",
"elementAliases": ["video", "audio"],
"parent": "slide",
"operations": {
"add": true,
"set": true,
"get": true,
"query": true,
"remove": true
},
"paths": {
"positional": ["/slide[N]/video[M]", "/slide[N]/audio[M]"]
},
"note": "Aliases: video, audio. Video/audio inferred from extension when type=media. Poster image auto-generated when not supplied.",
"properties": {
"src": {
"type": "string",
"description": "media source — file path, URL, or data-URI; accepted on add/set only. Get does NOT surface this key (no Format[\"src\"] or Format[\"relId\"] is emitted for media).",
"aliases": ["path"],
"add": true, "set": true, "get": false,
"examples": ["--prop src=/path/to/video.mp4"],
"readback": "add-time only; not surfaced in Get.",
"enforcement": "report"
},
"poster": {
"type": "string",
"description": "custom thumbnail image path.",
"add": true, "set": true, "get": false,
"examples": ["--prop poster=/path/to/thumb.png"],
"readback": "n/a",
"enforcement": "report"
},
"x": {
"type": "length",
"add": true, "set": true, "get": true,
"examples": ["--prop x=1in"],
"readback": "length in cm (e.g. \"2cm\")",
"enforcement": "report"
},
"y": {
"type": "length",
"add": true, "set": true, "get": true,
"examples": ["--prop y=1in"],
"readback": "length in cm (e.g. \"2cm\")",
"enforcement": "report"
},
"width": {
"type": "length",
"add": true, "set": true, "get": true,
"examples": ["--prop width=4in"],
"readback": "length in cm (e.g. \"2cm\")",
"enforcement": "report"
},
"height": {
"type": "length",
"add": true, "set": true, "get": true,
"examples": ["--prop height=3in"],
"readback": "length in cm (e.g. \"2cm\")",
"enforcement": "report"
},
"volume": {
"type": "int",
"description": "playback volume 0-100.",
"add": true, "set": true, "get": true,
"examples": ["--prop volume=80"],
"readback": "volume percent",
"enforcement": "report"
},
"autoPlay": {
"type": "bool",
"aliases": ["autoplay", "autoStart", "autostart"],
"add": true, "set": true, "get": true,
"examples": ["--prop autoPlay=true"],
"readback": "true/false",
"enforcement": "report"
},
"loop": {
"type": "bool",
"description": "loop until stopped (repeats the clip indefinitely during playback).",
"add": true, "set": true, "get": true,
"examples": ["--prop loop=true"],
"readback": "true/false",
"enforcement": "report"
},
"trimStart": {
"type": "string",
"description": "trim from media start. Accepts ms ('200'), seconds ('1.5s'), or 'hh:mm:ss.fff' ('00:00:01.500'); stored as ms-int. Alias: trimstart.",
"aliases": ["trimstart"],
"add": true, "set": true, "get": true,
"examples": ["--prop trimStart=1500", "--prop trimStart=1.5s", "--prop trimStart=00:00:01.500"],
"readback": "milliseconds (string)",
"enforcement": "report"
},
"trimEnd": {
"type": "string",
"description": "trim from media end. Same input forms as trimStart; stored as ms-int. Alias: trimend.",
"aliases": ["trimend"],
"add": true, "set": true, "get": true,
"examples": ["--prop trimEnd=10000", "--prop trimEnd=10s", "--prop trimEnd=00:00:10.000"],
"readback": "milliseconds (string)",
"enforcement": "report"
}
}
}