gemini_box 0.0.1
gemini_box: ^0.0.1 copied to clipboard
'A gemini AI provider based on ai_box.'
Gemini Box #
Overview #
Gemini Box is a wrapper library for easily using the Gemini API, Google Cloud Platform (GCP)'s Generative AI API, in Dart. This package is used within the Coin Galaxy project and enables efficient communication with Gemini AI models.
Features #
- Support for the latest Gemini AI models (Gemini 1.0, 1.5, 2.0, 2.5, etc.)
- Text generation, image understanding, embedding generation, and other capabilities
- File upload and file management support
- Compatible with various Gemini model versions
- Flexible request configuration options
Usage #
import 'package:gemini_box/gemini_box.dart';
void main() async {
// Initialize Gemini instance with API key
final gemini = Gemini(apiKey: 'YOUR_API_KEY');
// Create request
final requestBody = RequestBody(
contents: [
Content(
parts: [
Part(text: 'Hello, Gemini!'),
],
),
],
generationConfig: GenerationConfig(
temperature: 0.7,
maxOutputTokens: 1000,
),
);
// Generate content
final response = await gemini.generateContent(
model: GeminiVersions.gemini15Pro.version,
requestBody: requestBody,
);
// Handle response
print(response.candidates?.first.content?.parts?.first);
}
Working with Images #
import 'dart:convert';
import 'dart:io';
import 'package:gemini_box/gemini_box.dart';
void main() async {
// Load image file
final imageFile = File('path/to/image.jpg');
final imageBytes = await imageFile.readAsBytes();
final base64Image = base64Encode(imageBytes);
// Initialize Gemini instance
final gemini = Gemini(apiKey: 'YOUR_API_KEY');
// Generate content with inline image
final response = await gemini.generateContent(
model: GeminiVersions.gemini20FlashLite.version,
requestBody: RequestBody(
contents: [
Content(
parts: [
Part(inlineData: Blob(
mimeType: 'image/jpeg',
data: base64Image,
)),
Part(text: 'Please describe this image.'),
],
),
],
),
);
// Display result
print(response.candidates?.first.content?.parts?.first);
}
Supported Models #
This library supports numerous Gemini model versions, including:
- Gemini 1.0 Pro Vision
- Gemini 1.5 Pro
- Gemini 1.5 Flash
- Gemini 2.0 Flash
- Gemini 2.5 Flash Preview
- And many others
Installation #
Add the dependency to your pubspec.yaml
file:
dependencies:
gemini_box: ^1.0.0
Then install the package:
dart pub get
License #
This project is provided under the MIT License.