🎨 Hvordan Generere Bilder med OpenAI's gpt-image-1
Hvis du noen gang har ønsket å omdanne en historie eller en idé til en visuell scene ved hjelp av AI, gjør OpenAI’s nye gpt-image-1
modell det lettere og mer kraftfullt enn noensinne. Her er hvordan vi bruker det i vårt eget prosjekt, StoryGPT, for å lage vakre illustrasjoner fra tekst—og til og med forbedre dem med karakterbilder.
🖼️ Steg 1: Forbered Ditt Prompt
Akkurat som GPT tekstmodeller, trenger gpt-image-1
et beskrivende prompt. For eksempel:
En koselig skoghytte ved solnedgang, glødende vinduer, omgitt av høye trær.
Jo bedre ditt prompt er, jo bedre blir bildet. Legg til stemning, tid på dagen, stil—hva som helst som betyr noe.
🧙♂️ Steg 2: Legg Til Enhetsbilder (Valgfritt men Fantastisk)
La oss si at du allerede har et karakterbilde (f.eks. en hund med en hatt). Du kan laste det opp som base64 og bruke det som et visuell referanse.
Så kan du utvide det slik:
"Legg til følgende til bildet: hunden har et rødt skjerf og står på to ben."
Slik bygger modellen på toppen av det originale bildet i stedet for å starte fra bunnen av.
📦 Steg 3: Kall APIet
Det er to moduser:
🧠 Bare tekstprompt:
client.images.generate(
model="gpt-image-1",
prompt="En futuristisk bysilhuett om natten med flygende biler",
size="1024x1024",
quality="low",
n=1
)
🖼️ Rediger med bildeinnganger (som å legge til til karakterer):
httpx.post(
"https://api.openai.com/v1/images/edits",
headers={"Authorization": f"Bearer {API_KEY}"},
data={
"prompt": "Legg til magisk glødende øyne til karakteren",
"model": "gpt-image-1",
"size": "1024x1024",
"quality": "low"
},
files=[("image[]", ("dog.png", open("dog.png", "rb"), "image/png"))]
)
Resultatet vil inkludere et base64-bilde du kan vise, lagre eller lagre på disk.
✅ Det Var Det!
Du kan nå generere visuelle bilder for karakterene dine, innstillingene eller hele scener. I StoryGPT bruker vi dette for å bringe genererte fortellinger til liv—karakter for karakter, side for side.
Prøv det selv og gi historiene dine et ansikt!
🧪 Fullt Arbeids Eksempel – Bildegenerering med gpt-image-1
Dette skriptet krever:
openai
pakken (pip install openai
)httpx
for sending av multipart bildeopplastinger (pip install httpx
)- En OpenAI API-nøkkel i miljøet ditt som
OPENAI_API_KEY
import os
import base64
import httpx
from openai import OpenAI
## Sørg for at dette er satt i miljøet ditt
OPENAI_API_KEY = os.environ["OPENAI_API_KEY"]
## Enkel bilde generering ved hjelp av bare et tekstprompt
def generate_image_from_prompt(prompt: str):
client = OpenAI()
response = client.images.generate(
model="gpt-image-1",
prompt=prompt,
size="1024x1024",
quality="low",
n=1,
)
image_b64 = response.data[0].b64_json
save_image(image_b64, "image_text_only.png")
## Bilde generering ved hjelp av et opplastet base64-bilde og et forbedret prompt
def generate_image_with_entity(image_path: str, prompt: str):
with open(image_path, "rb") as f:
image_bytes = f.read()
files = [
("image[]", (os.path.basename(image_path), image_bytes, "image/png"))
]
data = {
"prompt": prompt,
"model": "gpt-image-1",
"size": "1024x1024",
"quality": "low",
}
headers = {
"Authorization": f"Bearer {OPENAI_API_KEY}",
}
response = httpx.post(
"https://api.openai.com/v1/images/edits",
headers=headers,
data=data,
files=files,
timeout=60,
)
if response.status_code != 200:
raise Exception(f"Bildegenerering feilet: {response.text}")
image_b64 = response.json()["data"][0]["b64_json"]
save_image(image_b64, "image_with_entity.png")
def save_image(image_b64: str, filename: str):
os.makedirs("out_images", exist_ok=True)
path = os.path.join("out_images", filename)
with open(path, "wb") as f:
f.write(base64.b64decode(image_b64))
print(f"✅ Lagret bilde til: {path}")
if __name__ == "__main__":
# Modus 1: Generere fra prompt
print("🔮 Genererer fra bare prompt...")
generate_image_from_prompt("Et eventyrslott på en flytende øy under en lilla himmel")
# Modus 2: Generere fra prompt + enhetsbilde
print("🖼️ Genererer med enhetsreferanse...")
generate_image_with_entity(
image_path="dog.png", # erstatte med ditt faktiske bilde
prompt="Legg til et rødt skjerf og en monokkel til hunden"
)
🧠 Oppsummering
generate_image_from_prompt(...)
→ trenger bare tekstgenerate_image_with_entity(...)
→ inkluderer ditt tilpassede karakter- eller referansebilde- Resultater lagres i
out_images/
mappen