7 Tips for Writing Fiction with ChatGPT

David J. Germain
9 min readJan 19, 2023

--

Prompt Engineering for Prose Writers

“Airship Design”, by David J. Germain with Midjourney v2

Photoshop first hit the market back in 1988 and since then, it’s been a go-to tool for photographers, graphic designers, and digital artists. It revolutionized the way that images are created, manipulated and retouched, giving artists and designers more freedom and flexibility in their work. Will ChatGPT do the same for writers?

As both a writer and computer scientist, I’ve been fascinated by this question for several years, even going so far as to develop my own writing applications. Since I began experimenting with ChatGPT, I’ve been consumed by a single question — can it assist with the process of writing fiction? If so, how do we make the most of this cutting-edge tool?

Below, I’ll present seven tips that I’ve found for using ChatGPT to build structure, write dialog, and craft the prose found in a 21st century novel.

If you’d like to read a more detailed demo of the same information, click here.

If you’d like to read a story generated using these tips, click here.

Tip #1 — Byte-Sized Chunks

ChatGPT allow 4000 tokens (words) per chat, which includes both your prompts and its replies.

Perhaps for this reason, ChatGPT writes very short, very direct versions of whatever you ask for. Want a description of a coffee shop? Expect around 250 words. Want a scene where a 40-year marriage ends in divorce? Expect around 250 words. Ask it to use 500 words? Expect around 250 words.

So lean into this. Devote each of your (infinite) chats to a 250-word task. Don’t ask it to write a 100,000-word spy novel. Don’t even ask it to write a 1,500-word scene. Instead, break your writing into 250-word chunks.

Here’s a useful prompt (all ChatGPT inputs/outputs will be written in italics):

Refer to the following as “Setting A”: A grimy subway station in Paris full of street buskers playing jazz. Cold, wet, smelly. White and black tile on the curving walls.

ChatGPT won’t “remember” what you tell it in a traditional human sense, but it will leverage information in the same chat. Make this process easier by labeling bits and pieces (e.g., “Setting A”).

Tip #2 — Convert your Synopsis into Beats

If you’ve got an idea for your first scene, write a short synopsis (think 250–500 words) and label it something like “Synopsis A” using the technique above. Now you can ask ChatGPT to analyze your story, re-arrange it into story beats, looking for what’s missing, etc. You can do this using a variety of structuring methods — Hero’s Journey, Save the Cat, Dan Harmon’s Story Circle, and more.

Here’s another useful prompt:

Rewrite “Synopsis A” using Dan Harmon’s Story Circle as the structure, ending on a cliffhanger. Label each of the eight sections in the Story Circle. Do not add additional story beats. The cliffhanger should finish with “They realize they’ve been thrust into a dangerous game together.”

What am I doing here? Because I have a clear idea in mind, I want to restrict ChatGPT’s creativity by specifying the ending of this section. Why am I doing this? ChatGPT will tell me which beats are missing from the structure. If I was missing a critical beat early in my story, I might want to rework my synopsis (or ask ChatGPT to rework my synopsis). Each of these beats can now be expanded or copied into a separate task, where I can develop them into 250-word sections of prose.

“Airship Under Construction,” by David J. Germain with Midjourney v2

Tip #3 — Character Profiles

Character profiles are a great idea but keep them short. Restrict the bio to four or five key sentences that are directly related to the section you’re writing. Maybe my character has a bad relationship with her mother, but if it’s not going to influence her behavior directly in this scene, I won’t mention it.

Here’s a useful prompt:

The following is the “BROKER Description”: The BROKER, Alice, became a YouTube influencer, then promoted crypto coins. She presents herself as bubbly and fun, but she’s cleverer and more grounded than she appears. Her motivation is to distance herself from COIN, which she senses is about to implode. The Broker often speaks about herself in long, rambling sentences.

What am I including in my bio? Several things — a backstory that sets up the current scene; a contrasting character trait; the character’s scene motivation; linguistic traits for dialog.

Tip #4 — Zero, One, and Few Shot Prompts

Generative AI like ChatGPT use “prompt engineering” to communicate with the AI. It’s a new skill with specialized lingo.

One useful technique is called “# Shot Prompts.” For instance, “Zero Shot Prompts” mean that no examples are given to the AI before making a request. “One Shot Prompts” means one example is given and “Few Shot Prompts” means multiple examples are given.

Each of these has its uses. For fiction writing, I prefer to start with a vanilla “zero-shot” version, then stylize later.

Here’s a useful prompt:

Using “BROKER Description,” write a scripted dialog for “Ordinary World Beat.”

What am I doing here? The key phrase is “scripted dialog.” I’m instructing the AI to leverage information I’ve already provided (a character bio and a detailed story beat description) to create a zero-shot scripted dialog.

Note: You will probably notice that the dialog produced is cheesy, on-the-nose, and overly wordy. This is pure vomit draft material. We’re just getting started.

“Airship Takes Flight,” by David J. Germain with Midjourney v2

Tip #5 — Build a Backbone

ChatGPT tends to get creative and add all sorts of nonsense to your story. (“Alice recognized the subway jazz musician as her mother, who she had a strained relationship with…”). To avoid this, you want to construct a backbone of text that the AI is forbidden from altering. For me, this has worked best with dialog, which is why I generated a scripted dialog in the previous tip.

