Zum Hauptinhalt springen

Bildgenerierung

Schnellstart​

LiteLLM Python SDK​

from litellm import image_generation
import os

# set api keys
os.environ["OPENAI_API_KEY"] = ""

response = image_generation(prompt="A cute baby sea otter", model="dall-e-3")

print(f"response: {response}")

LiteLLM Proxy​

Setup config.yaml​

model_list:
- model_name: gpt-image-1 ### RECEIVED MODEL NAME ###
litellm_params: # all params accepted by litellm.image_generation()
model: azure/gpt-image-1 ### MODEL NAME sent to `litellm.image_generation()` ###
api_base: https://my-endpoint-europe-berri-992.openai.azure.com/
api_key: "os.environ/AZURE_API_KEY_EU" # does os.getenv("AZURE_API_KEY_EU")

Proxy starten​

litellm --config /path/to/config.yaml 

# RUNNING on http://0.0.0.0:4000

Testen​

curl -X POST 'http://0.0.0.0:4000/v1/images/generations' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer sk-1234' \
-D '{
"model": "gpt-image-1",
"prompt": "A cute baby sea otter",
"n": 1,
"size": "1024x1024"
}'

Input Params für litellm.image_generation()​

Info

Alle nicht-OpenAI-Parameter werden als anbieterspezifische Parameter behandelt und als kwargs an den Anbieter gesendet.

Siehe Reserved Params

Erforderliche Felder​

  • prompt: string - Eine Textbeschreibung des/der gewünschten Bilder.

Optionale LiteLLM-Felder​

model: Optional[str] = None,
n: Optional[int] = None,
quality: Optional[str] = None,
response_format: Optional[str] = None,
size: Optional[str] = None,
style: Optional[str] = None,
user: Optional[str] = None,
timeout=600, # default to 10 minutes
api_key: Optional[str] = None,
api_base: Optional[str] = None,
api_version: Optional[str] = None,
litellm_logging_obj=None,
custom_llm_provider=None,
  • model: string (optional) Das zu verwendende Modell für die Bildgenerierung. Standardmäßig openai/gpt-image-1

  • n: int (optional) Die Anzahl der zu generierenden Bilder. Muss zwischen 1 und 10 liegen. Für dall-e-3 ist nur n=1 unterstützt.

  • quality: string (optional) Die Qualität des zu generierenden Bildes.

    • auto (Standardwert) wählt automatisch die beste Qualität für das gegebene Modell aus.
    • high, medium und low sind für gpt-image-1 unterstützt.
    • hd und standard sind für dall-e-3 unterstützt.
    • standard ist die einzige Option für dall-e-2.
  • response_format: string (optional) Das Format, in dem die generierten Bilder zurückgegeben werden. Muss eines von url oder b64_json sein.

  • size: string (optional) Die Größe der generierten Bilder. Muss eines von 1024x1024, 1536x1024 (Querformat), 1024x1536 (Hochformat) oder auto (Standardwert) für gpt-image-1, eines von 256x256, 512x512 oder 1024x1024 für dall-e-2 und eines von 1024x1024, 1792x1024 oder 1024x1792 für dall-e-3 sein.

  • timeout: integer - Die maximale Zeit in Sekunden, die auf die Antwort der API gewartet wird. Standardmäßig 600 Sekunden (10 Minuten).

  • user: string (optional) Eine eindeutige Kennung, die Ihren Endbenutzer repräsentiert,

  • api_base: string (optional) - Endpunkt der API, mit dem das Modell aufgerufen werden soll

  • api_version: string (optional) - (Azure-spezifisch) die API-Version für den Aufruf; erforderlich für dall-e-3 auf Azure

  • api_key: string (optional) - Der API-Schlüssel zur Authentifizierung und Autorisierung von Anfragen. Wenn nicht angegeben, wird der Standard-API-Schlüssel verwendet.

  • api_type: string (optional) - Der zu verwendende API-Typ.

Ausgabe von litellm.image_generation()​


