🎉 让我们使用 Gemini API、Next.js 和 TailwindCSS 构建一个 AI Twitter 帖子项目 🚀
**2025 年已经到来**,还有什么比建立一个出色的 Twitter Post 项目更好的方式开启新的一年呢?🎯 在这篇博客中,我将向您展示如何将 **Gemini API** 与 **Next.js** 集成,并使用 **TailwindCSS** 对其进行样式设置,以创建一个简单但有效的帖子系统。此外,我们将使用 **Gemini API Key** 来获取帖子并显示它们。
让我们首先预览一下我们的最终小项目是什么样子的:
现在,让我们开始吧!🔥
先决条件📋
在开始之前,请确保您已:
1.创建一个 Next.js 项目
首先创建一个新的 Next.js 项目:
npx create-next-app twitter-post cd twitter-post
2. 安装 Gemini API 包
现在,让我们安装 Gemini npm 包:
npm i @google/generative-ai
在根目录中创建一个 `.env.local` 文件并添加您的 Gemini API 密钥:
GEMINI_API_KEY=your_api_key_here
3. 使用 Gemini API 获取 Twitter 帖子🔥
在项目中创建 `app/api/submit/route.ts` 路径,在 route.ts 中我们将使用 Gemini API 获取类似 Twitter 的帖子并显示它们。
import { GoogleGenerativeAI } from '@google/generative-ai';
import { NextResponse } from 'next/server';
const API_KEY = process.env.GEMINI_AI_API_KEY || "";
export async function POST(req: Request) {
  const { description } = await req.json();
  if (!description) {
    return NextResponse.json(
      { error: 'Description is required.' },
      { status: 400 }
    );
  }
  try {
    const genAI = new GoogleGenerativeAI(API_KEY);
    const model = await genAI.getGenerativeModel({ model: 'gemini-1.5-flash' });
    const prompt = `Generate twitter tweet on the basis of this description: ${description}`;
    const result = await model.generateContent([prompt]);
    if (result && result.response) {
      const generatedText = await result.response.text();
      return NextResponse.json({ tweet: generatedText });
    } else {
      throw new Error('No response received from model.');
    }
  } catch (error) {
    console.error('Error generating tweet:', error);
    return NextResponse.json({ error: 'Failed to generate tweet' }, { status: 500 });
  }
}以上代码的功能描述为:
4. 处理的主要前端逻辑:生成推文,复制推文。重新生成推文是:
这是简单的“服务器端” html,tailwindcss 组件:
import { RiTwitterXLine } from "react-icons/ri";
import InteractiveForm from "./components/InteractiveForm";
export default function Home() {
  return (
    
       
      
        Idea to tweet in seconds.
        Tweet Craft is your superhuman tweet-writing expert.
         
      
    
  );
}处理所有推文生成、复制、重新生成的主要部分是“客户端组件”,即:
'use client';
import { useState } from 'react';
import { BsArrowRightCircle } from "react-icons/bs";
export default function InteractiveForm() {
  const [tweet, setTweet] = useState(null);
  const [loading, setLoading] = useState(false);
  const handleSubmit = async (e: any) => {
    e.preventDefault();
    const description = e.target.description.value;
    setLoading(true);
    const response = await fetch('/api/submit', {
      method: 'POST',
      headers: {
        'Content-Type': 'application/json',
      },
      body: JSON.stringify({ description }),
    });
    const result = await response.json();
    setLoading(false);
    if (result.tweet) {
      setTweet(result.tweet);
    } else {
      console.error('Error:', result.error);
    }
  };
  const handleCopy = () => {
    if (tweet) {
      navigator.clipboard.writeText(tweet);
      alert('Tweet copied to clipboard!');
    }
  };
  const handleRegenerate = async () => {
    if (tweet) {
      setLoading(true);
      const description = tweet;
      const response = await fetch('/api/submit', {
        method: 'POST',
        headers: {
          'Content-Type': 'application/json',
        },
        body: JSON.stringify({ description }),
      });
      const result = await response.json();
      setLoading(false);
      if (result.tweet) {
        setTweet(result.tweet);
      }
    }
  };
  return (
    
      
      {tweet && (
        
          {tweet}
          
            
            
          
        
      )}
      {loading && (
        
          Generating tweet...
        
      )}
    
  );
} 您可以使用 Tailwind 类轻松更改颜色、间距和其他设计元素。
5.运行项目
现在,是时候运行你的项目了:
npm run dev
在浏览器中打开 `http://localhost:3000`,你就会看见类似 Twitter 的帖子动态!🎉
为仓库做出贡献💻
我很想看看你能用这个项目构建什么!请随意分叉此存储库、创建问题,甚至提交拉取请求。让我们一起让这个项目更加强大!
比如嵌入 twitter api、添加建议按钮功能等。
在这里查看 GitHub 存储库🚀:
Jagroop2001 / tweet-craft
Tweet Craft 是一款使用 Next.js 构建的 AI 应用,可根据用户描述生成推文。通过使用 Gemini 的 API,该应用可让用户根据自己的输入轻松制作推文,非常适合那些寻求快速且富有创意的社交媒体内容的人。
推特工艺
Tweet Craft 是一款使用 Next.js 构建的 AI 应用,可根据用户描述生成推文。通过使用 Gemini 的 API,该应用可让用户根据自己的输入轻松制作推文,非常适合那些寻求快速且富有创意的社交媒体内容的人
视频链接:https://vimeo.com/1043260556?share=copy
特征
安装
先决条件
入门步骤
祝您编码愉快,祝您 2025 年过得愉快!🎉 让我们一起创造更多酷炫的东西吧!
🚀 **保持联系并关注我的旅程!** 🌟
👉 在 Twitter 上关注我🐦
👉 查看我的 GitHub 💻