Ana içeriğe atla

Imagen 3: Gemini API’de Örneklerle Bir Kılavuz

Python ile Google’ın Imagen 3 API’sini kullanarak görseller oluşturmayı, ortam kurulumunu ve en-boy oranı ile güvenlik filtreleri gibi seçenekleri ayarlamayı öğrenin.
Güncel 3 Eki 2026  · 12 dk. oku

Yapay Zeka ile Keşfedin

ChatGPTClaudePerplexity

Imagen 3, farklı stillerde ayrıntılı sahneleri doğru bir şekilde üretebilen ve görsellerin içine metin dahi yerleştirebilen bir metinden-görüntüye üretim modelidir; bu da onu reklam ve medya içerik üretimi gibi uygulamalar için uygun kılar. 

Imagen 3’ü Vertex AI Studio arayüzü üzerinden kullanabilir veya bir API ile doğrudan uygulamalara entegre edebiliriz.

Bu eğitimde, Google Generative API’yi Python ile kullanarak Imagen 3 ile nasıl görsel üreteceğinizi açıklayacağım. Ortamı nasıl kuracağınızı, gerekli kodu nasıl yazacağınızı ve bu teknolojiyi projelerinize nasıl entegre edeceğinizi gösteren pratik örnekler üzerinden ilerleyeceğim. İster uygulamalarınızı dinamik görsellerle zenginleştirmek isteyin ister sadece merakınızı gidermek isteyin, bu rehber Imagen 3’ü programatik olarak anlamak ve kullanmak için doğrudan bir yol sunacaktır.

Yapay Zeka Uygulamaları Geliştirin

OpenAI API'sını kullanarak AI uygulamaları oluşturmayı öğrenin.
Ücretsiz Olarak Beceri Geliştirmeye Başlayın

Google Generative AI API’sini Kurma

Python’da Imagen 3 ile çalışmaya başlamak için birkaç temel adım izlememiz gerekiyor. İlk olarak bir Google Cloud projesi oluşturacağız. Projemiz hazır olduğunda bir API anahtarı üretmemiz gerekecek. Bu anahtar, Python kodumuzun Imagen 3 servisiyle iletişim kurmasını sağlar.

Google Cloud projesi oluşturma

Google’ın AI API’sini kullanmak için ilk adım bir Google Cloud projesi oluşturmaktır. Süreci birlikte adım adım inceleyelim:

  1. Google Cloud konsoluna erişin: Google Cloud Console’a giderek başlayalım. Google hesabınızla oturum açmanız gerekecek.
  2. Proje seçin veya yeni bir proje oluşturun: Konsolda üst gezinme çubuğundaki proje açılır menüsünü bulun. Buna tıklamak, mevcut bir projeyi seçme veya yeni bir tane oluşturma seçeneklerini gösterir. Devam etmek için “New Project” seçeneğini tercih ediyoruz.
  3. Proje ayrıntılarını girin: Basit bir form temel bilgileri isteyecektir. Proje için herhangi bir ad seçebiliriz; ancak açıklayıcı bir isim seçmek faydalıdır. Gerekirse daha sonra değiştirilebilir. Biz Imagen-tutorial kullanacağız. Organization alanı boş bırakılabilir.

Imagen 3 için bir Google Cloud projesi kurma

API anahtarı oluşturma

Google Cloud projesi oluşturulduğuna göre, Google AI Studio’da API key sayfasına giderek bir API anahtarı oluşturabiliriz.

Anahtarı oluşturmak için “Create API key” düğmesine tıklayın:

Google Cloud konsolunda API anahtarı oluşturma

Açılan pencerede yukarıda oluşturduğumuz projenin adını yazın, seçin ve “Create API key in existing project” seçeneğine tıklayın:

Google Cloud’da belirli bir proje için API anahtarı oluşturma

Anahtarı kopyalayın ve Python betiğini yazacağımız aynı klasörde .env adlı bir dosya oluşturun. .env dosyasının içeriği şöyle olmalıdır:

