NotionAI is an unofficial NotionAI API that provides a Python SDK and a Chrome extension.
NotionAI Plus is a browser extension that adds NotionAI's powerful features to any website you visit. With NotionAI Plus, you can easily analyze text, generate summaries, and perform sentiment analysis on any webpage.
The NotionAI Python SDK is a wrapper for the NotionAI APIs with Python bindings, simplifying integration of NotionAI solutions into your projects.
- Full APIs from Notion AI
- Support stream response
All NotionAI functionalities are supported. Check out the notionai.py file to see all the available APIs.
APIs like blog_post
, help_me_write
, help_me_edit
, and summarize
are shortcuts for the basic APIs.
We also support advanced APIs that allow you to dispatch by parameters:
writing_with_topic
Writing for special topic Args: topic (TopicEnum): the special topic prompt (str): prompt for writing Example: ao = NotionAI(token) ai.writing_with_topic(TopicEnum.blog_post, "Please help to introduce Notion")
writing_with_prompt
Writing with special prompt, like summarize, explain_this, improve_writing Args: prompt_type (PromptTypeEnum): special prompt context (str): the context for your writing Example: ai = NotionAI(token) ai.writing_with_prompt(PromptTypeEnum.summarize, "I am a student")
translate
Translate the text Args: language (TranslateLanguageEnum): target language context (str): context to translate Example: ai = NotionAI(token) ai.translate(TranslateLanguageEnum.Chinese, "I am a student")
change_tone
Change the tone of your context Args: context (str): context to change tone (ToneEnum): target tone Returns: str: Response from NotionAI Example: ai = NotionAI(token) ai.change_tone("I am a student", ToneEnum.professional)
pip install --upgrade notionai-py
To use the NotionAI Python SDK, you need to obtain a Notion token. You can do this by following these steps:
- Open Chrome or Firefox DevTools
- Find Cookies and copy the value for
token_v2
- Find the
spaceId
of your Notion workspace
Check out the examples directory for usage examples.
- Basic
import os
from notionai import NotionAI
TOKEN = os.getenv("NOTION_TOKEN")
SPACE_ID = os.getenv("NOTION_SPACE_ID")
def main():
ai = NotionAI(TOKEN, SPACE_ID)
res = ai.blog_post("write a blog about the meaning of life")
print(res)
if __name__ == "__main__":
main()
- Stream API
import os
import sys
from notionai import NotionAI
TOKEN = os.getenv("NOTION_TOKEN")
SPACE_ID = os.getenv("NOTION_SPACE_ID")
def main():
ai = NotionAIStream(TOKEN, SPACE_ID)
res = ai.blog_post("write a blog about the meaning of life")
for item in res:
sys.stdout.write(item)
if __name__ == "__main__":
main()
- WebUI
Check out the webui directory for instructions on how to use the NotionAI Python SDK with a web user interface.