Add dungeon game code.
This commit is contained in:
@@ -0,0 +1,12 @@
|
||||
"""AI Mastered Dungeon Extraction Game scenes illustrator package."""
|
||||
|
||||
from .illustrator_dalle_2 import draw as draw_dalle_2
|
||||
from .illustrator_dalle_3 import draw as draw_dalle_3
|
||||
from .illustrator_gemini import draw as draw_gemini
|
||||
from .illustrator_gpt import draw as draw_gpt
|
||||
from .illustrator_grok import draw as draw_grok
|
||||
from .illustrator_grok import draw_x as draw_grok_x
|
||||
|
||||
|
||||
__all__ = ['draw_dalle_2', 'draw_dalle_3', 'draw_gemini',
|
||||
'draw_gpt', 'draw_grok', 'draw_grok_x']
|
||||
@@ -0,0 +1,30 @@
|
||||
"""AI Mastered Dungeon Extraction Game scenes illustrator using OpenAI's DALL·E 3."""
|
||||
|
||||
import base64
|
||||
from io import BytesIO
|
||||
|
||||
from dotenv import load_dotenv
|
||||
from openai import OpenAI
|
||||
from PIL import Image
|
||||
|
||||
|
||||
# Environment initialization.
|
||||
load_dotenv(override=True)
|
||||
|
||||
# Define global defaults.
|
||||
MODEL = 'dall-e-2'
|
||||
|
||||
# Client instantiation.
|
||||
CLIENT = OpenAI()
|
||||
|
||||
|
||||
# Function definition.
|
||||
def draw(prompt, size=(1024, 1024), client=CLIENT, model=MODEL, quality=None):
|
||||
"""Generate an image based on the prompt."""
|
||||
# Generate image.
|
||||
response = client.images.generate(
|
||||
model=model, prompt=prompt, n=1,
|
||||
size=f'{size[0]}x{size[1]}',
|
||||
response_format='b64_json')
|
||||
# Process response.
|
||||
return Image.open(BytesIO(base64.b64decode(response.data[0].b64_json)))
|
||||
@@ -0,0 +1,32 @@
|
||||
"""AI Mastered Dungeon Extraction Game scenes illustrator using OpenAI's DALL·E 3."""
|
||||
|
||||
import base64
|
||||
from io import BytesIO
|
||||
|
||||
from dotenv import load_dotenv
|
||||
from openai import OpenAI
|
||||
from PIL import Image
|
||||
|
||||
|
||||
# Environment initialization.
|
||||
load_dotenv(override=True)
|
||||
|
||||
# Define global defaults.
|
||||
MODEL = 'dall-e-3'
|
||||
QUALITY = 'standard' # Set to 'hd' for more quality, but double the costs.
|
||||
|
||||
# Client instantiation.
|
||||
CLIENT = OpenAI()
|
||||
|
||||
|
||||
# Function definition.
|
||||
def draw(prompt, size=(1024, 1024), client=CLIENT, model=MODEL, quality=QUALITY):
|
||||
"""Generate an image based on the prompt."""
|
||||
# Generate image.
|
||||
response = client.images.generate(
|
||||
model=model, prompt=prompt, n=1,
|
||||
size=f'{size[0]}x{size[1]}',
|
||||
quality=quality,
|
||||
response_format='b64_json')
|
||||
# Process response.
|
||||
return Image.open(BytesIO(base64.b64decode(response.data[0].b64_json)))
|
||||
@@ -0,0 +1,36 @@
|
||||
"""AI Mastered Dungeon Extraction Game scenes illustrator using Google's Gemini."""
|
||||
|
||||
from io import BytesIO
|
||||
|
||||
from dotenv import load_dotenv
|
||||
from google import genai # New Google's SDK 'genai' to replace 'generativeai'.
|
||||
from PIL import Image
|
||||
|
||||
|
||||
# Environment initialization.
|
||||
load_dotenv(override=True)
|
||||
|
||||
# Define globals.
|
||||
MODEL = 'gemini-2.5-flash-image-preview'
|
||||
|
||||
# Client instantiation.
|
||||
CLIENT = genai.Client()
|
||||
|
||||
|
||||
# Function definition.
|
||||
def draw(prompt, size=(1024, 1024), client=CLIENT, model=MODEL):
|
||||
"""Generate an image based on the prompt."""
|
||||
# Generate image.
|
||||
response = client.models.generate_content(
|
||||
model=model, contents=[prompt])
|
||||
# Process response.
|
||||
for part in response.candidates[0].content.parts:
|
||||
if part.text is not None:
|
||||
print(part.text)
|
||||
elif part.inline_data is not None:
|
||||
image_data = part.inline_data.data
|
||||
# Open the generated image.
|
||||
generated_image = Image.open(BytesIO(image_data))
|
||||
# Resize the image to the specified dimensions.
|
||||
resized_image = generated_image.resize(size)
|
||||
return resized_image
|
||||
@@ -0,0 +1,32 @@
|
||||
"""AI Mastered Dungeon Extraction Game scenes illustrator using OpenAI's GPT."""
|
||||
|
||||
import base64
|
||||
from io import BytesIO
|
||||
|
||||
from dotenv import load_dotenv
|
||||
from openai import OpenAI
|
||||
from PIL import Image
|
||||
|
||||
|
||||
# Environment initialization.
|
||||
load_dotenv(override=True)
|
||||
|
||||
# Define global defaults.
|
||||
MODEL = 'gpt-image-1'
|
||||
QUALITY = 'low'
|
||||
|
||||
# Client instantiation.
|
||||
CLIENT = OpenAI()
|
||||
|
||||
|
||||
# Function definition.
|
||||
def draw(prompt, size=(1024, 1024), client=CLIENT, model=MODEL, quality=QUALITY):
|
||||
"""Generate an image based on the prompt."""
|
||||
# Generate image.
|
||||
response = client.images.generate(
|
||||
model=model, prompt=prompt, n=1,
|
||||
size=f'{size[0]}x{size[1]}',
|
||||
output_format='png',
|
||||
quality=quality)
|
||||
# Process response.
|
||||
return Image.open(BytesIO(base64.b64decode(response.data[0].b64_json)))
|
||||
@@ -0,0 +1,47 @@
|
||||
"""AI Mastered Dungeon Extraction Game scenes illustrator using xAI's Grok."""
|
||||
|
||||
import base64
|
||||
import os
|
||||
from io import BytesIO
|
||||
|
||||
from dotenv import load_dotenv
|
||||
from openai import OpenAI
|
||||
from PIL import Image
|
||||
from xai_sdk import Client
|
||||
|
||||
|
||||
# Environment initialization.
|
||||
load_dotenv(override=True)
|
||||
|
||||
# Define global defaults.
|
||||
MODEL = 'grok-2-image'
|
||||
QUALITY = None
|
||||
|
||||
# Client instantiation.
|
||||
XAI_API_KEY = os.getenv('XAI_API_KEY')
|
||||
CLIENT = OpenAI(api_key=XAI_API_KEY, base_url="https://api.x.ai/v1")
|
||||
|
||||
|
||||
# Function definition.
|
||||
def draw(prompt, size=(1024, 1024), client=CLIENT, model=MODEL, quality=QUALITY):
|
||||
"""Generate an image based on the prompt."""
|
||||
# Generate image.
|
||||
response = client.images.generate(
|
||||
model=model, prompt=prompt, n=1,
|
||||
response_format='b64_json')
|
||||
# Process response.
|
||||
return Image.open(BytesIO(base64.b64decode(response.data[0].b64_json)))
|
||||
|
||||
|
||||
# xAI SDK Version:
|
||||
CLIENT_X = Client(api_key=XAI_API_KEY)
|
||||
|
||||
|
||||
def draw_x(prompt, size=(1024, 1024), client=CLIENT_X, model=MODEL, quality=QUALITY):
|
||||
"""Generate an image based on the prompt."""
|
||||
# Generate image.
|
||||
response = client.image.sample(
|
||||
model=model, prompt=prompt,
|
||||
image_format='base64')
|
||||
# Process response.
|
||||
return Image.open(BytesIO(response.image))
|
||||
Reference in New Issue
Block a user