GEMINI_API_KEY=<paste_your_key_here>

Faturalandırma hesabı

API anahtarını şimdi kullanmayı denersek, “Imagen API is only accessible to billed users at this time.” şeklinde bir hata alırız. Bunun nedeni API’nin ücretsiz olmaması ve kullanmadan önce projeyle bir faturalandırma hesabı ilişkilendirmemiz gerekmesidir.

Bu yazı yazılırken, Imagen 3 ile bir görsel oluşturmanın fiyatı 0,03 $. Daha fazla bilgi için fiyatlandırma sayfalarına bakın.

Bir faturalandırma hesabı eklemek için Google AI Studio’da API anahtarının yanındaki “Set up Billing” düğmesine tıklayın.

google cloud’da faturalandırma hesabı kurma

Bu işlem bizi Google Cloud web sitesine yönlendirecek; burada “Link a billing account” ile mevcut bir faturalandırma hesabını seçebilir veya “Manage billing accounts” ile yeni bir hesap oluşturabilirsiniz.

google cloud projelerinde faturalandırma hesabı oluşturma

Diyelim ki hesabımız yok; bu durumda “Manage billing accounts” ile ilerliyoruz. Sayfanın sol üstünde “Create account” düğmesi var. Hesabı oluşturmak için kişisel bilgilerinizi ve ödemeleri işlemek üzere bir kredi kartı bilgisi girmeniz gerekecek.

Python ile Imagen 3 Kullanarak Görsel Oluşturma

Anaconda ile ortam kurulumu

Bu eğitimde, paket yönetimini ve proje kurulumunu kolaylaştırarak Python betiklerini çalıştırmayı basitleştiren popüler bir platform olan Anaconda’yı kullanıyoruz.

Anaconda’yı resmî web sitelerinden kurabiliriz.

Anaconda ortamını kurmak için bir terminal açın ve:

  • Bir ortam oluşturun: conda create -n imagen python=3.9. Bu komut, imagen adlı ve Python 3.9 kullanan bir ortam oluşturur.
  • Ortamı etkinleştirin: conda activate imagen.
  • Google generative AI paketini kurun: pip install -q -U google-genai.
  • Oluşturulan görselleri işlemek için bir görüntü işleme paketi kurun: pip install pillow.
  • API anahtarını yüklemek için bir paket kurun: pip install python-dotenv

Paketleri Anaconda kullanmadan doğrudan da kurabiliriz; ancak mevcut paketlerin bazılarıyla yeni paketlerin çakışma riski vardır veya Python kurulumumuz farklı bir Python sürümü kullanıyor olabilir. Anaconda, bu olası sorunları önlemeye yardımcı olur.

İlk görselimizi oluşturma

Artık Imagen 3’ü kullanmaya hazırız. Örneğin gen_image.py adında, .env dosyasıyla aynı klasörde bir Python betiği oluşturun.

Önce gerekli paketleri içe aktarıyoruz:

# Google generative AI:
from google import genai
from google.genai import types

# Packages to process the generated image:
from PIL import Image
from io import BytesIO

# Packages to load the .env file:
import os
from dotenv import load_dotenv

Sonra, API anahtarını .env dosyasından yüklüyoruz:

load_dotenv()
api_key = os.getenv("GEMINI_API_KEY")

Ardından Google generative AI istemcisini başlatıyoruz. Bu nesne, Google API ile iletişim kurmamıza olanak tanır:

client = genai.Client(api_key=api_key)

Bir görsel üretmek için client.models.generate_images() fonksiyonunu kullanıyoruz:

prompt="""
A dog surfing at the beach
"""
response = client.models.generate_images(
    model="imagen-3.0-generate-002",
    prompt=prompt,
    config=types.GenerateImagesConfig(
        number_of_images=1,
    )
)

Son olarak, Image nesnesini kullanarak oluşturulan görseli görüntülüyoruz:

