Added complete style reference table with 21 AI image generation styles including Digital Art, Vaporwave, Photography, Isometric, Textured, Illustration, Geometric, Minimalism, Abstract Art, Natural, Hand-Drawn, Tech Style, Dreamy, Vintage Film, Futurism, Colorful Collage, Dynamic Liquid, Futuristic Craft, Ink Wash Painting, Luxury High-End, and Japanese Anime.
Each style includes detailed style_prompt parameters for precise AI image generation control.
2025-01-10
New Features
isRaiseEvidenceNotFindError
ADetermines whether an error should be reported if no evidence is found during a search. By default, this parameter is enabled.
targetEvidenceSearchLanguageId
Specifies the language to use when searching for evidence, addressing the issue of insufficient evidence in less common default languages. If not provided, it defaults to the article’s writing language.
targetEvidenceLocale
Specifies the country/region to consider when searching for evidence. This parameter addresses the issue of insufficient evidence in less common default regions. If not provided, it defaults to the country/region associated with the article’s writing.
2024-12-04
New Features
isAddKeyTakeaways
Added parameter to generate a "Key Takeaways" section after the introduction, helping readers quickly grasp the core content of the article. Enabled by default.
isAddCta
Added parameter that is effective only when the input type is URL. When enabled, it inserts a Call to Action (CTA) section into the blog page, aimed at enhancing user conversion rates and experience. Disabled by default.
ctaModelType
Added parameter to specify the display type of the CTA module. Possible values include:
three_stage: Uses a style with a title, description, and button.
anchor_text: Uses an anchor text style. This parameter is only effective when isAddCta is enabled.
isAddFaq
Added parameter to include a Frequently Asked Questions (FAQ) section at the end of the blog, aimed at improving user experience, reducing customer support workload, and optimizing SEO. Enabled by default.
Default Values
isAddKeyTakeaways: Enabled by default
isAddCta: Disabled by default
isAddFaq: Enabled by default
Affected Endpoints
POST /v1/writing/blog: The parameters isAddKeyTakeaways, isAddCta, ctaModelType, and isAddFaq can be used when creating new blog.
Get A Token
header Parameters
X-Request-ID
string
Unique request ID used to track the request across services.
If not provided, the system will automatically generate a random request ID.
Request Body schema: application/json
required
accessKey
required
string
Access Key used for authorization
secretKey
required
string
Secret Key used for authorization
tokenExpiry
integer [ 7 .. 90 ]
Default: 7
Token expiry time in days (default is 7, max is 90)
Responses
https://openapi.quickcreator.io/v1/auth/token
Request samples
Payload
Content type
application/json
{
"accessKey": "string",
"secretKey": "string",
"tokenExpiry": 7
}
Response samples
200
400
401
404
429
500
Content type
application/json
{
"message": "success",
"data": {
"token": ""
},
"timestamp": "2019-08-24T14:15:22Z",
"request_id": "string"
}
Create A New Site
header Parameters
X-OPENAPI-TOKEN
required
string
Token for authorization
X-Request-ID
string
Unique request ID used to track the request across services.
If not provided, the system will automatically generate a random request ID.
Unique request ID used to track the request across services.
If not provided, the system will automatically generate a random request ID.
Request Body schema: application/json
required
siteId
required
string or null
The ID of the site
isPublish
required
boolean or null
Default: true
Indicates whether to publish the blog
authorId
string or null
Default: null
The ID of the author
object or null
object or null
inputType
required
string
Enum:"keyword""topic""url""urls""title"
Type of input. Must be one of Keyword, Topic, Url, Urls, Title.
mainInput
string or null
The main input content is related to different writing entry types (input_type):
When input_type is 'keyword': The user should enter a primary keyword, recommended to be no more than three English words (for English writing), to gradually write the blog.The input must be a string with a maximum length of 100 characters.
When input_type is 'topic': The user can enter any specific topic or idea, and the writing engine will write a blog around that topic. The input must be a string with a maximum length of 150 characters.
When input_type is 'url': The user should enter the URL of a product, and the writing engine will write around that product.The input must be a valid URL string. The input must be an array of strings, each being a valid URL.
When input_type is 'urls': The user can enter up to five article URLs, and the system will ignore non-article links. The input must be an array of strings, each being a valid URL, with a maximum length of 5 items.
When input_type is 'title': The user can enter any blog title, and the writing engine will generate blog content around that title. The input must be a string with a maximum length of 150 characters.
These input options ensure that users can flexibly choose their writing approach based on their needs.
primaryKeyword
Array of strings = 1 items
Users can specify primary keywords during the blog writing process.
The writing engine will incorporate the primary keywords into the blog title, subheading titles, blog content, and the page's meta information, while reasonably distributing keyword density.
Currently, only one primary keyword is supported, and for English writing, it is recommended that the primary keyword does not exceed three English words.
Note that when the inputType is "Keyword," primaryKeywords will not take effect.
languageID
string
Default: "en"
This parameter sets both the language for blog writing and the target market for the blog.
The writing engine will search for relevant topics and references in real-time based on the selected target language and country/region to support the blog writing.
It is limited to the languages provided in the enum.
Language
Code
Arabic
ar
Bulgarian
bg
Bengali
bn
Czech
cs
Danish
da
Dutch
nl
English
en
Estonian
et
Greek
el
Finnish
fi
French
fr
German
de
Hungarian
hu
Indonesian
id
Italian
it
Japanese
ja
Korean
ko
Lithuanian
lt
Malay
ms
Norwegian
no
Polish
pl
Brazilian Portuguese
pt-BR
Portuguese
pt
Romanian
ro
Spanish
es
Russian
ru
Thai
th
Turkish
tr
Vietnamese
vi
Chinese (Simplified)
zh-CN
Chinese (Traditional)
zh-TW
locale
string
Default: "us"
This parameter sets the target market for the blog.
The writing engine will search for relevant topics and references in real-time based on the selected target language and country/region to support the blog writing.
If no country is selected, the writing engine will choose a default country/region that matches the target language set in languageID.
Default: "us"
Country
Code
Argentina
ar
Aruba
aw
Australia
au
Austria
at
Azerbaijan
az
Bahamas
bs
Bangladesh
bd
Belgium
be
Brazil
br
Bulgaria
bg
Cameroon
cm
Canada
ca
Chile
cl
China
cn
Colombia
co
Costa Rica
cr
Croatia
hr
Cuba
cu
Cyprus
cy
Czech Republic
cz
Denmark
dk
Egypt
eg
Estonia
ee
Ethiopia
et
Finland
fi
France
fr
Germany
de
Ghana
gh
Greece
gr
Greenland
gl
Hong Kong
hk
Hungary
hu
Iceland
is
India
in
Indonesia
id
Ireland
ie
Israel
il
Italy
it
Jamaica
jm
Japan
jp
Kazakhstan
kz
Republic of Korea
kr
Latvia
lv
Libyan Arab Jamahiriya
ly
Lithuania
lt
Luxembourg
lu
Macao
mo
the Former Yugoslav Republic of Macedonia
mk
Malaysia
my
Malta
mt
Mexico
mx
Monaco
mc
Netherlands
nl
New Zealand
nz
Nigeria
ng
Norway
no
Pakistan
pk
Panama
pa
Paraguay
py
Peru
pe
Philippines
ph
Poland
pl
Portugal
pt
Puerto Rico
pr
Qatar
qa
Romania
ro
Russian Federation
ru
Saudi Arabia
sa
Serbia and Montenegro
rs
Singapore
sg
Slovakia
sk
Slovenia
si
South Africa
za
Spain
es
Sweden
se
Switzerland
ch
Syrian Arab Republic
sy
Taiwan
tw
Thailand
th
Tunisia
tn
Turkey
tr
Ukraine
ua
United Arab Emirates
ae
United Kingdom
gb
United States
us
targetBlogWordCount
string
Enum:"800-1000""1000-2000""2000-3000"
This parameter sets the target word count range for the blog.
The writing engine will control the number of paragraphs based on this range.
Note that some blog types will not be restricted by this word count range, including but not limited to:
'Guides', 'Steps', 'Tips', 'Strategies', 'Analysis', 'Science', 'Trends', 'Review', 'Listicle',
'Alternative', 'Comparison', 'Recommendation', 'Ranking', 'Pros and Cons', and 'Rating'.
If no target word count range is specified, the writing engine will automatically select a suitable word count range based on the blog topic.
The targetTone parameter allows users to specify the desired tone for the blog content.
Possible values include:
Informative/Educational: Aims to convey knowledge to the reader through facts and information, directly and focused on knowledge delivery.
Professional/Formal: Establishes the author’s expertise and credibility on the topic, generally more formal, using industry-specific terminology.
Conversational/Informal: A friendly and relaxed tone, like a conversation between the author and the reader, making complex topics easier to understand with contractions and questions.
Persuasive: Aims to convince the reader to take specific action, using powerful language, focusing on benefits, and includes a call to action.
Inspirational/Motivational: Common in lifestyle and motivational blogs, designed to inspire readers, using positive language and success stories.
Entertaining: Suitable for travel, food, and other entertainment blogs, with humor and vivid descriptions to engage and entertain the reader.
targetReadability
string
Enum:"general""knowledgeable""expert"
The target_readability parameter is used to set the target reading level of the blog. The writing engine will control vocabulary and sentence structure based on the selected readability level. If no target readability is specified, the writing engine will automatically select an appropriate level based on the blog topic. The following three levels are currently supported:
General (Middle School, Grades 6-8): Relatively easy to read, suitable for a broad audience.
Knowledgeable (High School, Grades 9-12): Language is accessible and suitable for readers with some background knowledge.
Expert (College level and above): More challenging, suitable for professional readers or subject matter experts.
targetPersonPerspective
string
Enum:"first-person""second-person""third-person"
The target_person_perspective parameter is used to set the target narrative perspective for the blog. The writing engine will adjust the subject focus according to the selected perspective. If no target perspective is specified, the writing engine will automatically choose a suitable perspective based on the blog topic. The following three perspectives are currently supported:
First-person perspective: Written from the “I” viewpoint, sharing personal experiences and opinions directly with the reader.
Second-person perspective: Uses “you” to address the reader, establishing a direct connection and involving them in the narrative or discussion.
Third-person perspective: Narrated from an outside perspective, using "he," "she," or "they" to refer to individuals, providing a more objective and detached viewpoint.
isAddKeywordFrequency
boolean
The isAddKeywordFrequency parameter enables the automatic insertion of semantically related LSI (Latent Semantic Indexing) keywords. When activated, the writing engine analyzes relevant keywords and their distribution in the reference article to guide blog content generation. This feature is off by default.
isAddEvidence
boolean
The isAddEvidence parameter allows for the automatic insertion of data and factual evidence during the blog writing process to enhance the professionalism and credibility of the blog, in line with Google's EEAT (Experience, Expertise, Authoritativeness, Trustworthiness) requirements. When this feature is enabled, the writing engine will analyze the required evidence types and search relevant websites in real-time to extract and analyze beneficial data and factual evidence to support the blog writing. By default, this feature is enabled.
additionalTitlePrompt
string [ 1 .. 3000 ] items
The additionalTitlePrompt parameter allows users to add extra requirements when generating the blog H1 title, with no restrictions on the input language. For example:
Keyword Requirement: each generated title must include keywords "seo".
Year Requirement: each generated title must include the year "2024".
Word Count Requirement: The length of each generated title must be within 12 words.
Style Requirement: Ensure the title uses attention-grabbing words or phrases. Avoid overly long or complex sentence structures, strive for clarity and brevity in expressing the main theme.
additionalOutlinePrompt
string non-empty <= 3000
The additionalOutlinePrompt parameter allows users to add extra requirements when generating the blog outline, with no restrictions on the input language. For example:
Heading Content Requirement: Ensure the first H2 level heading is not "Introduction" and the last H2 level heading is not "Conclusion".
Keyword Requirement: Ensure the generated headings include keywords "seo".
List Content Requirement: Be sure to include "My Brand Name" when listing products.
additionalSectionPrompt
string non-empty <= 3000
The additionalSectionPrompt parameter allows users to add extra requirements when generating the blog content, with no restrictions on the input language. For example:
Product Information Requirement: In the writing process, make appropriate use of the following product information: My Brand Name is an AI-powered marketing tool....
Content Authenticity Requirement: Do not generate falsified information, such as customer feedback or reviews.
Array of objects or null
The additionalManualLinks feature allows users to customize anchor text and its corresponding links, which the writing engine will naturally embed into the blog content, prioritizing the insertion of specified anchor text in the first paragraph to enhance content relevance and SEO effectiveness. This feature supports up to 5 anchor texts and corresponding links.
additionalKnowledge
string [ 0 .. 50000 ] items
The additionalKnowledge feature allows users to supplement additional knowledge points to expand the background and professionalism of the content. This information helps the writing engine better understand the topic, thereby generating richer and deeper content that meets SEO and reader needs. Users can supplement brand and product knowledge, industry background, technical details, case studies, market research, expert opinions, and related terminology to enhance the depth and professionalism of the blog content.
object or null
The knowledgeBaseInfo feature allows the writing engine to extract brand and product-related information from the user's knowledge base to enhance the professionalism and credibility of the article. This feature helps users better showcase product features and brand value, thereby increasing the attractiveness and credibility of the content.
isStartExternalHyperlink
boolean
The isStartExternalHyperlink feature allows users to enable the insertion of external links during the writing process, making it easier to add relevant external resources and reference links to enhance the depth and credibility of the article. This feature effectively supports SEO optimization and citation of information sources. By default, this feature is enabled.
isStartInternalHyperlink
boolean
The isStartInternalHyperlink parameter allows users to enable internal link insertion during the writing process, adding topic-related internal links to the article. This enhances content coherence, improves user experience, and contributes to SEO optimization. Users need to specify the source domain or site subpath for the internal links in the internal_hyperlink_domain parameter. The writing engine will use Google’s site search to locate and insert relevant internal links. By default, this feature is enabled.
internalHyperlinkDomain
string
The internalHyperlinkDomain parameter specifies the domain or website sub-path to be used as the source for internal links after enabling the internal link insertion feature. The writing engine will search for pages related to the current blog topic within the specified domain or sub-path using Google's site search functionality and automatically insert the found internal links into the blog content. This feature helps enhance the structure of the article, guide users to browse more related content, and improve SEO effectiveness.
isAddMainImage
boolean
The isAddMainImage parameter allows for the addition of a cover image for the blog. The writing engine will match a high-quality cover image related to the topic from copyright-free image libraries, so users do not have to worry about copyright issues. Adding a cover image can effectively attract readers' attention, improve the visual appeal of the blog, and enhance click-through rates when shared on social media. Additionally, an appropriate cover image can help convey the theme and emotion of the article, adding professionalism to the overall content. By default, this feature is enabled.
isAddH2Images
boolean
The isAddH2Images parameter allows the writing engine to match 1 to 2 high-quality images for the body section, sourced from copyright-free image libraries, so users do not have to worry about copyright issues. Adding these images can enhance readability, improve user experience, and increase shareability, thereby improving SEO effectiveness and making the blog content more attractive and professional. By default, this feature is enabled.
isAddH2Video
boolean
The isAddH2Video parameter allows the writing engine to match a high-quality related YouTube video for the body section, with no copyright concerns for users. Adding these videos can enrich the blog content, provide deeper insights and examples, enhance reader interaction, and improve the attractiveness and shareability of the content, while also helping to improve SEO effectiveness, making the blog more educational and entertaining. Since the standard Markdown syntax does not support embedding videos, we will represent it as a comment.
For example:
The isAddSeeAlso parameter allows the writing engine to add a “See Also” module at the end of the article body. This feature helps improve the article’s structure, guide users to explore more related content, and enhance SEO performance. When enabled, the writing engine will search for up to 5 articles related to the blog topic from the sitemap under the bound domain.
Please note that this feature will only work if QuickCreator is successfully bound to a domain. Currently, index sitemaps are not supported, so if the bound domain uses an index sitemap, the “See Also” module cannot be added.
isFoundPlaceholderError
boolean
The isFoundPlaceholderError parameter, when enabled, checks if there are placeholder issues in the generated outline.
Tip:What is a placeholder issue?
A placeholder issue occurs when the outline is incomplete due to insufficient data collected during outline generation or data provided by the user. This is particularly evident in listicle-style articles, where placeholder symbols like “tool A” or “tool B” might appear in the outline, negatively affecting the article’s final quality.
If a placeholder issue is detected, the system will return a 549 error code. By default, this parameter is enabled.
isFilterSimilarTitle
boolean
The isFilterSimilarTitle parameter, when enabled, checks whether the generated blog title has a high similarity to previously generated titles. This mechanism is designed to prevent the creation of articles with similar content.
If a high similarity is detected, the system will return error code 544. By default, this parameter is enabled.
isAddKeyTakeaways
boolean
The isAddKeyTakeaways parameter, when enabled, generates a “Key Takeaways” section following the introduction. Key Takeaways represent the main information, insights, or actionable recommendations that readers should retain after reading an article.
They summarize the core content of the article, helping readers quickly grasp its essence and easily recall the critical points during future reviews. By default, this parameter is enabled.
isAddCta
boolean
The isAddCta parameter is effective only when the input_type is set to url. When enabled, the isAddCta parameter inserts a Call to Action (CTA) section into the blog page. The purpose of the CTA is to guide users to take specific actions, enhancing the website’s conversion rate and user experience.
The CTA will be expressed in a commented format as follows:
The ctaModelType parameter becomes effective only when the isAddCta parameter is enabled. It specifies the display type of the CTA module:
"three_stage": Uses a style with a title, description, and button.
"anchor_text": Uses an anchor text style.
isAddFaq
boolean
The isAddFaq parameter, when enabled, adds an FAQ section at the end of the blog. The FAQ section serves as a functional module aimed at improving user experience, reducing customer support workload, optimizing SEO, and building trust by addressing frequently asked questions.
By default, this parameter is enabled.
imageFrom
string
Enum:"img_library""kb""ai"
• imageFrom: "img_library"
Images are sourced from public copyright-free libraries, currently supporting Unsplash and Pexel.
• imageFrom: "kb"
Images are sourced from the collected images in the knowledge base.
• imageFrom: "ai"
Images are generated by AI. Currently, they are only used as blog cover images. The default style is "AI recommendation". To specify a style, pass the ai_image_generate_params parameter.
Note: The image_from parameter can be set to "kb" only when knowledgeBaseInfo is enabled.
aiImageGenerateParams
object
The aiImageGenerateParams parameter is effective only when the imageFrom parameter is set to "ai".
It allows you to specify the parameters for generating images using AI.
When the imageFrom parameter is set to "ai", AI-generated images will be used as the "blog cover image" source. By default, if the aiImageGenerateParams parameter is not set, the AI image generation will use the AI-recommended style.
We currently support 21 styles, which need to be passed in the style_prompt parameter.
Example: If you want to select "Tech Style", the parameter to pass is:
{"style_prompt": "geometric patterns, data visualizations, digital screens, neon circuits, high contrast, futuristic UI overlays."}
AI Image Generation Style Table:
Style Name
style_prompt
Digital Art
concept art. digital artwork, illustrative, painterly, matte painting, highly detailed
The is_raise_evidence_not_find_error determines whether an error should be reported if no evidence is found during a search.
By default, this parameter is enabled.
targetEvidenceSearchLanguageId
string
The target_evidence_search_language_id specifies the language to use when searching for evidence.
This addresses the issue of insufficient evidence in less common default languages.
If not provided, the language defaults to the article’s writing language.
Language
Code
Arabic
ar
Bulgarian
bg
Bengali
bn
Czech
cs
Danish
da
Dutch
nl
English
en
Estonian
et
Greek
el
Finnish
fi
French
fr
German
de
Hungarian
hu
Indonesian
id
Italian
it
Japanese
ja
Korean
ko
Lithuanian
lt
Malay
ms
Norwegian
no
Polish
pl
Brazilian Portuguese
pt-BR
Portuguese
pt
Romanian
ro
Spanish
es
Russian
ru
Thai
th
Turkish
tr
Vietnamese
vi
Chinese (Simplified)
zh-CN
Chinese (Traditional)
zh-TW
targetEvidenceLocale
string
The target_evidence_locale specifies the country/region to consider when searching for evidence.
This addresses the issue of insufficient evidence in less common default regions.
If not provided, it defaults to the country/region associated with the article's writing.
Country
Code
Argentina
ar
Aruba
aw
Australia
au
Austria
at
Azerbaijan
az
Bahamas
bs
Bangladesh
bd
Belgium
be
Brazil
br
Bulgaria
bg
Cameroon
cm
Canada
ca
Chile
cl
China
cn
Colombia
co
Costa Rica
cr
Croatia
hr
Cuba
cu
Cyprus
cy
Czech Republic
cz
Denmark
dk
Egypt
eg
Estonia
ee
Ethiopia
et
Finland
fi
France
fr
Germany
de
Ghana
gh
Greece
gr
Greenland
gl
Hong Kong
hk
Hungary
hu
Iceland
is
India
in
Indonesia
id
Ireland
ie
Israel
il
Italy
it
Jamaica
jm
Japan
jp
Kazakhstan
kz
Republic of Korea
kr
Latvia
lv
Libyan Arab Jamahiriya
ly
Lithuania
lt
Luxembourg
lu
Macao
mo
the Former Yugoslav Republic of Macedonia
mk
Malaysia
my
Malta
mt
Mexico
mx
Monaco
mc
Netherlands
nl
New Zealand
nz
Nigeria
ng
Norway
no
Pakistan
pk
Panama
pa
Paraguay
py
Peru
pe
Philippines
ph
Poland
pl
Portugal
pt
Puerto Rico
pr
Qatar
qa
Romania
ro
Russian Federation
ru
Saudi Arabia
sa
Serbia and Montenegro
rs
Singapore
sg
Slovakia
sk
Slovenia
si
South Africa
za
Spain
es
Sweden
se
Switzerland
ch
Syrian Arab Republic
sy
Taiwan
tw
Thailand
th
Tunisia
tn
Turkey
tr
Ukraine
ua
United Arab Emirates
ae
United Kingdom
gb
United States
us
Responses
https://openapi.quickcreator.io/v1/writing/blog
Request samples
Payload
Content type
application/json
{
"siteId": "string",
"isPublish": true,
"authorId": null,
"wpInfo": {
"qc_id": "",
"category_id": "",
"auth_id": "",
"post_type": ""
},
"webhook": {
"url": "string",
"header": {
"Authorization": "Bearer xxxxxxxxxx"
}
},
"inputType": "keyword",
"mainInput": "string",
"primaryKeyword": [
"what is seo"
],
"languageID": "en",
"locale": "us",
"targetBlogWordCount": "800-1000",
"targetTone": "Professional/Formal",
"targetReadability": "expert",
"targetPersonPerspective": "third-person",
"isAddKeywordFrequency": true,
"isAddEvidence": true,
"additionalTitlePrompt": "The title should be a question and start with \"What\"",
"additionalOutlinePrompt": "Each H2 heading in your outline needs to be a question.",
"additionalSectionPrompt": "Don’t introduce any company when introducing SEO",