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
- OpenAI
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"
}'
from openai import OpenAI
client = openai.OpenAI(
api_key="sk-1234",
base_url="http://0.0.0.0:4000"
)
image = client.images.generate(
prompt="A cute baby sea otter",
model="dall-e-3",
)
print(image)
Input Params für litellm.image_generation()​
Alle nicht-OpenAI-Parameter werden als anbieterspezifische Parameter behandelt und als kwargs an den Anbieter gesendet.
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-1n: 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,mediumundlowsind fürgpt-image-1unterstützt.hdundstandardsind fürdall-e-3unterstützt.standardist die einzige Option fürdall-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 von1024x1024,1536x1024(Querformat),1024x1536(Hochformat) oderauto(Standardwert) fürgpt-image-1, eines von256x256,512x512oder1024x1024fürdall-e-2und eines von1024x1024,1792x1024oder1024x1792fürdall-e-3sein.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 sollapi_version: string (optional) - (Azure-spezifisch) die API-Version für den Aufruf; erforderlich für dall-e-3 auf Azureapi_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")
| Modellname | Funktionsaufruf | Erforderliche OS-Variablen |
|---|---|---|
| gpt-image-1 | image_generation(model='gpt-image-1', prompt="niedlicher Babyotter") | os.environ['OPENAI_API_KEY'] |
| dall-e-3 | image_generation(model='dall-e-3', prompt="niedlicher Babyotter") | os.environ['OPENAI_API_KEY'] |
| dall-e-2 | image_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)
| Modellname | Funktionsaufruf |
|---|---|
| gpt-image-1 | image_generation(model="azure/<your deployment name>", prompt="niedlicher Babyotter") |
| dall-e-3 | image_generation(model="azure/<your deployment name>", prompt="niedlicher Babyotter") |
| dall-e-2 | image_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}")