Skip to content

madoo.keyframe-map/v1

Madoo keyframe map — Where each image sits in a clip generated by Keyframes to Video: evenly spread or at explicit frames.

Reference madoo.keyframe-map/v1
Schema id urn:madoo:schema:keyframe-map:v1
Version 1.0.0
Served at GET /api/v1/json-schemas/madoo.keyframe-map/v1 · MCP get_json_schema
  • Read by: ai/keyframes_to_video → keyframe_map
  • Saved in the parameter: ai/keyframes_to_video → keyframeMappings
Field Type Required Rules Description
schema "madoo.keyframe-map/v1" yes
keyframes array of objects yes min items 1; max items 10
keyframes[].frame_index integer ≥ 0 Absolute frame at 24 fps, at most duration x 24, unique across entries.
keyframes[].source object or object yes
madoo.keyframe-map/v1 (JSON Schema)
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "urn:madoo:schema:keyframe-map:v1",
"title": "Madoo keyframe map",
"description": "Where each image sits in a clip generated by Keyframes to Video. Omit frame_index from every entry to have the images spread evenly (the ordinary case), or give it on every entry: a mixed map is refused. A map on the keyframe_map port replaces the one in the parameters.",
"type": "object",
"required": [
"schema",
"keyframes"
],
"properties": {
"schema": {
"const": "madoo.keyframe-map/v1"
},
"keyframes": {
"type": "array",
"minItems": 1,
"maxItems": 10,
"items": {
"type": "object",
"required": [
"source"
],
"properties": {
"frame_index": {
"type": "integer",
"minimum": 0,
"description": "Absolute frame at 24 fps, at most duration x 24, unique across entries."
},
"source": {
"oneOf": [
{
"type": "object",
"required": [
"kind",
"index"
],
"properties": {
"kind": {
"const": "input_index"
},
"index": {
"type": "integer",
"minimum": 0,
"description": "The images slot: 0 is images_0; an empty earlier slot does not shift it."
}
}
},
{
"type": "object",
"required": [
"kind",
"uri"
],
"properties": {
"kind": {
"const": "image_uri"
},
"uri": {
"type": "string",
"minLength": 1,
"description": "A Madoo storage reference (asset_path) or a durable external URL. Inline data URIs are refused."
}
}
}
]
}
}
}
}
},
"examples": [
{
"schema": "madoo.keyframe-map/v1",
"keyframes": [
{
"source": {
"kind": "input_index",
"index": 0
}
},
{
"source": {
"kind": "image_uri",
"uri": "exec/.../photo-2.jpg"
}
}
]
}
]
}