Doubleword
    Vision-Language
    Open Weights
    140+ Languages

    Gemma-3-12B

    A lightweight, state-of-the-art multimodal model from Google featuring advanced reasoning, image understanding, and a massive 128K context window.

    Total Parameters

    12B

    Context Window

    128K

    Tokens

    Modalities

    Text & Image

    Max Output

    8,192

    Tokens

    About

    Accessible Multimodal Innovation

    Gemma 3 12B is a state-of-the-art open multimodal model from Google, built upon the same pioneering research as the Gemini models. As the second largest in the Gemma 3 family, it is trained on 12 trillion tokens and handles both text and image inputs to generate high-quality text output. Featuring an expansive 128K context window, native support for over 140 languages, and advanced function calling, its optimized size allows it to be deployed efficiently on diverse infrastructures while democratizing access to cutting-edge AI.

    I
    T
    I
    T
    I

    Multimodal 12B — Text & Image

    Use Cases

    Built for accessible multimodal intelligence

    Image Data Extraction

    Extract, interpret, and summarize complex visual data from images (normalized to 896 × 896 resolution) for seamless text-based communication and analysis.

    Conversational AI & Creation

    Power conversational interfaces, virtual assistants, and chatbots, or generate creative formats like code, marketing copy, and structured outputs.

    Long-Form Summarization

    Leverage the massive 128K context window to ingest research papers, extensive reports, and large text corpora, generating concise and accurate summaries.

    Research & Education

    Serve as a foundational tool for NLP/VLM research, build interactive language learning experiences across 140+ languages, and assist in deep knowledge exploration.

    Benchmarks

    Multimodal Capabilities

    Baseline performance across reasoning, coding, and agentic workflows for the 12B weight class.

    8.8

    Intelligence Index

    Better than 11% of models

    35

    GPQA Diamond

    Better than 28% of models

    11

    τ²-Bench Telecom

    Better than 18% of models

    Category Benchmark Score Description
    Reasoning GPQA Diamond 35% Graduate-level scientific reasoning
    Reasoning τ²-Bench Telecom 11% AI agents in dual-control scenarios
    Reasoning IFBench 37% Instruction-following accuracy
    Coding SciCode 17% Python for scientific computing
    Knowledge AA-Omniscience Accuracy 10% Proportion of correctly answered questions

    Metrics sourced from Artificial Analysis. Hallucination Rate: 2.9%

    Pricing

    Flexible Pricing Tiers

    Choose the optimal balance of speed and cost for your workflow. Prices are per 1M tokens.

    Tier Input / 1M tokens Output / 1M tokens
    Standard (Overnight) $0.02 $0.20
    Async $0.03 $0.30

    Context window natively supported up to 128k tokens.

    Quickstart

    Start Building in Minutes

    Gemma-3-12B is accessible via OpenAI-compatible endpoints. Here is how to integrate it using the standard Python SDK via Doubleword.ai.

    Developer Tip: Multimodal Inputs

    Gemma 3 supports vision-language inputs. When passing images to the model, they are normalized to 896 × 896 resolution and encoded to 256 tokens each within your request payload.

    Python
    from openai import OpenAI
    
    client = OpenAI(
        api_key="your-api-key-here",
        base_url="https://api.doubleword.ai/v1"
    )
    
    # Step 1: Upload a batch input file
    with open("batch_requests.jsonl", "rb") as file:
        batch_file = client.files.create(
            file=file,
            purpose="batch"
        )
    
    print(f"File ID: {batch_file.id}")
    
    # Step 2: Create a batch job
    batch = client.batches.create(
        input_file_id=batch_file.id,
        endpoint="/v1/chat/completions",
        completion_window="24h"
    )
    
    print(f"Batch ID: {batch.id}")
    
    # Step 3: Check batch status
    batch_status = client.batches.retrieve(batch.id)
    print(f"Status: {batch_status.status}")