How to Generate Images from Text Prompts
Validated on 10 Apr 2026 • Last edited on 16 Apr 2026
DigitalOcean Gradient™ AI Inference Hub provides a single control plane for managing inference workflows. It includes a Model Catalog where you can view available foundation models, including both DigitalOcean-hosted and third-party commercial models, compare capabilities and pricing, and run inference using serverless or dedicated deployments. DigitalOcean Gradient AI Inference Hub is in private preview. You can contact support for questions or assistance.
The following cURL, Python OpenAI, Gradient Python SDK, and PyDo examples show how to generate an image from a text prompt. Include your model access key and the following in your request:
-
model: The model ID of the image generation model you want to use. Get the model ID using/v1/modelsor on the available models page. -
prompt: The text prompt to generate the image from. -
n: The number of images to generate. Must be between 1 and 10. -
size: The desired dimensions of the generated image. Supported values are256x256,512x512, and1024x1024.
Make sure to always specify n and size when generating images.
Send a POST request to the /v1/images/generations endpoint using your model access key.
The following example request sends a prompt to the openai-gpt-image-1 model to generate an image of a baby sea otter floating on its back in calm blue water, with an image size of 1024x1024:
curl -X POST https://inference.do-ai.run/v1/images/generations \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $MODEL_ACCESS_KEY" \
-d '{
"model": "openai-gpt-image-1",
"prompt": "A cute baby sea otter floating on its back in calm blue water",
"n": 1,
"size": "1024x1024"
}'The response includes a JSON object with a Base64 image string and other details such as image format and tokens used:
{
"background": "opaque",
"created": 1770659857,
"data": [
{
"b64_json": "iVBORw0KGgoAAAANSUhEU...
}
],
"output_format": "png",
"quality": "medium",
"size": "1024x1024",
"usage": {
"input_tokens": 20,
"input_tokens_details": {
"text_tokens": 20
},
"output_tokens": 1056,
"total_tokens": 1076
}
}If you want to save the image as a file, pipe the image string to a file using jq and base64:
curl -X POST https://inference.do-ai.run/v1/images/generations \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $MODEL_ACCESS_KEY" \
-d '{
"model": "openai-gpt-image-1",
"prompt": "A cute baby sea otter floating on its back in calm blue water",
"n": 1,
"size": "1024x1024"
}' | jq -r '.data[0].b64_json' | base64 --decode > sea_otter.pngAn image named sea_otter.png is created in your current directory after a few seconds.
from openai import OpenAI
from dotenv import load_dotenv
import os, base64
load_dotenv()
client = OpenAI(
base_url="https://inference.do-ai.run/v1/",
api_key=os.getenv("MODEL_ACCESS_KEY"),
)
result = client.images.generate(
model="openai-gpt-image-1",
prompt="A cute baby sea otter, children’s book drawing style",
size="1024x1024",
n=1
)
b64 = result.data[0].b64_json
with open("sea_otter.png", "wb") as f:
f.write(base64.b64decode(b64))
print("Saved sea_otter.png")from gradient import Gradient
from dotenv import load_dotenv
import os, base64
load_dotenv()
client = Gradient(model_access_key=os.getenv("MODEL_ACCESS_KEY"))
result = client.images.generations.create(
model="openai-gpt-image-1",
prompt="A cute baby sea otter, children's book drawing style",
size="1024x1024",
n=1
)
b64 = result.data[0].b64_json
with open("sea_otter.png", "wb") as f:
f.write(base64.b64decode(b64))
print("Saved sea_otter.png")from pydo import Client
from dotenv import load_dotenv
import os, base64
load_dotenv()
client = Client(token=os.getenv("MODEL_ACCESS_KEY"))
result = client.inference.create_image(
body={
"model": "openai-gpt-image-1",
"prompt": "A cute baby sea otter, children's book drawing style",
"size": "1024x1024",
"n": 1,
}
)
b64 = result["data"][0]["b64_json"]
with open("sea_otter.png", "wb") as f:
f.write(base64.b64decode(b64))
print("Saved sea_otter.png")