for generated_image in response.generated_images:
  image = Image.open(BytesIO(generated_image.image.image_bytes))
  image.show()

İşte sonuç:

Imagen 3 ile ilk görselimizi oluşturma

Metin üretimi

Imagen 3’ün diğer metinden-görüntüye modellerle karşılaştırıldığında ilginç özelliklerinden biri metin üretebilmesidir. Bunu, taze çay yapraklarıyla “Tea” kelimesini oluşturmasını isteyerek deneyelim:

prompt="""
Word "tea" made from fresh tea leaves, white background
"""
response = client.models.generate_images(
    model="imagen-3.0-generate-002",
    prompt=prompt,
)

İşte sonuç:

Imagen 3 ile metin üretimi

Imagen 3 ile Görsel Oluşturma Seçenekleri

Görsel oluşturma seçenekleri types.GenerateImagesConfig ile sağlanır. Yukarıdaki örnekte yalnızca üretilecek görsel sayısını belirttik:

config=types.GenerateImagesConfig(
    number_of_images=1,
)

Bu bölümde, Imagen 3 API’sinin sunduğu diğer seçenekleri inceliyoruz. Daha fazla bilgi için resmî dokümantasyona bakın.

Birden çok görsel oluşturma

number_of_images parametresiyle tek bir istemden birden fazla görsel üretebiliriz. Varsayılan olarak dört görsel üretilir.

Bir çizgi roman için iki görsel üretmeyi deneyelim.

prompt="""
Single comic book panel of two people overlooking a destroyed city. 
A speech bubble points from one of them and says: I guess this is the end.
"""
response = client.models.generate_images(
    model="imagen-3.0-generate-002",
    prompt=prompt,
    config=types.GenerateImagesConfig(
        number_of_images=2,
    )
)

İşte sonuç:

Imagen 3 ile bir çizgi roman için birden fazla görsel oluşturma

Bu, görsellerde metin üretmenin bir başka örneği. Soldaki görselde istenmeyen fazladan metin olsa da, birden fazla görsel üretebilme sayesinde istenen çıktıyı elde etme şansımızı artırabiliriz. Sağdaki görsel istemimize neredeyse tamamen uyuyor.

En-boy oranını kontrol etme

Varsayılan olarak oluşturulan görseller 1:1 en-boy oranına sahip karedir. Model şu en-boy oranlarını destekler: 1:1, 3:4, 4:3, 9:16 ve 16:9.

Bir telefon arka planı olarak kullanmak için 9:16 bir görsel üretelim:

prompt="""
A drone shot of a river flowing between mountains with a stormy sky.
"""
response = client.models.generate_images(
    model="imagen-3.0-generate-002",
    prompt=prompt,
    config=types.GenerateImagesConfig(
        aspect_ratio="9:16",
    )
)

İşte sonuç:

Imagen 3 ile 9:16 en-boy oranında görsel oluşturma

Güvenlik seviyesi filtresi

Dokümantasyonda, görsel filtreleme seviyesini belirtmek için safety_filter_level kullanabileceğimiz belirtiliyor. Oluşturulan her görsel, güvensiz olma olasılığını (örneğin, uygunsuz içerik) ölçen bir olasılık puanı alır. 

Güvenlik seviyesi filtresini ayarlamak önemlidir; çünkü bu, oluşturulan içeriğin uygun olmasını ve kullanıcı tercihleriyle uyumlu kalmasını sağlayarak çeşitli uygulamalar için güvenli ve saygılı bir ortam yaratmaya yardımcı olur.

Dokümantasyona göre üç seviye desteklenir:

  • BLOCK_LOW_AND_ABOVE: Düşük olasılık puanında bile görseli engelle.
  • BLOCK_MEDIUM_AND_ABOVE : Yalnızca orta ve yüksek olasılık puanlarına sahip görselleri engelle.
  • BLOCK_ONLY_HIGH : Yalnızca yüksek olasılık puanına sahip görselleri engelle.

