Shots Studio Documentation

Welcome to the complete documentation for Shots Studio, your AI-powered screenshot management solution.

Getting Started

Shots Studio is an Android application that uses artificial intelligence to help you organize, search, and manage your screenshots. This guide will walk you through everything you need to know to get started.

What You'll Need

  • Android device running Android 8.0 (API level 26) or higher
  • Google Gemini API key (free to obtain)
  • Storage permissions for accessing screenshots
  • Internet connection for AI processing

Installation

Download the APK

  1. Visit the Releases page on GitHub
  2. Download the latest shots-studio-v1.x.x.apk file
  3. On your Android device, enable "Install from unknown sources" in Settings
  4. Open the downloaded APK file to install
⚠️ Security Notice

Only download APK files from official sources. Always verify the file integrity before installation.

First Launch

When you first launch Shots Studio, you'll be prompted to:

  • Grant storage permissions
  • Allow the app to access your device's screenshots
  • Set up your Gemini API key

API Setup

Getting Your Gemini API Key

  1. Visit Google AI Studio
  2. Sign in with your Google account
  3. Click "Create API Key"
  4. Copy the generated API key

Configuring the API Key in Shots Studio

  1. Open Shots Studio
  2. Tap the menu icon (☰) in the top-left corner
  3. Select "Settings" → "API Key"
  4. Paste your API key and tap "Save"
// Example API key format: AIzaSyBxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
💡 Privacy Note

Your API key is stored locally on your device and is only used to communicate with Google's Gemini API. Shots Studio never stores your data on external servers.

Features Guide

AI-Powered Analysis

Shots Studio uses Google's Gemini AI to analyze your screenshots and extract:

  • Text content - OCR extraction from images
  • Object detection - Identifying elements in screenshots
  • Context understanding - Understanding the purpose and content
  • Smart tags - Automatic categorization and tagging

Processing Screenshots

  1. Tap the AI ⚡️ button in the top-right corner
  2. Select screenshots to process (or process all)
  3. Choose your AI model:
    • Gemini 2.0 Flash - Fast processing, good for bulk operations
    • Gemini 2.5 Pro - Detailed analysis, better for complex screenshots
  4. Wait for processing to complete

Collections

Creating Collections

Collections help you group related screenshots for easy access:

  1. Tap the "+" button on the main screen
  2. Select "Create Collection"
  3. Enter a name and description
  4. Optionally enable "Auto-Add" for automatic population

Auto-Add Feature

When Auto-Add is enabled, new screenshots matching the collection criteria will be automatically added. The AI determines relevance based on:

  • Collection name and description
  • Existing screenshots in the collection
  • Content similarity analysis

Managing Collections

  • Add screenshots - Long-press screenshots and select "Add to Collection"
  • Remove screenshots - In collection view, long-press and select "Remove"
  • Edit collection - Tap the edit icon in collection header
  • Delete collection - In collection settings, tap "Delete Collection"

Settings

API Configuration

  • API Key - Manage your Gemini API key
  • Default Model - Choose between Flash and Pro models
  • Processing Quality - Adjust image quality for API calls

Storage & Performance

  • Cache Management - Clear processed data cache
  • Thumbnail Quality - Adjust thumbnail generation settings
  • Background Processing - Enable processing in background

Privacy Settings

  • Data Retention - How long to keep processed data
  • Analytics - Anonymous usage analytics (opt-in)
  • Crash Reporting - Help improve the app

Troubleshooting

Common Issues

API Key Not Working

  • Verify the API key is correctly copied (no extra spaces)
  • Check that Gemini API is enabled in Google Cloud Console
  • Ensure you have sufficient API quota

Screenshots Not Processing

  • Check internet connection
  • Verify storage permissions are granted
  • Try processing smaller batches
  • Check API usage limits

App Crashing

  • Clear app cache in Android settings
  • Restart the app
  • Check available device storage
  • Update to latest version

Performance Optimization

  • Process screenshots in smaller batches
  • Use Gemini Flash for bulk operations
  • Clear cache periodically
  • Close other apps while processing

API Reference

Gemini API Integration

Shots Studio integrates with Google's Gemini API for AI processing. Here's how the integration works:

// API Endpoint POST https://generativelanguage.googleapis.com/v1beta/models/gemini-pro-vision:generateContent // Request Headers Content-Type: application/json Authorization: Bearer YOUR_API_KEY // Request Body Example { "contents": [{ "parts": [ { "text": "Analyze this screenshot and extract text content, identify objects, and suggest relevant tags." }, { "inline_data": { "mime_type": "image/jpeg", "data": "base64_encoded_image_data" } } ] }] }

Response Format

The API returns structured data that Shots Studio processes to extract:

  • Extracted text content
  • Identified objects and UI elements
  • Suggested tags and categories
  • Content description and context

Contributing

Development Setup

  1. Clone the repository:
    git clone https://github.com/yourusername/shots-studio.git
  2. Install Flutter SDK (version 3.10 or higher)
  3. Install dependencies:
    flutter pub get
  4. Run the app:
    flutter run

Project Structure

lib/ ├── main.dart # App entry point ├── models/ # Data models │ ├── screenshot_model.dart │ ├── collection_model.dart │ └── gemini_model.dart ├── screens/ # UI screens │ ├── home_screen.dart │ ├── search_screen.dart │ └── settings_screen.dart ├── services/ # Business logic │ ├── gemini_service.dart │ ├── storage_service.dart │ └── notification_service.dart └── widgets/ # Reusable UI components

Contributing Guidelines

  • Fork the repository and create a feature branch
  • Follow the existing code style and conventions
  • Add tests for new functionality
  • Update documentation as needed
  • Submit a pull request with detailed description

Reporting Issues

Found a bug or have a feature request? Please:

  1. Check existing issues first
  2. Provide detailed reproduction steps
  3. Include device and Android version info
  4. Attach relevant screenshots or logs

Need more help? Contact our support team or open an issue on GitHub.