This package is a Flutter/Dart API around ChatGPT by OpenAI.
This package requires a valid session token from ChatGPT to access its unofficial REST API.
This version have been updated to use Puppeteer to log in to ChatGPT and extract the Cloudflare cf_clearance cookie and OpenAI session token. 🔥 Thanks to Node.js ChatGPT API (unofficial)
:warning: Be Careful!
user-agent
and IP address
must match from the real browser window you're logged in with to the one you're using for ChatGPTAPI
.defaultHeaders
dependencies:
flutter_chatgpt_api: ^1.0.0
import 'package:flutter_chatgpt_api/flutter_chatgpt_api.dart';
_api = ChatGPTApi(
sessionToken: SESSION_TOKEN,
clearanceToken: CLEARANCE_TOKEN,
);
setState(() {
_messages.add(
ChatMessage(
text: _textController.text,
chatMessageType: ChatMessageType.user,
),
);
isLoading = true;
});
var newMessage = await _api.sendMessage(
input,
conversationId: _conversationId,
parentMessageId: _parentMessageId,
);
setState(() {
_conversationId = newMessage.conversationId;
_parentMessageId = newMessage.messageId;
isLoading = false;
_messages.add(
ChatMessage(
text: newMessage.message,
chatMessageType: ChatMessageType.bot,
),
);
});
To get a session token:
Application
> Cookies
(Storage
> Cookies
)Copy the value for __Secure-next-auth.session-token and save it to your environment.example/lib/session_token.dart
Copy the value for cf_clearance and save it to your environment. example/lib/clearance_token.dart
Should look something like this:
const SESSION_TOKEN = '__Secure-next-auth.session-token from https://chat.openai.com/chat';
const CLEARANCE_TOKEN = 'cf_clearance token from https://chat.openai.com/chat';
Author: coskuncay
Source: https://github.com/coskuncay/flutter_chatgpt_api
License: MIT license