Ancak yaptığımız denemelerden sonra, API’nin artık yalnızca BLOCK_LOW_AND_ABOVE seçeneğini desteklediğini gördük. Başka bir seçenek vermek hatayla sonuçlanıyor.

Kişi oluşturma

Modelin insanları üretmesine izin verilip verilmeyeceğini person_generation seçeneğiyle kontrol edebiliriz. İki seçenek sunar:

  • DONT_ALLOW: İnsan bulunan görseller engellenir.
  • ALLOW_ADULT: İnsan (yalnızca yetişkin) içeren görsellerin üretilmesine izin verir.

Varsayılan seçenek, insanlara izin vermektir. Örneğin, seçeneği insanlara izin vermeyecek şekilde ayarlayıp yemek pişiren birinin görselini üretmeyi denersek, hiçbir görsel alamayız.

prompt="""
A person cooking.
"""
response = client.models.generate_images(
    model="imagen-3.0-generate-002",
    prompt=prompt,
    config=types.GenerateImagesConfig(
        person_generation="DONT_ALLOW",
    )
)
print(response.generated_images)

Çıktı şöyle olacaktır:

None

Imagen 3 için İyi İstem Yazma

Resmî dokümantasyon, Imagen 3 için kapsamlı bir istem kılavuzu sunuyor; bu nedenle burada tekrar etmeyeceğim. İyi bir istem hazırlamak için temel fikirler şunlardır:

  • İstem yazımının temelleri:
    • Konu: Betimlemek istediğiniz ana nesneye, kişiye veya sahneye odaklanın.
    • Bağlam ve arka plan: Konunun yer aldığı ortamı veya çevreyi tanımlayın.
    • Stil: İstediğiniz sanatsal veya fotoğrafik stili belirtin (ör. eskiz, resim, fotoğraf).
  • Açıklayıcı dil kullanın: İstenen çıktıyı netleştirmek için ayrıntılı sıfatlar ve bağlam kullanın.
  • Belirli stillere atıf yapın: Estetiği yönlendirmek için tanınmış sanatçılardan veya sanat akımlarından yararlanın.
  • Görsellerde metin: Metni 25 karakter veya daha azıyla sınırlayın ve ek bilgi sağlamak için belirgin ifadeler kullanın.
  • İstem parametrizasyonu: Aynı stilde birden fazla görsel üretmemiz gerekiyorsa, yeniden kullanılabilir bir istem şablonu oluşturmak ve yalnızca değişen kısmı girdi olarak vermek iyi bir fikirdir.
  • Fotoğrafçılık: Sonucu etkilemek için kamera ayarlarını, lens türlerini ve ışıklandırmayı belirtin.
  • Sanat: “... resmi” gibi tanımlayıcılar veya “... sulu boya resmi” gibi belirli teknikler kullanın.
  • Görüntü Kalitesi Değiştiricileri: “high-quality” veya “4K” gibi anahtar kelimeler kullanarak çıktının kalitesini artırın.
  • Fotogerçekçi Görseller: Gerçekçiliği artırmak için lens türü ve odak uzaklığı gibi teknik ayrıntıları ekleyin.

Görsel Düzenleme ve Özelleştirme

Imagen 3, görselleri düzenleme ve özelleştirme yeteneklerine de sahiptir. Ne yazık ki bu özellikler hâlâ kilitli ve yalnızca belirli kullanıcılara açıktır.

Örneğin özelleştirme özelliği, bir istemden referans bir görseli özelleştirmemize olanak tanır. Örnek olarak bir kadının fotoğrafı verilmiş ve istem, aynı kişinin portakallar tuttuğu bir görsele dönüştürmüştür.

imagen 3’te görsel özelleştirme örneği

Bu özellikler ve erişim talep formu hakkında daha fazla bilgi web sitelerinde bulunabilir.

Sonuç

