import base64, requests
# Fetch the image and convert to a Data URI in one shot
url = "https://upload.wikimedia.org/wikipedia/commons/3/3f/Crystal_Project_bug.png"
img = requests.get(url).content
data_uri = f"data:image/png;base64,{base64.b64encode(img).decode()}"
completion = openai.chat.completions.create(
model="meta-llama/llama-3.2-11b-instruct/fp-16",
messages=[
{
"role": "system",
"content": "Generate an alt text caption. Respond in JSON format.",
},
{
"role": "user",
"content": [
{"type": "image_url", "image_url": {"url": data_uri}},
],
},
],
response_format={
"type": "json_schema",
"json_schema": {
"name": "caption",
"strict": True,
"schema": {
"type": "object",
"properties": {
"alt_text": {"type": "string"},
},
"required": ["alt_text"],
"additionalProperties": False,
},
},
},
)
print(completion.choices[0].message.content)