Welcome to SizzleScript! Here you will learn how to create a sizzle script file, submit a request to the SizzleScript API, and how to download your finished movie. If you have not requested your API key, please email [keys@sizzlescript.art](mailto: keys@sizzlescript.art).
A sizzle script is a declartive file that describes the movie that you are creating. It sets the voice-over tone and style,
transitions, and imagery for the movie. A sizzle script is just a JSON file. When submitting the file to the API, you should
use the .json
extension.
A properly formatted sizzle script contains a JSON object that contains the following keys.
title
-- the title of the story
author
-- the author
scenes
-- a list of Scene objects
images
-- holds a mapping of scene titles to image urls
prompts
-- holds a mapping of scene titles to Prompt objects
This is the main section that drives the movie creation process. Each scene represents an image in the movie. Each
scene requies an unique id that will be mapped to either the images
section or the prompt
section. A valid
Scene` object contains the following keys:
label
-- the id for the scene. This must be unique in the file.
text
-- narration text that will be the voice over
transition
-- transition mode. Can either be None
or FADE_IN
art
-- required this value can either be image
or prompt
. The corresponding scene id should be in either
the images
or the prompt
section.
This is an optional section that takes the unique scene id the previous section as the key and an url to an image as the value. Refer to this partial sizzle script as an example.
"scenes:[
{
"label":"sceneId1",
"text":"An example",
"transition": "None"
}
],
"images":{
"sceneId1":"https://link.to.photo.jpg"
}
According to this script, there will just be one scene that will display the image located at the url. There are a few
caveats that must be discussed. The first is that the url must go DIRECTLY to the image. If there are redirects, there is a
good chance that the image will fail to show up in the outputted movie. The second is that there a limited number of supported
formats. Currently, SizzleScript supports jpg
, png
, and gif
.
The prompt
key is an optional section. This is where you set the prompt, model and seed number for a stable diffusion pipeline
to generate an image.
Prompt objects is as follows:
artwork_prompt
-- This is the text of the prompt for the AI image generation. If you create a prompt object you must have included this key.
diffusion_model
-- This is the type of text-to-image that the scene will use.
This key is optional, and the default is arcane-diffusion
. The avaible options are
lcm-dream-shaper-v8
,arcane-diffusion
lcm-realistic-vision-v5-1
moonfilm-film-grain-v1
seed
-- For AI generation, this is the seed for the generator. An optional key, this is filled in with a random number by default.
Here is an example of a properly formatted SizzleScript file. You can take the contents of this section and use it to generate a movie.
{
"title": "Test Movie",
"author": "Shariq",
"type": "movie",
"scenes": [
{
"label": "#first",
"text": "Welcome to the big city. The place where dreams and nightmares alike are made.",
"transition": "FADE_IN",
"art": "image"
},
{
"label": "#post_intro",
"text": "My name? Well that isn't important. The story is what matters.",
"transition": "FADE_IN",
"art": "prompt"
}
],
"images":{
"#first": "https://picsum.photos/id/43/1024/1024.jpg"
},
"prompts":{
"#post_intro": {
"artwork_prompt": "(African-American male)+, (wearing a suit)+, medium shot, holding a briefcase",
"seed": 999,
"diffusion_model": "arcane-diffusion"
}
}
}