Genkit is Google's open-source framework for building full-stack, AI-powered and agentic applications for any platform
Get started with just a few lines of code.
import { genkit } from 'genkit';import { googleAI } from '@genkit-ai/google-genai';
const ai = genkit({ plugins: [googleAI()] });
const { text } = await ai.generate({ model: googleAI.model('gemini-3-flash-preview'), prompt: 'Why is Genkit awesome?'});import ( "context" "log"
"github.com/firebase/genkit/go/ai" "github.com/firebase/genkit/go/genkit" "github.com/firebase/genkit/go/plugins/googlegenai")
func main() { ctx := context.Background() g := genkit.Init(ctx, genkit.WithPlugins(&googlegenai.GoogleAI{}))
resp, err := genkit.Generate(ctx, g, ai.WithPrompt("Why is Genkit awesome?"), ai.WithModelName("googleai/gemini-3-flash-preview"), ) if err != nil { log.Fatal(err) }
log.Println(resp.Text())}from genkit.ai import Genkitfrom genkit.plugins.google_genai import GoogleAI
ai = Genkit( plugins=[GoogleAI()],)
response = await ai.generate( model='googleai/gemini-3-flash-preview', prompt='Why is Genkit awesome?')print(response.text)import 'package:genkit/genkit.dart';import 'package:genkit_google_genai/genkit_google_genai.dart';
void main() async { final ai = Genkit(plugins: [googleAI()]);
final response = await ai.generate( model: googleAI.gemini('gemini-2.5-flash'), prompt: 'Why is Genkit awesome?', );
print(response.text);}The fastest way to build, test, and deploy real AI
features into your apps.
Structure chat, RAG, tool use, and agents with built-in primitives.
Learn more →Local dev, debugging UI, and deployment to Firebase, Cloud Run, or your stack.
Learn more →Run, debug and observe your AI workflows from the local developer UI.
Choose your SDK language and provider (e.g. GoogleAI, OpenAI).
Define prompts, flows, and tools in code.
Use the Genkit CLI and Developer UI to inspect behaviour.
Run on Firebase, Cloud Run, or your own infrastructure.
See how Genkit works with Firebase, Angular, Next.js and more in production-ready apps, with pre-built demos and code you can reuse.