{
    version = 2, 
    [1] = {
        actions = {
            [1] = {
                copy = "copy", 
                copyTo = "caption", 
                copyToNames = "", 
                copyToStartingAt = "com.johnrellis.anyvision.prompt1", 
                copyToUseJSON = true, 
                type = "copy"}}, 
        enabled = false, 
        HARM_CATEGORY_CIVIC_INTEGRITY = "BLOCK_NONE", 
        HARM_CATEGORY_DANGEROUS_CONTENT = "BLOCK_NONE", 
        HARM_CATEGORY_HARASSMENT = "BLOCK_NONE", 
        HARM_CATEGORY_HATE_SPEECH = "BLOCK_NONE", 
        HARM_CATEGORY_SEXUALLY_EXPLICIT = "BLOCK_NONE", 
        imageSize = 3072, 
        model = "default", 
        name = "Caption / IPTC Description", 
        schema = "{\"type\": \"OBJECT\", \"properties\": {\
    \"Caption / IPTC Description\": {\"type\": \"STRING\"}}}", 
        temperature = 0, 
        text = "Provide a caption describing the who, what, and why of what is happening in this image, this might include names of people, and/or their role in the action that is taking place within the image", 
        useJSON = true, 
        videoFormat = "5|original|", 
        videoSecsPerFrame = 1}, 
    [2] = {
        actions = {
            [1] = {
                copy = "copy", 
                copyTo = "headline", 
                copyToNames = "", 
                copyToStartingAt = "com.johnrellis.anyvision.prompt1", 
                copyToUseJSON = true, 
                type = "copy"}}, 
        enabled = false, 
        HARM_CATEGORY_CIVIC_INTEGRITY = "BLOCK_NONE", 
        HARM_CATEGORY_DANGEROUS_CONTENT = "BLOCK_NONE", 
        HARM_CATEGORY_HARASSMENT = "BLOCK_NONE", 
        HARM_CATEGORY_HATE_SPEECH = "BLOCK_NONE", 
        HARM_CATEGORY_SEXUALLY_EXPLICIT = "BLOCK_NONE", 
        imageSize = 3072, 
        model = "default", 
        name = "IPTC Headline", 
        schema = "{\"type\": \"OBJECT\", \"properties\": {\
    \"IPTC Headline\": {\"type\": \"STRING\"}}}", 
        temperature = 0, 
        text = "Provide a very short publishable synopsis or summary of the contents of the image. No more than 10 words.", 
        useJSON = true, 
        videoFormat = "5|original|", 
        videoSecsPerFrame = 1}, 
    [3] = {
        actions = {
            [1] = {
                copy = "copy", 
                copyTo = "altTextAccessibility", 
                copyToNames = "", 
                copyToStartingAt = "com.johnrellis.anyvision.prompt1", 
                copyToUseJSON = true, 
                type = "copy"}}, 
        enabled = false, 
        HARM_CATEGORY_CIVIC_INTEGRITY = "BLOCK_NONE", 
        HARM_CATEGORY_DANGEROUS_CONTENT = "BLOCK_NONE", 
        HARM_CATEGORY_HARASSMENT = "BLOCK_NONE", 
        HARM_CATEGORY_HATE_SPEECH = "BLOCK_NONE", 
        HARM_CATEGORY_SEXUALLY_EXPLICIT = "BLOCK_NONE", 
        imageSize = 3072, 
        model = "default", 
        name = "IPTC Alt Text", 
        schema = "{\"type\": \"OBJECT\", \"properties\": {\
    \"IPTC Alt Text\": {\"type\": \"STRING\"}}}", 
        temperature = 0, 
        text = "Provide text for the IPTC Alt Text (Accessibility) field, no more than 250 characters.", 
        useJSON = true, 
        videoFormat = "5|original|", 
        videoSecsPerFrame = 1}, 
    [4] = {
        actions = {
            [1] = {
                copy = "copy", 
                copyTo = "extDescrAccessibility", 
                copyToNames = "", 
                copyToStartingAt = "com.johnrellis.anyvision.prompt1", 
                copyToUseJSON = true, 
                type = "copy"}}, 
        enabled = false, 
        HARM_CATEGORY_CIVIC_INTEGRITY = "BLOCK_NONE", 
        HARM_CATEGORY_DANGEROUS_CONTENT = "BLOCK_NONE", 
        HARM_CATEGORY_HARASSMENT = "BLOCK_NONE", 
        HARM_CATEGORY_HATE_SPEECH = "BLOCK_NONE", 
        HARM_CATEGORY_SEXUALLY_EXPLICIT = "BLOCK_NONE", 
        imageSize = 3072, 
        model = "default", 
        name = "IPTC Extended Description", 
        schema = "{\"type\": \"OBJECT\", \"properties\": {\
    \"IPTC Extended Description\": {\"type\": \"STRING\"}}}", 
        temperature = 0, 
        text = "Provide text for the IPTC Extended Description (Accessibility) field, a more detailed textual description of the purpose and meaning of an image that elaborates on the information provided by the Alt Text (Accessibility) property.", 
        useJSON = true, 
        videoFormat = "5|original|", 
        videoSecsPerFrame = 1}, 
    [5] = {
        actions = {
            [1] = {
                copy = "copy", 
                copyTo = "com.johnrellis.anyvision.prompt10", 
                copyToNames = "", 
                copyToStartingAt = "com.johnrellis.anyvision.prompt1", 
                copyToUseJSON = false, 
                type = "copy"}, 
            [2] = {
                from = "JSON", 
                includeOnExport = true, 
                parentKeyword = "Any Vision", 
                removePrevious = true, 
                type = "assign", 
                useSubgroups = false}, 
            [3] = {
                type = "options"}}, 
        enabled = false, 
        HARM_CATEGORY_CIVIC_INTEGRITY = "BLOCK_NONE", 
        HARM_CATEGORY_DANGEROUS_CONTENT = "BLOCK_NONE", 
        HARM_CATEGORY_HARASSMENT = "BLOCK_NONE", 
        HARM_CATEGORY_HATE_SPEECH = "BLOCK_NONE", 
        HARM_CATEGORY_SEXUALLY_EXPLICIT = "BLOCK_NONE", 
        imageSize = 3072, 
        model = "default", 
        name = "Hierarchical keywords: Activities, Locations, Objects, People, Scenery, Plants, Animals, Vehicles", 
        schema = "{\"type\": \"OBJECT\", \"properties\": {\
    \"Activities\": {\"type\": \"ARRAY\", \"items\": {\"type\": \"STRING\"}},\
    \"Locations\": {\"type\": \"ARRAY\", \"items\": {\"type\": \"STRING\"}},\
    \"Objects\": {\"type\": \"ARRAY\", \"items\": {\"type\": \"STRING\"}},\
    \"People\": {\"type\": \"ARRAY\", \"items\": {\"type\": \"STRING\"}},\
    \"Scenery\": {\"type\": \"ARRAY\", \"items\": {\"type\": \"STRING\"}},\
    \"Plants\": {\"type\": \"ARRAY\", \"items\": {\"type\": \"STRING\"}},\
    \"Animals\": {\"type\": \"ARRAY\", \"items\": {\"type\": \"STRING\"}},\
    \"Vehicles\": {\"type\": \"ARRAY\", \"items\": {\"type\": \"STRING\"}}}}", 
        temperature = 0, 
        text = "Classify the image for photo management. Describe the image, being very detailed and specific. Do not return more than 25 unique keywords.\
", 
        useJSON = true, 
        videoFormat = "5|original|", 
        videoSecsPerFrame = 1}, 
    [6] = {
        actions = {
            [1] = {
                ignoreCase = true, 
                pattern = ",", 
                replacement = " /", 
                separator = "", 
                type = "replace", 
                unmatchedText = true, 
                usePrevious = true}, 
            [2] = {
                ignoreCase = true, 
                pattern = "%.$", 
                replacement = "", 
                separator = "", 
                type = "replace", 
                unmatchedText = true, 
                usePrevious = true}, 
            [3] = {
                copy = "copy", 
                copyTo = "com.johnrellis.anyvision.prompt1", 
                copyToNames = "", 
                copyToStartingAt = "com.johnrellis.anyvision.prompt1", 
                copyToUseJSON = false, 
                type = "copy"}, 
            [4] = {
                from = "fields", 
                includeOnExport = true, 
                parentKeyword = "Any Vision > 10 Best", 
                removePrevious = true, 
                type = "assign", 
                useSubgroups = false}}, 
        enabled = false, 
        HARM_CATEGORY_CIVIC_INTEGRITY = "BLOCK_NONE", 
        HARM_CATEGORY_DANGEROUS_CONTENT = "BLOCK_NONE", 
        HARM_CATEGORY_HARASSMENT = "BLOCK_NONE", 
        HARM_CATEGORY_HATE_SPEECH = "BLOCK_NONE", 
        HARM_CATEGORY_SEXUALLY_EXPLICIT = "BLOCK_NONE", 
        imageSize = 3072, 
        model = "default", 
        name = "Keywords - 10 best (using text output, Keywords, Prompt 1)", 
        schema = "", 
        temperature = 0, 
        text = "Provide the 10 best photo classification keywords for the image, even if you lack context. Separate the keywords with semicolons. Don't provide an introduction.", 
        useJSON = false, 
        videoFormat = "5|original|", 
        videoSecsPerFrame = 1}, 
    [7] = {
        actions = {
            [1] = {
                from = "JSON", 
                includeOnExport = true, 
                parentKeyword = "Any Vision > 10 Best (structured)", 
                removePrevious = true, 
                type = "assign", 
                useSubgroups = false}, 
            [2] = {
                lua = "return table.concat (json, \"; \")", 
                type = "lua", 
                usePrevious = true}, 
            [3] = {
                copy = "copy", 
                copyTo = "com.johnrellis.anyvision.prompt2", 
                copyToNames = "", 
                copyToStartingAt = "com.johnrellis.anyvision.prompt1", 
                copyToUseJSON = false, 
                type = "copy"}}, 
        enabled = false, 
        HARM_CATEGORY_CIVIC_INTEGRITY = "BLOCK_NONE", 
        HARM_CATEGORY_DANGEROUS_CONTENT = "BLOCK_NONE", 
        HARM_CATEGORY_HARASSMENT = "BLOCK_NONE", 
        HARM_CATEGORY_HATE_SPEECH = "BLOCK_NONE", 
        HARM_CATEGORY_SEXUALLY_EXPLICIT = "BLOCK_NONE", 
        imageSize = 3072, 
        model = "default", 
        name = "Keywords - 10 best (using structured JSON output, Keywords, Prompt 2)", 
        schema = "{\"type\": \"ARRAY\",  \
    \"items\": {\"type\": \"STRING\"}} ", 
        temperature = 0, 
        text = "Provide the 10 best photo classification keywords for the image, even if you lack context. ", 
        useJSON = true, 
        videoFormat = "5|original|", 
        videoSecsPerFrame = 1}, 
    [8] = {
        actions = {
            [1] = {
                from = "JSON", 
                includeOnExport = true, 
                parentKeyword = "Any Vision > Adobe Stock", 
                removePrevious = true, 
                type = "assign", 
                useSubgroups = false}, 
            [2] = {
                lua = "return table.concat (json, \"; \")", 
                type = "lua", 
                usePrevious = true}, 
            [3] = {
                copy = "copy", 
                copyTo = "com.johnrellis.anyvision.prompt3", 
                copyToNames = "", 
                copyToStartingAt = "com.johnrellis.anyvision.prompt1", 
                copyToUseJSON = false, 
                type = "copy"}, 
            [4] = {
                type = "options"}}, 
        enabled = false, 
        HARM_CATEGORY_CIVIC_INTEGRITY = "BLOCK_NONE", 
        HARM_CATEGORY_DANGEROUS_CONTENT = "BLOCK_NONE", 
        HARM_CATEGORY_HARASSMENT = "BLOCK_NONE", 
        HARM_CATEGORY_HATE_SPEECH = "BLOCK_NONE", 
        HARM_CATEGORY_SEXUALLY_EXPLICIT = "BLOCK_NONE", 
        imageSize = 3072, 
        model = "default", 
        name = "Adobe Stock Keywords (Keywords, Prompt 3)", 
        schema = "{\"type\": \"ARRAY\",  \"items\": {\"type\": \"STRING\"}} ", 
        temperature = 0.5, 
        text = "You are helping a photographer submit photos to Adobe Stock. Generate no more than 49 keywords describing the photo. Put the most important keywords first. \
\
Here are some examples of content details that can inspire specific, relevant keywords:\
\
Names of animal species\
\
Names of cuisines\
\
Types of clothing and hairstyles\
\
Model and community-approved demographic characteristics describing race, ethnicity, cultural background, and more.\
\
Names of equipment or processes \
\
Specific actions or event names\
\
Note: Remember to avoid brand names, logos, and trademarks.", 
        useJSON = true, 
        videoFormat = "5|original|", 
        videoSecsPerFrame = 1}, 
    [9] = {
        actions = {
            [1] = {
                copy = "copy", 
                copyTo = "com.johnrellis.anyvision.prompt4", 
                copyToNames = "", 
                copyToStartingAt = "com.johnrellis.anyvision.prompt1", 
                copyToUseJSON = false, 
                type = "copy"}, 
            [2] = {
                type = "options"}}, 
        enabled = false, 
        HARM_CATEGORY_CIVIC_INTEGRITY = "BLOCK_NONE", 
        HARM_CATEGORY_DANGEROUS_CONTENT = "BLOCK_NONE", 
        HARM_CATEGORY_HARASSMENT = "BLOCK_NONE", 
        HARM_CATEGORY_HATE_SPEECH = "BLOCK_NONE", 
        HARM_CATEGORY_SEXUALLY_EXPLICIT = "BLOCK_NONE", 
        imageSize = 3072, 
        model = "default", 
        name = "Text in the photo (Prompt 4)", 
        schema = "", 
        temperature = 1, 
        text = "Extract all text from the photo. If there is no text visible, output nothing at all, absolutely nothing.", 
        useJSON = false, 
        videoFormat = "5|original|", 
        videoSecsPerFrame = 1}, 
    [10] = {
        actions = {
            [1] = {
                lua = "if type (json) ~= \"table\" then return {} end \
local levels = {\"Domain\", \"Kingdom\", \"Phylum\", \"Class\", \"Order\", \"Family\",\
    \"Genus\", \"Species\"}\
return {[\"Common name\"] = json [\"Common name\"],\
    Scientific = hierarchy (json.Scientific, levels, \"Unknown\")}", 
                type = "lua", 
                usePrevious = true}, 
            [2] = {
                from = "JSON", 
                includeOnExport = true, 
                parentKeyword = "Plant or Animal", 
                removePrevious = true, 
                type = "assign", 
                useSubgroups = false}}, 
        enabled = false, 
        HARM_CATEGORY_CIVIC_INTEGRITY = "BLOCK_NONE", 
        HARM_CATEGORY_DANGEROUS_CONTENT = "BLOCK_NONE", 
        HARM_CATEGORY_HARASSMENT = "BLOCK_NONE", 
        HARM_CATEGORY_HATE_SPEECH = "BLOCK_NONE", 
        HARM_CATEGORY_SEXUALLY_EXPLICIT = "BLOCK_NONE", 
        imageSize = 3072, 
        model = "default", 
        name = "Taxonomic identification of plant or animal (hierarchical keywords)", 
        schema = "{\"type\": \"object\", \"properties\": {\
    \"Common name\": {\"type\": \"string\"}, \
    \"Scientific\": {\"type\": \"object\", \"properties\": {\
        \"Domain\": {\"type\": \"string\"},\
        \"Kingdom\": {\"type\": \"string\"},\
        \"Phylum\": {\"type\": \"string\"},\
        \"Class\": {\"type\": \"string\"},\
        \"Order\": {\"type\": \"string\"},\
        \"Family\": {\"type\": \"string\"},\
        \"Genus\": {\"type\": \"string\"},\
        \"Species\": {\"type\": \"string\"}}}}}", 
        temperature = 0, 
        text = "Give the common name and scientific taxonomic classification of the most prominent plant or animal in the photo: Domain, Kingdom, Phylum, Class, Order, Genus, Species.", 
        useJSON = true, 
        videoFormat = "5|original|", 
        videoSecsPerFrame = 1}, 
    [11] = {
        actions = {
            [1] = {
                copy = "copy", 
                copyTo = "com.johnrellis.anyvision.prompt5", 
                copyToNames = "", 
                copyToStartingAt = "com.johnrellis.anyvision.prompt1", 
                copyToUseJSON = false, 
                type = "copy"}}, 
        enabled = false, 
        HARM_CATEGORY_CIVIC_INTEGRITY = "BLOCK_NONE", 
        HARM_CATEGORY_DANGEROUS_CONTENT = "BLOCK_NONE", 
        HARM_CATEGORY_HARASSMENT = "BLOCK_NONE", 
        HARM_CATEGORY_HATE_SPEECH = "BLOCK_NONE", 
        HARM_CATEGORY_SEXUALLY_EXPLICIT = "BLOCK_NONE", 
        imageSize = 3072, 
        model = "default", 
        name = "Text in the photo translated to English (Prompt 5)", 
        schema = "", 
        temperature = 0, 
        text = "Extract all text from the photo and translate any text not in English into English. Don't output the original text. If there is no text visible, output nothing at all, absolutely nothing.", 
        useJSON = false, 
        videoFormat = "5|original|", 
        videoSecsPerFrame = 1}, 
    [12] = {
        actions = {
            [1] = {
                pattern = "[0-9][0-9,]*", 
                replacement = "%1", 
                separator = "\\n", 
                type = "replace", 
                unmatchedText = false, 
                usePrevious = true}, 
            [2] = {
                copy = "copy", 
                copyTo = "com.johnrellis.anyvision.prompt4", 
                copyToNames = "", 
                copyToStartingAt = "com.johnrellis.anyvision.prompt1", 
                copyToUseJSON = false, 
                type = "copy"}, 
            [3] = {
                from = "fields", 
                includeOnExport = true, 
                parentKeyword = "Any Vision > Bike Numbers", 
                removePrevious = true, 
                type = "assign", 
                useSubgroups = false}}, 
        enabled = false, 
        HARM_CATEGORY_CIVIC_INTEGRITY = "BLOCK_NONE", 
        HARM_CATEGORY_DANGEROUS_CONTENT = "BLOCK_NONE", 
        HARM_CATEGORY_HARASSMENT = "BLOCK_NONE", 
        HARM_CATEGORY_HATE_SPEECH = "BLOCK_NONE", 
        HARM_CATEGORY_SEXUALLY_EXPLICIT = "BLOCK_NONE", 
        imageSize = 3072, 
        model = "default", 
        name = "Dirt bike numbers (keywords, Prompt 4)", 
        schema = "", 
        temperature = 0, 
        text = "Extract the numbers on the dirt bikes, one per line. ", 
        useJSON = false, 
        videoFormat = "5|original|", 
        videoSecsPerFrame = 1}, 
    [13] = {
        actions = {
            [1] = {
                pattern = "[0-9][0-9,]*", 
                replacement = "%1", 
                separator = "\\n", 
                type = "replace", 
                unmatchedText = false, 
                usePrevious = true}, 
            [2] = {
                copy = "copy", 
                copyTo = "com.johnrellis.anyvision.prompt4", 
                copyToNames = "", 
                copyToStartingAt = "com.johnrellis.anyvision.prompt1", 
                copyToUseJSON = false, 
                type = "copy"}, 
            [3] = {
                from = "fields", 
                includeOnExport = true, 
                parentKeyword = "Any Vision > Bib Numbers", 
                removePrevious = true, 
                type = "assign", 
                useSubgroups = false}}, 
        enabled = false, 
        HARM_CATEGORY_CIVIC_INTEGRITY = "BLOCK_NONE", 
        HARM_CATEGORY_DANGEROUS_CONTENT = "BLOCK_NONE", 
        HARM_CATEGORY_HARASSMENT = "BLOCK_NONE", 
        HARM_CATEGORY_HATE_SPEECH = "BLOCK_NONE", 
        HARM_CATEGORY_SEXUALLY_EXPLICIT = "BLOCK_NONE", 
        imageSize = 3072, 
        model = "default", 
        name = "Athletes' bibs (keywords, Prompt 4)", 
        schema = "", 
        temperature = 0, 
        text = "Extract the numbers from the athletes' bibs, one per line. ", 
        useJSON = false, 
        videoFormat = "5|original|", 
        videoSecsPerFrame = 1}, 
    [14] = {
        actions = {
            [1] = {
                from = "JSON", 
                includeOnExport = true, 
                parentKeyword = "Any Vision > House", 
                removePrevious = true, 
                type = "assign", 
                useSubgroups = false}, 
            [2] = {
                copy = "copy", 
                copyTo = "prompts", 
                copyToNames = "Interior or Exterior, Room Type", 
                copyToStartingAt = "com.johnrellis.anyvision.prompt8", 
                copyToUseJSON = true, 
                type = "copy"}}, 
        enabled = false, 
        HARM_CATEGORY_CIVIC_INTEGRITY = "BLOCK_NONE", 
        HARM_CATEGORY_DANGEROUS_CONTENT = "BLOCK_NONE", 
        HARM_CATEGORY_HARASSMENT = "BLOCK_NONE", 
        HARM_CATEGORY_HATE_SPEECH = "BLOCK_NONE", 
        HARM_CATEGORY_SEXUALLY_EXPLICIT = "BLOCK_NONE", 
        imageSize = 3072, 
        model = "default", 
        name = "Classify real estate photos interior/exterior, room type (keywords, Prompts 8-9)", 
        schema = "{\"type\": \"OBJECT\", \"properties\": {\
    \"Interior or Exterior\": {\"type\": \"STRING\", \"format\": \"enum\", \
        \"enum\": [\"Interior\", \"Exterior\", \"Neither\"]},\
    \"Room Type\": {\"type\": \"STRING\", \"format\": \"enum\", \"enum\": [\
        \"Foyer\", \"Kitchen\", \"Family Room\", \"Dining Room\", \
        \"Living Room\", \"Master Bedroom\", \"Bathroom\", \"Laundry Room\", \
        \"Guest Room\", \"Home Office\", \"Library\", \"Kids Bedroom\", \
        \"Playroom\", \"Home Theater\", \"Gym Room\", \"Basement\", \
        \"Garage\", \"Walk-in Closet\", \"Pantry\", \"Gaming Room\", \"Attic\",\
        \"Sunrooms\", \"Storage Room\", \"Music Room\", \"Wine Cellar\", \
        \"Home Bar\", \"Meditation Room\", \"Sauna\", \"Powder Room\", \
        \"Mancave\", \"Deck\", \"Not a Room\"]}}}", 
        temperature = 0, 
        text = "You are helping a real estate photographer classify photos of houses. List whether the photo is interior or exterior or neither, and the room type.", 
        useJSON = true, 
        videoFormat = "5|original|", 
        videoSecsPerFrame = 1}, 
    [15] = {
        actions = {
            [1] = {
                from = "JSON", 
                includeOnExport = true, 
                parentKeyword = "Any Vision > House", 
                removePrevious = false, 
                type = "assign", 
                useSubgroups = false}, 
            [2] = {
                copy = "copy", 
                copyTo = "prompts", 
                copyToNames = "Archictural Design Style", 
                copyToStartingAt = "com.johnrellis.anyvision.prompt10", 
                copyToUseJSON = true, 
                type = "copy"}}, 
        enabled = false, 
        HARM_CATEGORY_CIVIC_INTEGRITY = "BLOCK_NONE", 
        HARM_CATEGORY_DANGEROUS_CONTENT = "BLOCK_NONE", 
        HARM_CATEGORY_HARASSMENT = "BLOCK_NONE", 
        HARM_CATEGORY_HATE_SPEECH = "BLOCK_NONE", 
        HARM_CATEGORY_SEXUALLY_EXPLICIT = "BLOCK_NONE", 
        imageSize = 3072, 
        model = "default", 
        name = "Architectural design style of room or exterior (keywords, Prompt 10)", 
        schema = "{\"type\": \"OBJECT\", \"properties\": {\
    \"Archictural Design Style\": {\"type\": \"STRING\"}}}", 
        temperature = 0, 
        text = "You are helping a real estate photographer classify photos. Provide the concise architectural design style of the house exterior or the room interior. Don't provide additional description.", 
        useJSON = true, 
        videoFormat = "5|original|", 
        videoSecsPerFrame = 1}, 
    [16] = {
        actions = {
            [1] = {
                from = "nameValue", 
                includeOnExport = true, 
                parentKeyword = "Any Vision > Motorcycle Description ", 
                removePrevious = true, 
                type = "assign", 
                useSubgroups = false}, 
            [2] = {
                copy = "copy", 
                copyTo = "prompts", 
                copyToNames = "View, Make, Color, Shoes, Pants, Top, Gloves, Helmet", 
                copyToStartingAt = "com.johnrellis.anyvision.prompt3", 
                copyToUseJSON = false, 
                type = "copy"}, 
            [3] = {
                type = "options"}}, 
        enabled = false, 
        HARM_CATEGORY_CIVIC_INTEGRITY = "BLOCK_NONE", 
        HARM_CATEGORY_DANGEROUS_CONTENT = "BLOCK_NONE", 
        HARM_CATEGORY_HARASSMENT = "BLOCK_NONE", 
        HARM_CATEGORY_HATE_SPEECH = "BLOCK_NONE", 
        HARM_CATEGORY_SEXUALLY_EXPLICIT = "BLOCK_NONE", 
        imageSize = 3072, 
        model = "gemini-1.5-pro", 
        name = "Motorcycle description (Prompt 3-10) color", 
        schema = "", 
        temperature = 0, 
        text = "Describe the closest motorcycle and person only. Provide short descriptions for view, make, shoes, pants, top, gloves, and helmet. Say \"not visible\" if you don't see something.\
\
View: front, side, or rear\
Make: make of the motorcycle\
Color: highlight color of the motorcyle\
Shoes: description of the shoes or boots\
Pants: description of the pants\
Top: description of the jacket or shirt\
Gloves: description of the gloves\
Helmet: description of the helmet or hat", 
        useJSON = false, 
        videoFormat = "3|4e49434b-4832-3634-fbfb-fbfbfbfbfbfb|SIZE_high", 
        videoSecsPerFrame = 1}, 
    [17] = {
        actions = {
            [1] = {
                from = "JSON", 
                includeOnExport = true, 
                parentKeyword = "Any Vision ", 
                removePrevious = true, 
                type = "assign", 
                useSubgroups = false}}, 
        enabled = false, 
        HARM_CATEGORY_CIVIC_INTEGRITY = "BLOCK_NONE", 
        HARM_CATEGORY_DANGEROUS_CONTENT = "BLOCK_NONE", 
        HARM_CATEGORY_HARASSMENT = "BLOCK_NONE", 
        HARM_CATEGORY_HATE_SPEECH = "BLOCK_NONE", 
        HARM_CATEGORY_SEXUALLY_EXPLICIT = "BLOCK_NONE", 
        imageSize = 3072, 
        model = "default", 
        name = "Exposure and Focus (keywords)", 
        schema = "{\"type\": \"OBJECT\", \"properties\": {\
    \"Exposure\": {\"type\": \"STRING\", \"format\": \"enum\", \
        \"enum\": [\"Well-Exposed\", \"Overexposed\", \"Underexposed\"]},\
    \"Focus\": {\"type\": \"STRING\", \"format\": \"enum\", \
        \"enum\": [\"In Focus\", \"Slightly Blurred\", \"Very Blurred\"]}}}", 
        temperature = 0, 
        text = "Act as a professional photo editor. Is the photo well-exposed, underexposed, or overexposed? Is the subject in focus, slightly blurred, or very blurred?  ", 
        useJSON = true, 
        videoFormat = "5|original|", 
        videoSecsPerFrame = 1}, 
    [18] = {
        actions = {
            [1] = {
                ignoreCase = true, 
                pattern = "[^a-zA-Z,]", 
                replacement = " ", 
                separator = "", 
                type = "replace", 
                unmatchedText = true, 
                usePrevious = true}, 
            [2] = {
                from = "fields", 
                includeOnExport = true, 
                parentKeyword = "Any Vision > Dominant Colors", 
                removePrevious = true, 
                type = "assign", 
                useSubgroups = false}}, 
        enabled = false, 
        HARM_CATEGORY_CIVIC_INTEGRITY = "BLOCK_NONE", 
        HARM_CATEGORY_DANGEROUS_CONTENT = "BLOCK_NONE", 
        HARM_CATEGORY_HARASSMENT = "BLOCK_NONE", 
        HARM_CATEGORY_HATE_SPEECH = "BLOCK_NONE", 
        HARM_CATEGORY_SEXUALLY_EXPLICIT = "BLOCK_NONE", 
        imageSize = 3072, 
        model = "default", 
        name = "Dominant colors (as keywords)", 
        schema = "", 
        temperature = 0, 
        text = "List the three most dominant colors, with no explanation, separated by commas", 
        useJSON = false, 
        videoFormat = "5|original|", 
        videoSecsPerFrame = 1}, 
    [19] = {
        actions = {
            [1] = {
                copy = "copy", 
                copyTo = "com.johnrellis.anyvision.prompt2", 
                copyToNames = "", 
                copyToStartingAt = "com.johnrellis.anyvision.prompt1", 
                copyToUseJSON = false, 
                type = "copy"}}, 
        enabled = false, 
        HARM_CATEGORY_CIVIC_INTEGRITY = "BLOCK_NONE", 
        HARM_CATEGORY_DANGEROUS_CONTENT = "BLOCK_NONE", 
        HARM_CATEGORY_HARASSMENT = "BLOCK_NONE", 
        HARM_CATEGORY_HATE_SPEECH = "BLOCK_NONE", 
        HARM_CATEGORY_SEXUALLY_EXPLICIT = "BLOCK_NONE", 
        imageSize = 3072, 
        model = "default", 
        name = "Commercial logos (Prompt 2)", 
        schema = "", 
        temperature = 0, 
        text = "List the commercial logos in the photo, one per line, but don't include any descriptions. If there aren't any logos visible, say \"no logos\"", 
        useJSON = false, 
        videoFormat = "5|original|", 
        videoSecsPerFrame = 1}, 
    [20] = {
        actions = {
            [1] = {
                lua = "local lower = import \"LrStringUtils\".lower\
local lm = lower (json [\"Named landmark or location\"] or \"\")\
if lm == \"none\" or lm == \"null\" then \
    json [\"Named landmark or location\"] = nil \
    end \
return json", 
                type = "lua", 
                usePrevious = true}, 
            [2] = {
                copy = "copy", 
                copyTo = "com.johnrellis.anyvision.prompt3", 
                copyToNames = "", 
                copyToStartingAt = "com.johnrellis.anyvision.prompt1", 
                copyToUseJSON = true, 
                type = "copy"}}, 
        enabled = false, 
        HARM_CATEGORY_CIVIC_INTEGRITY = "BLOCK_NONE", 
        HARM_CATEGORY_DANGEROUS_CONTENT = "BLOCK_NONE", 
        HARM_CATEGORY_HARASSMENT = "BLOCK_NONE", 
        HARM_CATEGORY_HATE_SPEECH = "BLOCK_NONE", 
        HARM_CATEGORY_SEXUALLY_EXPLICIT = "BLOCK_NONE", 
        imageSize = 3072, 
        model = "default", 
        name = "Landmarks and Places (Prompt 3)", 
        schema = "{\"type\": \"OBJECT\", \"properties\": {\
    \"Named landmark or location\": {\"type\": \"STRING\"}}}", 
        temperature = 0, 
        text = "List named landmarks and named locations. If there isn't a landmark or location, say nothing. Don't describe the photo. Don't list objects in the photo. Don't list unnamed places. Don't include commercial logos. Don't say \"none\". Don't say \"null\". Do not say \"none\".", 
        useJSON = true, 
        videoFormat = "5|original|", 
        videoSecsPerFrame = 1}, 
    [21] = {
        actions = {
            [1] = {
                lua = "local lower = import \"LrStringUtils\".lower\
local lm = lower (json [\"Named landmark or location\"] or \"\")\
if lm == \"none\" or lm == \"null\" then \
    json [\"Named landmark or location\"] = nil \
    end \
json [\"GPS\"] = nil\
return json", 
                type = "lua", 
                usePrevious = false}, 
            [2] = {
                copy = "copy", 
                copyTo = "com.johnrellis.anyvision.prompt3", 
                copyToNames = "", 
                copyToStartingAt = "com.johnrellis.anyvision.prompt1", 
                copyToUseJSON = true, 
                type = "copy"}, 
            [3] = {
                lua = "local lower = import \"LrStringUtils\".lower\
local gps = lower (json [\"GPS\"] or \"\")\
if gps == \"none\" or gps == \"null\" then json [\"GPS\"] = nil end \
json [\"Named landmark or location\"] = nil\
return json", 
                type = "lua", 
                usePrevious = false}, 
            [4] = {
                copy = "copy", 
                copyTo = "gps", 
                copyToNames = "", 
                copyToStartingAt = "com.johnrellis.anyvision.prompt1", 
                copyToUseJSON = true, 
                type = "copy"}}, 
        enabled = false, 
        HARM_CATEGORY_CIVIC_INTEGRITY = "BLOCK_NONE", 
        HARM_CATEGORY_DANGEROUS_CONTENT = "BLOCK_NONE", 
        HARM_CATEGORY_HARASSMENT = "BLOCK_NONE", 
        HARM_CATEGORY_HATE_SPEECH = "BLOCK_NONE", 
        HARM_CATEGORY_SEXUALLY_EXPLICIT = "BLOCK_NONE", 
        imageSize = 3072, 
        model = "default", 
        name = "Landmarks and Places with GPS (Prompt 3, GPS)", 
        schema = "{\"type\": \"OBJECT\", \"properties\": {\
    \"Named landmark or location\": {\"type\": \"STRING\"},\
    \"GPS\": {\"type\": \"STRING\"}}}", 
        temperature = 0, 
        text = "List the named landmark or location and provide its GPS coordinates . If there isn't a landmark or location, say nothing. Don't describe the photo. Don't list objects in the photo. Don't list unnamed places. Don't include commercial logos. Don't say \"none\". Don't say \"null\". Do not say \"none\".", 
        useJSON = true, 
        videoFormat = "5|original|", 
        videoSecsPerFrame = 1}, 
    [22] = {
        actions = {
            [1] = {
                copy = "copy", 
                copyTo = "com.johnrellis.anyvision.prompt1", 
                copyToNames = "", 
                copyToStartingAt = "com.johnrellis.anyvision.prompt1", 
                copyToUseJSON = false, 
                type = "copy"}, 
            [2] = {
                type = "options"}}, 
        enabled = false, 
        HARM_CATEGORY_CIVIC_INTEGRITY = "BLOCK_NONE", 
        HARM_CATEGORY_DANGEROUS_CONTENT = "BLOCK_NONE", 
        HARM_CATEGORY_HARASSMENT = "BLOCK_NONE", 
        HARM_CATEGORY_HATE_SPEECH = "BLOCK_NONE", 
        HARM_CATEGORY_SEXUALLY_EXPLICIT = "BLOCK_NONE", 
        imageSize = 3072, 
        model = "default", 
        name = "Transcript of video audio track (Prompt 1)", 
        schema = "", 
        temperature = 0, 
        text = "Provide a transcript of the video's audio with timestamps and no description", 
        useJSON = false, 
        videoFormat = "5|original|", 
        videoSecsPerFrame = 1}, 
    [23] = {
        actions = {
            [1] = {
                copy = "copy", 
                copyTo = "com.johnrellis.anyvision.prompt1", 
                copyToNames = "", 
                copyToStartingAt = "com.johnrellis.anyvision.prompt1", 
                copyToUseJSON = false, 
                type = "copy"}}, 
        enabled = false, 
        HARM_CATEGORY_CIVIC_INTEGRITY = "BLOCK_NONE", 
        HARM_CATEGORY_DANGEROUS_CONTENT = "BLOCK_NONE", 
        HARM_CATEGORY_HARASSMENT = "BLOCK_NONE", 
        HARM_CATEGORY_HATE_SPEECH = "BLOCK_NONE", 
        HARM_CATEGORY_SEXUALLY_EXPLICIT = "BLOCK_NONE", 
        imageSize = 3072, 
        model = "default", 
        name = "Embedded timestamp", 
        schema = "", 
        temperature = 0, 
        text = "Extract the embedded timestamp and output the year, month, and day in the format yyyy-mm-dd", 
        useJSON = false, 
        videoFormat = "5|original|", 
        videoSecsPerFrame = 1}, 
    [24] = {
        actions = {
            [1] = {
                copy = "copy", 
                copyTo = "com.johnrellis.anyvision.prompt1", 
                copyToNames = "", 
                copyToStartingAt = "com.johnrellis.anyvision.prompt1", 
                copyToUseJSON = false, 
                type = "copy"}}, 
        enabled = false, 
        HARM_CATEGORY_CIVIC_INTEGRITY = "BLOCK_NONE", 
        HARM_CATEGORY_DANGEROUS_CONTENT = "BLOCK_NONE", 
        HARM_CATEGORY_HARASSMENT = "BLOCK_NONE", 
        HARM_CATEGORY_HATE_SPEECH = "BLOCK_NONE", 
        HARM_CATEGORY_SEXUALLY_EXPLICIT = "BLOCK_NONE", 
        imageSize = 3072, 
        model = "default", 
        name = "Cat description (Prompt 1)", 
        schema = "", 
        temperature = 0, 
        text = "Describe the most prominent cat in the photo.", 
        useJSON = false, 
        videoFormat = "5|original|", 
        videoSecsPerFrame = 1}, 
    [25] = {
        actions = {
            [1] = {
                copy = "copy", 
                copyTo = "prompts", 
                copyToNames = "Breed, Colors, Color of paws, Color of eyes, Hair length, Kitten", 
                copyToStartingAt = "com.johnrellis.anyvision.prompt2", 
                copyToUseJSON = false, 
                type = "copy"}}, 
        enabled = false, 
        HARM_CATEGORY_CIVIC_INTEGRITY = "BLOCK_NONE", 
        HARM_CATEGORY_DANGEROUS_CONTENT = "BLOCK_NONE", 
        HARM_CATEGORY_HARASSMENT = "BLOCK_NONE", 
        HARM_CATEGORY_HATE_SPEECH = "BLOCK_NONE", 
        HARM_CATEGORY_SEXUALLY_EXPLICIT = "BLOCK_NONE", 
        imageSize = 3072, 
        model = "default", 
        name = "Classify cat (Prompt 2 - 7)", 
        schema = "", 
        temperature = 0, 
        text = "Describe the most prominent cat in the photo, giving its breed, its colors, the color of its paws, color of its eyes, whether it's long- or short-haired, and whether it is a kitten. An example of the result is: \
\
Breed: Domestic shorthair\
Colors: Gray and black tabby pattern \
Color of paws: White\
Color of eyes: Green\
Hair length: Short \
Kitten: No\
\
Don't add any additional text, such as \"Here's a description\"", 
        useJSON = false, 
        videoFormat = "5|original|", 
        videoSecsPerFrame = 1}}