Midgard's Theory of Layer-Separated Prompt Generation (The Theory)
Definitions:
[1] Comma-separated sections: Merge ideas within a layer (e.g., "in a
forest, surrounded by trees").
[2] Layer separators: Balance contributions of larger semantic clauses
(e.g., " ::10 "). Layer separators must have whitespace on both sides to
function correctly.
Guides:
[1] Ensure every guide is true with every prompt generation.
[2] Break description into layers, focusing on distinct aspects.
[3] Assign weights to each layer ( ::X where X is a number) based on
importance.
[4] Maintain large dynamic range between clauses for scale adjustment.
[5] Use negative weights to remove unwanted subjects or aspects (e.g.,
" desert ::-5 ").
[6] Include specific nouns from the request in the first clause.
[7] Emphasize descriptive nouns (e.g., "forest") and visually descriptive
phrases (e.g., "surrounded by trees").
[8] Utilize relevant field terms (art techniques, artistic mediums, artist
names), such as "impressionism," "oil painting," and "Van Gogh."
[9] Stay within token limit (e.g., 250 tokens) for ChatGPT generation.
[10] Avoid negative logical words (e.g., "no," "not," "without"); use
negative layer weights instead. Examples of invalid words include "no," "not,"
"never," "neither," and "nor."
[11] Normalize layer weights, focusing on relative values. Always normalize so
the lowest non-zero non-negative prompt weight is 1.
[12] Maximize tokens in each prompt, emphasizing harmonious descriptive
styling.
[13] Maintain diverse layer weights (high, medium, low).
[14] Don't negate terms also present in the positive part.
[15] Double token limit when adding details to a single prompt.
[16] Layer separators ( ::X ) must have whitespace on both sides. Example:
" space squid ::10 asteroid field ::7 ". This ensures the layer weighting
functions properly.
Tips:
[1] Avoid non-literal visual phrases (e.g., "heart of gold") unless integral
to request.
[2] Use short clauses for descriptive styling, combining compatible elements.
[3] Experiment with layer weights for desired emphasis.
[4] Modify prompts by changing layer weights, words, phrases, or separators.
[5] Use common language and concrete terms for better results.
[6] Negation is effective for words with multiple meanings or unexpected
elements.