Here’s a useful prompt:

Rewrite “Scripted Dialog” as prose. Keep 100% of the original dialog but write the accompanying prose.

The key phrase here is “keep 100% of the original X but write the accompanying Y.” In our case, X is the scripted dialog, which becomes a guardrail against ChatGPT’s flights of fancy.

Tip #6a — Ask the AI to Teach Itself Dialog

Both the scripted dialog and the prose will be terrible. Without explicit instruction, the AI writes like a very boring 14-year-old. We need to teach it to write how we want. Or more accurately, we need to prompt it to teach itself.

Here’s a useful dialog prompt:

If I wanted to advise an AI to write dialog like Aaron Sorkin, what instructions should I give? Consider sentence length, number of questions, rhythm, tone, voice, and other features of language.

This will generate about 500 words of useful writing advice. Edit this down, like so:

Write fast-paced and witty dialogue, which often features long, complex sentences with many clauses. Use rhetorical devices such as parallelism and repetition to create a sense of rhythm and momentum in dialogue. Characters should speak in a highly educated and articulate manner, using sophisticated vocabulary and allusions to literature, history, and pop culture. In terms of tone, write dialogue that is often marked by a sense of urgency and intensity, as characters engage in heated debates and discussions. The tone can also be humorous, with characters delivering witty one-liners and clever banter. Use a lot of questions, which serves to further the plot and reveal character motivations. Use questions as a way for characters to challenge each other, or to reveal information in a dramatic way. Overall, dialogue should be highly stylized and distinctive.

“Airship over Desert Spires,” by David J. Germain with Midjourney v2

Tip #6b — Rewrites and Revisions for Dialog

Once I have my style prompts, I will ask the AI to rewrite my dialog.

Here’s a useful prompt:

Rewrite “Scripted Dialog for Ordinary World.” Write fast-paced and witty dialogue, which often features long, complex sentences with many clauses…

Experiment with how many rewrite suggestions that AI can handle. Often, it will forget certain suggestions are mis-prioritize requirements.

Here’s a useful prompt:

Try again, but use a lot of questions, which serves to further the plot and reveal character motivations. Use questions as a way for characters to challenge each other, or to reveal information in a dramatic way.

What am I doing with this prompt? I’m emphasizing my desire for more questions in the dialog.

Tip #7a — Ask the AI to Teach Itself Prose

Consider the prose-reading experience you’re looking for. Who’s an author you’d love to ghost-write your project? Find a section of their text — something of similar length and similar dialog-to-non-dialog ratio — and paste it into ChatGPT.

If I wanted to advise an AI to write like this, what instructions should I give? Consider tone, voice, and other features of language.

Here is an edited version of what I got back for one of my favorite authors, Joe Abercrombie:

Write with descriptive and evocative language to create colorful vivid imagery, and immersive sensory details to create a visceral picture of the events taking place. Use figurative language to depict characters and surroundings in a way that evokes emotion in the reader. Use personification to create a sense of individual body parts, like hands and eyes, being alive.

The second part of the feedback was more specific to characters in Joe Abercrombie’s scene, and so I modified it to fit my scene:

Set a suspenseful and confrontational tone, with emphasis on the reluctance of Alice and insistence of her adversary. Show Alice as feeling a sense of intimidation and confusion while remaining objective in the description of the characters and their emotions. The voice should be intimidated and confused, with a sense of confrontation and suspense throughout.

I suggest saving these in a “writing advice” file that you can use in future writing projects.

“Airships in Green Valleys,” by David J. Germain with Midjourney v2

Tip #7b — Rewrites and Revisions for Prose

There are plenty of ways that AI prose can go off the rails, most obviously by using the wrong tense or Point of View.

Here’s a useful prompt:

Use first person from the perspective of Alice. Use present tense.

You may need to remind the AI more than once which tense and POV you’re working with.

Another common problem involves dialog tags. Here’s a sample:

He’s direct, “That’s not good enough.”

I’m confused and unsure of what to do, “What do you mean?”

The dialog tags always precede the dialog, which doesn’t match the 21st century fiction I’m going for. Also, many of the dialog tags state directly what Alice is thinking. Personally, I prefer to use body language to convey some of this information.

Here are some useful prompts:

Revise “Draft Prose,” so that no clauses appear before dialog in sentences.

Revise “Draft Prose,” with less emphasis on Alice’s emotions and more emphasis on her physical sensations or what her hands are doing.

In addition, you can continue to “Revise, but set a suspenseful and confrontational tone…” adding in more stylized revisions until you find what you’re looking for.

Conclusions

Here are the key takeaways:

· Devote a chat to a 250-word chunk.

· These chunks can come from story beats that ChatGPT writes for you.

· Use a character bio, but keep it focused on what you’re currently writing.

· Experiment with zero, one, and few shot prompts.

· Use scripted dialog as a backbone for prose.

· Rather than “write in the style of…” ask the AI to teach itself how to write stylishly.

· ChatGPT will give you plenty of rewrites and revisions — take advantage

“Airship Escapes,” by David J. Germain with Midjourney v2

--

--

David J. Germain

David J. Germain is a writer, teacher, and AI researcher based in Taipei. Topics include Natural Language Processing, Fiction Writing, and their intersection.