What the hell is a BONE?

A swappable adapter between a shot and a generator.

The shot says what you want. The BONE knows how a particular provider needs to hear it, how to run it, and where the result belongs. Replace the adapter and you can change models without rewriting the movie.

A BONE (.bone.json) packages fields, UI hints, provider routing, prompt assembly, output write-back, and model-specific LLM instructions. Provider quirks live in the contract—not scattered through your story or trapped in chat history.

Future-proof by separation

Higgsfield, OpenArt, and fal can each receive the same shot through a different BONE. When a better model ships, install one new contract; your SKEL structure, approved frames, continuity, and editorial decisions remain untouched.

Inheritance

Field values flow project → scene → shot. Set one consistent look at project level and it applies to every shot in the sequence; override at any level, and reset back to inherited with one click.

Read the BONE reference → · Add behavior with MUSCLE →

JSON spec Provider-agnostic LLM instructions CLI / MCP / Skill
// higgsfield-video.bone.json
bone_id: higgsfield-video
target: video
provider: higgsfield
fields:
- name: soul_id  type: string
- name: duration default: 15
- name: start_image ui: file
output:
target: video_take
format: mp4
execution:
routes: [cli, mcp, skill]
# swap bone → swap generator