Custom Generators

Custom Generators

If the Standard Generator produces text that is too general or unpredictable for your use case, you can create a custom generator (currently in beta).

Custom generators learn to produce text similar to a set of examples you provide in a CSV file. They try to mimic its format, topic and general style of writing. They're currently usable through the web interface and developer API for up to 6 months after they're created.

For example, you might upload a set of poems to get a custom generator that is better at producing poems and sticks to that format. Or you might upload code from GitHub and make a generator that can auto-complete source code.

We strongly suggest trying out the Standard Generator first, to get an idea for what it can and can't do. Custom generators are currently based on a less capable neural network, though you may benefit from the added control they offer. They also don't have the topic and keyword controls that the Standard Generator has.

Uploading your data

Your data is composed of one or more "documents" or "text items". Each document has a start and an end and is the type of content that your custom generator will produce when not given a prompt.

If you do provide a prompt, it will be interpreted as being from either the beginning or middle of a document and the generator will try to complete the rest from there.

Upload size

Currently, uploads up to 20 MB and 20,000 documents are supported. You can have many small documents, a single large one, or anything in between. Provide as much text as you can within these limits.

Generators will generally learn better from more text data. Less is not more. At least 50 kB is required to create a generator but much more is preferred–many megabytes, even. It makes a big difference.

Generators can't be modified after their creation, so you'll want to assemble as much text as possible before creating one.

Upload format

There are four supported formats. They differ in their support for line breaks and how they delineate documents. PDFs are not currently supported.

1) Text file (.txt) with a text item on each line

Each line is a treated as an independent document. Does not support line breaks within a document. Does not maintain context across multiple lines.

Example: A collection of titles or names of things. Titles don't contain line breaks, so this format would work fine.

2) ZIP file (.zip) containing text files

Put up to 20,000 text files into a ZIP file. Each file is a treated as an independent document. Supports line breaks within a document and maintains context across multiple lines.

Good for when you have many files. Finds text files no matter where they are in the folder tree. Depending on the size or nature of your texts, you may not care where the generated text starts or ends—that is just fine!

Example: A collection of books, poems or dialogue scripts that are in separate text files. For dialogue, you generally don't want to isolate each line into its own document, since context is not maintained across different documents.

3) Single-column CSV file

Each row (cell) is a treated as an independent document. Supports line breaks within a document (i.e. within a cell). Good for generating multiple lines with a persistent context while also starting and ending in particular ways. Context is maintained within a given document, not across multiple cells.

Example: A collection of Stack Overflow questions. A given question may have multiple line breaks, which this format supports. They also have ways in which they start (backstory on the user's problem) and end (an explicit question).

4) One large text document (.txt)

Identical the ZIP format except with only one text file representing one large document. Supports line breaks.

Deploying your custom generator for use

Your custom generator can be thought of as a machine that must be turned on ("deployed") to use. While it's deployed, your deployment hour credits are consumed by the minute. You can deploy and undeploy as often as you like to save credits (though each deployment consumes a minimum of 5 minutes).

Deploy your generator by clicking the Deploy button in the web interface. You can optionally choose a duration after which the generator will automatically undeploy. This is just to save deployment credits in case you forget the generator is running. You can update the duration at any point.

If you exhaust the monthly credits in your plan you can purchase more in Billing & Usage.


Pricing for custom generators includes a couple additional charges compared with the Standard Generator. See Pricing.


Due to technical limitations, custom generators currently go down sporadically for a total of roughly 10 minutes per day. We're working on improving this and expect to achieve higher uptimes in the future.

While custom generators often do a decent job of modeling the text you give them, high quality is not guaranteed. Sometimes they'll just produce irrelevant or degenerate content.

In general, custom generators will be a little less coherent the Standard Generator. In the future they should be similarly coherent

Similar to the Standard Generator, custom generators are particularly good with the English language and aren't likely to produce coherent text in other languages, even if you provide it.