Bu eğitimde, Python ve Google’ın Generative API’sini kullanarak Imagen 3 ile nasıl görseller oluşturulacağını öğrendik. Genel olarak, API ile yaptığım denemelerde elde ettiğim çıktılardan memnun kaldım. Sonuçların yüksek kaliteli olduğunu ve daha az yapay zekâ izi içerdiğini, bu nedenle gerçek görsellerden ayırt etmenin daha zorlaştığını düşünüyorum.

Görsellerde metinle çalışabilmek, marka oluşturma ve pazarlama için kullanışlı. Genel olarak bu modelin iyi performans gösterdiğini düşünüyorum. Keşke tüm özellikleri açık olsaydı; çünkü bence görsel düzenleme, görsel oluşturmadan bile daha kullanışlı.


François Aubry's photo
Author
François Aubry
LinkedIn
CheapGPT’te full-stack mühendisi ve kurucuyum. Öğretmek her zaman tutkum oldu. Öğrencilik yıllarımdan itibaren diğer öğrencilere ders verme ve yardımcı olma fırsatlarını hevesle aradım. Bu tutku beni doktora yapmaya yönlendirdi; bu süreçte akademik çalışmalarımı desteklemek için araştırma görevlisi olarak da görev aldım. O yıllarda, geleneksel sınıf ortamında bağlar kurmaktan ve öğrenmeyi kolaylaştırmaktan büyük bir tatmin duydum. Ancak çevrim içi öğrenme platformlarının ortaya çıkmasıyla birlikte dijital eğitimin dönüştürücü potansiyelini fark ettim. Nitekim üniversitemizde bu tür bir platformun geliştirilmesinde aktif rol aldım. Geleneksel öğretim ilkelerini yenilikçi dijital yöntemlerle bütünleştirmeye derinden bağlıyım. Tutkum, yalnızca ilgi çekici ve bilgilendirici olmakla kalmayan, aynı zamanda bu dijital çağdaki öğrenenler için erişilebilir kurslar tasarlamaktır.
Konular
Yapay Zeka
Büyük Dil Modelleri

Bu kurslarla yapay zekâ öğrenin!

Program

Yapay Zeka Uygulamaları Geliştirme

21 sa
OpenAI API, Hugging Face ve LangChain dahil olmak üzere en yeni yapay zeka geliştirici araçlarıyla yapay zeka destekli uygulamalar oluşturmayı öğrenin.
Ayrıntıları GörüntüleRight Arrow
Kursa Başla
Devamını GörRight Arrow
İlgili

blog

Hızlı Sevkiyat İçin Pratik Vibe Kodlama Teknoloji Yığını

Ön uç, arka uç, veritabanları, kimlik doğrulama, depolama, e-posta, test, dağıtım ve izleme için en iyi araçları keşfedin.
Abid Ali Awan's photo

Abid Ali Awan

14 dk.

blog

2026’da En Popüler 40 Yazılım Mühendisi Mülakat Sorusu

Algoritmalar, sistem tasarımı ve davranışsal senaryoları kapsayan bu temel sorularla teknik mülakat sürecine hakim olun. Uzman cevapları, kod örnekleri ve kanıtlanmış hazırlık stratejileri edinin.
Dario Radečić's photo

Dario Radečić

15 dk.

Eğitim

Python'da Listeyi String'e Nasıl Dönüştürürsünüz

Bu hızlı eğitimde, Python'da bir listeyi string'e nasıl dönüştüreceğinizi öğrenin.
Adel Nehme's photo

Adel Nehme

Eğitim

.gitignore Nasıl Kullanılır: Örneklerle Pratik Bir Giriş

Git deponuzu temiz tutmak için .gitignore’u nasıl kullanacağınızı öğrenin. Bu eğitim; temelleri, yaygın kullanım durumlarını ve başlamanıza yardımcı olacak pratik örnekleri kapsar!
Kurtis Pykes 's photo

Kurtis Pykes

8 dk.

Devamını GörDevamını Gör