Skip to content

Storyboarder File Format

Eric Skogen edited this page Nov 16, 2017 · 1 revision

.storyboarder docs in JSON Schema format (WIP)

{
  "$schema": "http://json-schema.org/draft-06/schema#",
  "title": "Storyboarder Scene",
  "description": "A single Storyboarder Scene",
  "type": "object",
  "properties": {
    "version": {
      "description": "Version string of the .storyboarder schema used by this file. Format: major.minor.patch",
      "type": "string"
    },
    "aspectRatio": {
      "description": "Aspect ratio of the images in the scene. Width divided by height.",
      "type": "number"
    },
    "fps": {
      "description": "Frames per second. One of: [12, 15, 24, 23.976, 25, 29.97, 30, 50, 59.94, 60]",
      "type": "number"
    },
    "defaultBoardTiming": {
      "description": "Default length for a new board in milliseconds. This value is used for board duration if board duration is nil or 0.",
      "type": "number"
    },
    "boards": {
      "description": "List of boards",
      "type": "array",
      "properties": {
        "uid": {
          "description": "Unique ID for the board. 5 alphanumeric characters, uppercase.",
          "type": "string"
        },
        "url": {
          "description": "Filename of main PNG. Format is `board-{number}-{uid}.png`.",
          "type": "string"
        },
        "newShot": {
          "description": "Is this the first board of a new shot?",
          "type": "boolean"
        },
        "lastEdited": {
          "description": "Time of last edit. In practice, this is actually only modified when the board is inserted or duplicated. Format is msecs in Unix time.",
          "type": "integer"
        },


        "layers": {
          "description": "Layers data",
          "type": "object",
          "properties": {
            "reference": {
              "description": "",
              "type": "object",
              "properties": {
                "url": {
                  "description": "Filename of reference layer PNG, e.g.: `board-{number}-{uid}-reference.png`",
                  "type": "string"
                },
                "opacity": {
                  "description": "Opacity of reference layer, 0 … 1`",
                  "type": "number"
                }
              }
            },
            "notes": {
              "description": "",
              "type": "object",
              "properties": {
                "url": {
                  "description": "Filename of notes layer PNG, e.g.: `board-{number}-{uid}-notes.png`",
                  "type": "string"
                }
              }
            }
          }
        },


        "number": {
          "description": "Board number",
          "type": "integer"
        },
        "shot": {
          "description": "Shot number, e.g.: 1A. After the 27th board, indexes are appended (e.g.: 27 = 1A2). After that, each Z triggers the next change in index. E.g.: in shot 1, board 27 = 1A2, board 51 = 1Y2, but board 52 = 1Z3.",
          "type": "string"
        },


        "time": {
          "description": "Time the board appears in the scene, in msecs. Based on sum of durations of prior boards.",
          "type": "number"
        },

        "lineMileage": {
          "description": "Calculated line mileage of the board",
          "type": "number"
        },

        "notes": {
          "description": "Notes",
          "type": "string"
        },

        "dialogue": {
          "description": "Dialogue",
          "type": "string"
        },
        "action": {
          "description": "Action",
          "type": "string"
        },
        "notes": {
          "description": "Notes",
          "type": "string"
        },

        "sts": {
          "description": "Shot Template System object to recreate the Shot Generator environment",
          "type": "object"
        },

        "duration": {
          "description": "Duration of the board, in msecs.",
          "type": "number"
        },

        "link": {
          "shot": {
            "description": "Filename of linked art file (PSD). By convention this will be named the same as `url` but with the extensions `.psd`",
            "type": "string"
          }
        }
      },

      "required": ["uid", "url"]
    }
  },
  "required": ["version", "aspectRatio", "fps", "defaultBoardTiming", "boards"]
}
Clone this wiki locally