# AuthorAI
*Enhance your creative authoring flow, leave the plumbing to AuthorAI*
Note: This is a community maintained library.
At AuthorAI we want to reimagine the authoring experience powered by AI. We want to explore how state of the art in AI can enhance the *creative authoring flow* as it applies to creating apps, books, blogs, sites, data, designs, reports, etc. We are happy to launch AuthorAI Blogger as first in series of such APIs.
**AuthorAI Blogger:** Writing a blog post usually involves several round-trips to Google Search, reading related content, iterating on original content for the blog, then posting it for readers to enjoy. Our objective is to augment these activities with AI so that the blog author can save time authoring posts, enable more creative focus for the author instead of undifferentiated heavylifting, increase flow for the author leading to publishing more posts as a result, and ultimately leading to more eyeballs and monetization benefits.
That is why we created AuthorAI Blogger which can be used for human and AI in partnership for low-code blog authoring automation. We are sharing a [notebook tutorial](https://github.com/authorai/authorai/blob/main/blogger_tutorial.ipynb) so that you can join the exploration. The tutorial walks through basics of AuthorAI + human authoring flow which you can adapt to your needs. Another objective of this notebook is to act as an interactive playground for the AuthorAI library.
**AuthorAI Blogger for Jekyll:** Jekyll is one of the most popular static website generators used among GitHub community. AuthorAI now integrates with Jekyll to generate posts straight into your Jekyll managed static website. See [notebook](https://github.com/authorai/authorai/blob/main/blogger-jekyll.ipynb) used by human author to generate a Jekyll blog post including code snippets, FAQ, multiple sections, and feature image.
**AuthorAI Artist:** We have now launched AurhotAI Artist API for working with DALL-E and Stable Diffusion models. See [notebook example](https://github.com/authorai/authorai/blob/main/authorai-artist.ipynb) to explore the API. You can generate random art from text and engineer your prompts based on painting style, surface, origin, and more.
## Getting Started
AuthorAI API is powered by Open AI. Sign up for your [Open AI API](https://openai.com/api/) and copy your API key to get started.
Try out the auto blog post generation in three easy steps.
```
1. export OPENAI_KEY="your-openai-api-key-here"
2. git clone https://github.com/authorai/authorai.git
3. python blogger_generate.py
```
This will generate html, markdown, images in the 'generated' folder.
## AuthorAI API sample
Here is an example of a 100% auto generated blog post by providing three concepts - Art, Physics, and City to AuthorAI API.
![AuthorAI Blogger Post](https://raw.githubusercontent.com/authorai/authorai/main/blogger-post.png)
You can auto generate this blog post in a single API call like so.
```
from authorai import blogger
keywords = ['Physics', 'Art', 'City']
blogger.auto_generate(keywords, verbose=True)
```
You can also customize the features and content of the blog within few lines of code using AuthorAI Blogger API.
```
from authorai import blogger
post = blogger.BlogPost()
post.set_auto(True)
post.set_full_feature(True)
keywords = ['Physics', 'Art', 'City']
response, response_list = blogger.concepts_combining_keywords(keywords)
post.set_concept(response_list[3])
topic = blogger.describe_concept(post.get_concept(), words=200, grade=10)
post.set_topic(topic)
response, response_list = blogger.titles_from_topic(post.get_topic())
post.set_title(response_list[6])
response, response_list = blogger.tags_from_topic(post.get_topic())
post.set_tags(response_list)
question = 'Is this concept ' + post.get_tags()[3] + ' ' + post.get_tags()[1] + ' a thing?'
post.set_qna(question, blogger.qna(question))
response, reponse_list = blogger.leaderboard(topic, 'Movies', count=5)
post.set_leaderboard('Movies', response)
quote_text = blogger.quote(', '.join(concepts))
post.set_quote(quote_text)
image_description = blogger.strip_filename(blogger.summarize(post.get_topic(), words=10))
image_url = blogger.image_from_description('a 3d photo realistic painting of topic ' + image_description)
local_image = blogger.save_image(url=image_url, description=image_description)
post.set_feature_image(local_image)
post_html = blogger.generate_html(post)
html_path, markdown_path = blogger.publish(post_html=post_html, filename='-'.join(concepts))
```
Raw data
{
"_id": null,
"home_page": "https://www.authorai.org",
"name": "authorai",
"maintainer": "",
"docs_url": null,
"requires_python": "",
"maintainer_email": "",
"keywords": "AI generative transformer authoring automation",
"author": "AuthorAi.org",
"author_email": "authorai.org@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/d4/08/d01bb1c25f23777961829685caac95da5b57b2ec9b635cd34eed57a48a8c/authorai-0.2.2.tar.gz",
"platform": null,
"description": "# AuthorAI\n\n*Enhance your creative authoring flow, leave the plumbing to AuthorAI*\n\nNote: This is a community maintained library.\n\nAt AuthorAI we want to reimagine the authoring experience powered by AI. We want to explore how state of the art in AI can enhance the *creative authoring flow* as it applies to creating apps, books, blogs, sites, data, designs, reports, etc. We are happy to launch AuthorAI Blogger as first in series of such APIs.\n\n**AuthorAI Blogger:** Writing a blog post usually involves several round-trips to Google Search, reading related content, iterating on original content for the blog, then posting it for readers to enjoy. Our objective is to augment these activities with AI so that the blog author can save time authoring posts, enable more creative focus for the author instead of undifferentiated heavylifting, increase flow for the author leading to publishing more posts as a result, and ultimately leading to more eyeballs and monetization benefits.\n\nThat is why we created AuthorAI Blogger which can be used for human and AI in partnership for low-code blog authoring automation. We are sharing a [notebook tutorial](https://github.com/authorai/authorai/blob/main/blogger_tutorial.ipynb) so that you can join the exploration. The tutorial walks through basics of AuthorAI + human authoring flow which you can adapt to your needs. Another objective of this notebook is to act as an interactive playground for the AuthorAI library.\n\n**AuthorAI Blogger for Jekyll:** Jekyll is one of the most popular static website generators used among GitHub community. AuthorAI now integrates with Jekyll to generate posts straight into your Jekyll managed static website. See [notebook](https://github.com/authorai/authorai/blob/main/blogger-jekyll.ipynb) used by human author to generate a Jekyll blog post including code snippets, FAQ, multiple sections, and feature image.\n\n**AuthorAI Artist:** We have now launched AurhotAI Artist API for working with DALL-E and Stable Diffusion models. See [notebook example](https://github.com/authorai/authorai/blob/main/authorai-artist.ipynb) to explore the API. You can generate random art from text and engineer your prompts based on painting style, surface, origin, and more.\n\n## Getting Started\nAuthorAI API is powered by Open AI. Sign up for your [Open AI API](https://openai.com/api/) and copy your API key to get started.\n\nTry out the auto blog post generation in three easy steps.\n\n```\n1. export OPENAI_KEY=\"your-openai-api-key-here\"\n2. git clone https://github.com/authorai/authorai.git\n3. python blogger_generate.py\n```\n\nThis will generate html, markdown, images in the 'generated' folder.\n\n## AuthorAI API sample\n\nHere is an example of a 100% auto generated blog post by providing three concepts - Art, Physics, and City to AuthorAI API.\n\n![AuthorAI Blogger Post](https://raw.githubusercontent.com/authorai/authorai/main/blogger-post.png)\n\nYou can auto generate this blog post in a single API call like so.\n\n```\nfrom authorai import blogger\nkeywords = ['Physics', 'Art', 'City']\nblogger.auto_generate(keywords, verbose=True)\n```\n\nYou can also customize the features and content of the blog within few lines of code using AuthorAI Blogger API.\n\n```\nfrom authorai import blogger\n\npost = blogger.BlogPost()\n\npost.set_auto(True)\npost.set_full_feature(True)\n\nkeywords = ['Physics', 'Art', 'City']\n\nresponse, response_list = blogger.concepts_combining_keywords(keywords)\n\npost.set_concept(response_list[3])\n\ntopic = blogger.describe_concept(post.get_concept(), words=200, grade=10)\npost.set_topic(topic)\n\nresponse, response_list = blogger.titles_from_topic(post.get_topic())\npost.set_title(response_list[6])\n\nresponse, response_list = blogger.tags_from_topic(post.get_topic())\npost.set_tags(response_list)\n\nquestion = 'Is this concept ' + post.get_tags()[3] + ' ' + post.get_tags()[1] + ' a thing?'\npost.set_qna(question, blogger.qna(question))\n\nresponse, reponse_list = blogger.leaderboard(topic, 'Movies', count=5)\npost.set_leaderboard('Movies', response)\n\nquote_text = blogger.quote(', '.join(concepts))\npost.set_quote(quote_text)\n\nimage_description = blogger.strip_filename(blogger.summarize(post.get_topic(), words=10))\nimage_url = blogger.image_from_description('a 3d photo realistic painting of topic ' + image_description)\n\nlocal_image = blogger.save_image(url=image_url, description=image_description)\npost.set_feature_image(local_image)\n\npost_html = blogger.generate_html(post)\nhtml_path, markdown_path = blogger.publish(post_html=post_html, filename='-'.join(concepts))\n```\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Enhance your creative authoring flow, leave the plumbing to AuthorAI",
"version": "0.2.2",
"split_keywords": [
"ai",
"generative",
"transformer",
"authoring",
"automation"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "fd8fd04972c4730fd44d3f35c2b539414a7d68298ca82a3f24e74a7fc86b5fee",
"md5": "ece6a8c8e5372ad45055c5bb44dace17",
"sha256": "fd9fa6c332aa78a915e73345a319b0b2fbed10c38e46300262781dcb7227ea0d"
},
"downloads": -1,
"filename": "authorai-0.2.2-py3-none-any.whl",
"has_sig": false,
"md5_digest": "ece6a8c8e5372ad45055c5bb44dace17",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 12721,
"upload_time": "2023-01-20T17:06:30",
"upload_time_iso_8601": "2023-01-20T17:06:30.298876Z",
"url": "https://files.pythonhosted.org/packages/fd/8f/d04972c4730fd44d3f35c2b539414a7d68298ca82a3f24e74a7fc86b5fee/authorai-0.2.2-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "d408d01bb1c25f23777961829685caac95da5b57b2ec9b635cd34eed57a48a8c",
"md5": "260494264b9b3c6edce6322cc52becd1",
"sha256": "2b12e83198a2e4468d6b9364511d0b9e834c7a6c3ed022e130a64e3c8b9d600f"
},
"downloads": -1,
"filename": "authorai-0.2.2.tar.gz",
"has_sig": false,
"md5_digest": "260494264b9b3c6edce6322cc52becd1",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 13362,
"upload_time": "2023-01-20T17:06:32",
"upload_time_iso_8601": "2023-01-20T17:06:32.732193Z",
"url": "https://files.pythonhosted.org/packages/d4/08/d01bb1c25f23777961829685caac95da5b57b2ec9b635cd34eed57a48a8c/authorai-0.2.2.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-01-20 17:06:32",
"github": false,
"gitlab": false,
"bitbucket": false,
"lcname": "authorai"
}