ai-tweet-gen v0.0.5
ai-tweet-gen
Generate tweets using a gemini and llma models and post to twitter/x.
Docs
Installation
npm install ai-tweet-genPrerequisites
Required API Key
API_KEY=YOUR_TWITTER_API_KEY
API_SECRET=YOUR_TWITTER_API_SECRET
ACCESS_TOKEN=YOUR_TWITTER_ACCESS_TOKEN
ACCESS_TOKEN_SECRET=YOUR_TWITTER_ACCESS_TOKEN_SECRET
GEMINI_API_KEY=YOUR_GOOGLE_GEMINI_API_KEY
GROQ_API_KEY=GROQ_API_KEYUsage
1.Importing the package
import {
generatePostGemini,
generatePostLlma,
postToX,
selectPostToPublish,
GeminiModel,
LlamaModel,
GeneratedBy,
MASTER_PROMPT,
} from 'twitter-post-generator';2.Generating Posts
Using Gemini Model
const geminiPost = await generatePostGemini({ prompt: 'Your prompt here' });
console.log(geminiPost);Using LLMA Model
const llmaPost = await generatePostLlma({ prompt: 'Your prompt here' });
console.log(llmaPost);3.Posting to Twitter/X
import { TwitterApiTokens } from 'twitter-api-v2';
const twitterClientConfigs: TwitterApiTokens = {
appKey: 'your-app-key',
appSecret: 'your-app-secret',
accessToken: 'your-access-token',
accessSecret: 'your-access-secret',
};
const postParams = {
postContent: 'Your post content here',
twitterClientConfigs,
};
const response = await postToX(postParams);
console.log(response);4.Randomly select a post to publish
const selectedPost = await selectPostToPublish();
console.log(selectedPost);API Reference
Enums
GeminiModelGEMINI_1_0_PROGEMINI_1_5_PROLlamaModelLLMA3_8B_8192GeneratedByGEMINILLMA
Interfaces
GeneratePostParamsprompt?: string
XConfigs
appKey: stringappSecret: stringaccessToken: stringaccessSecret: string
XPostParams
postContent: stringtwitterClientConfigs:Required<TwitterApiTokens>
CreatePostResponse
edit_history_tweet_ids?: Array<string>id: stringtext: string
Functions
Generates a post using the Gemini model.
generatePostGemini(params: GeneratePostParams): Promise<string | null>Generates a post using the LLMA model.
generatePostLlma(params: GeneratePostParams): Promise<string | null>Posts content to Twitter.
postToX(params: XPostParams): Promise<CreatePostResponse | null>Randomly selects a post to publish.
selectPostToPublish(params: SelectPostToPublishParams): Promise<string | null>
License
This project is licensed under the MIT License.