{
"created": 1703658209,
"data": [{
'b64_json': None,
'revised_prompt': 'Adorable baby sea otter with a coat of thick brown fur, playfully swimming in blue ocean waters. Its curious, bright eyes gleam as it is surfaced above water, tiny paws held close to its chest, as it playfully spins in the gentle waves under the soft rays of a setting sun.',
'url': 'https://oaidalleapiprodscus.blob.core.windows.net/private/org-ikDc4ex8NB5ZzfTf8m5WYVB7/user-JpwZsbIXubBZvan3Y3GchiiB/img-dpa3g5LmkTrotY6M93dMYrdE.png?st=2023-12-27T05%3A23%3A29Z&se=2023-12-27T07%3A23%3A29Z&sp=r&sv=2021-08-06&sr=b&rscd=inline&rsct=image/png&skoid=6aaadede-4fb3-4698-a8f6-684d7786b067&sktid=a48cca56-e6da-484e-a814-9c849652bcb3&skt=2023-12-26T13%3A22%3A56Z&ske=2023-12-27T13%3A22%3A56Z&sks=b&skv=2021-08-06&sig=hUuQjYLS%2BvtsDdffEAp2gwewjC8b3ilggvkd9hgY6Uw%3D'
}],
"usage": {'prompt_tokens': 0, 'completion_tokens': 0, 'total_tokens': 0}
}

OpenAI Bildgenerierungsmodelle​

Verwendung​

from litellm import image_generation
import os
os.environ['OPENAI_API_KEY'] = ""
response = image_generation(model='gpt-image-1', prompt="cute baby otter")
ModellnameFunktionsaufrufErforderliche OS-Variablen
gpt-image-1image_generation(model='gpt-image-1', prompt="niedlicher Babyotter")os.environ['OPENAI_API_KEY']
dall-e-3image_generation(model='dall-e-3', prompt="niedlicher Babyotter")os.environ['OPENAI_API_KEY']
dall-e-2image_generation(model='dall-e-2', prompt="niedlicher Babyotter")os.environ['OPENAI_API_KEY']

Azure OpenAI Bildgenerierungsmodelle​

API-Schlüssel​

Dies kann als Umgebungsvariable gesetzt oder als Parameter für litellm.image_generation() übergeben werden

import os
os.environ['AZURE_API_KEY'] =
os.environ['AZURE_API_BASE'] =
os.environ['AZURE_API_VERSION'] =

Verwendung​

from litellm import embedding
response = embedding(
model="azure/<your deployment name>",
prompt="cute baby otter",
api_key=api_key,
api_base=api_base,
api_version=api_version,
)
print(response)
ModellnameFunktionsaufruf
gpt-image-1image_generation(model="azure/<your deployment name>", prompt="niedlicher Babyotter")
dall-e-3image_generation(model="azure/<your deployment name>", prompt="niedlicher Babyotter")
dall-e-2image_generation(model="azure/<your deployment name>", prompt="niedlicher Babyotter")

OpenAI-kompatible Bildgenerierungsmodelle​

Verwenden Sie dies für Aufrufe von /image_generation Endpunkten auf OpenAI-kompatiblen Servern, Beispiel https://github.com/xorbitsai/inference

Hinweis: Fügen Sie das Präfix openai/ zum Modell hinzu, damit litellm weiß, dass es an OpenAI weiterleiten soll.

Verwendung​

from litellm import image_generation
response = image_generation(
model = "openai/<your-llm-name>", # add `openai/` prefix to model so litellm knows to route to OpenAI
api_base="http://0.0.0.0:8000/" # set API Base of your Custom OpenAI Endpoint
prompt="cute baby otter"
)

Bedrock - Stable Diffusion​

Verwenden Sie dies für Stable Diffusion auf Bedrock.

Verwendung​

import os
from litellm import image_generation

os.environ["AWS_ACCESS_KEY_ID"] = ""
os.environ["AWS_SECRET_ACCESS_KEY"] = ""
os.environ["AWS_REGION_NAME"] = ""

response = image_generation(
prompt="A cute baby sea otter",
model="bedrock/stability.stable-diffusion-xl-v0",
)
print(f"response: {response}")

VertexAI - Bildgenerierungsmodelle​

Verwendung​

Verwenden Sie dies für Bildgenerierungsmodelle auf VertexAI.

response = litellm.image_generation(
prompt="An olympic size swimming pool",
model="vertex_ai/imagegeneration@006",
vertex_ai_project="adroit-crow-413218",
vertex_ai_location="us-central1",
)
print(f"response: {response}")