Replace the entire Clipkit project
set_projectReplace or create an entire video project with a JSON source. Use this primary build tool to compose scenes and update many elements in one operation.
Instructions
Replace the entire project with the given source JSON, returning its project_id. This is the PRIMARY way to build: use it to create a composition or to add/change many elements at once. (To tweak a single element in an existing project, use edit_element / add_element / delete_element instead.) Pass an existing project_id to replace that project; omit it to create a new one (note the returned id). The input is validated against the @clipkit/protocol before being accepted; invalid inputs return an error. Shape: { width, height, duration, frame_rate, output_format, background_color?, fonts?, camera?, lights?, elements:[…] }; every element has a type plus base fields (id, x, y, width, height, time, duration, track, opacity, rotation, animations, keyframe_animations) and type-specific fields. For exact field names + types call get_schema (optionally with an element_type) — the runtime ignores unrecognized keys, and this tool flags any it does not recognize.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| source | Yes | A full Clipkit source object. | |
| project_id | No | Which project to act on — the id returned by create_project / set_project / create_promo / load_project. Omit when working on a single local project. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| width | No | ||
| height | No | ||
| duration | No | ||
| project_id | Yes | ||
| element_count | Yes |