Image Generation

Image generation uses an async pattern. POST to generate, then poll until the status is success.

POST https://api.nova.ai/api/v1/model/generateImage

Parameters

modelstringrequired

Image model ID, e.g. "black-forest-labs/flux-dev"

promptstringrequired

Text description of the image to generate.

widthinteger

Image width in pixels. Defaults to 1024.

heightinteger

Image height in pixels. Defaults to 1024.

stepsinteger

Number of inference steps. Higher = better quality, slower. Defaults to 28.

seedinteger

Random seed for reproducible generations.

image_urlstring

Reference image URL for image-to-image generation.

Example

python
import requests, time

headers = {"Authorization": "Bearer nova-YOUR_API_KEY"}

# Start generation
resp = requests.post(
    "https://api.nova.ai/api/v1/model/generateImage",
    headers=headers,
    json={
        "model": "black-forest-labs/flux-dev",
        "prompt": "A majestic dragon over snow-capped mountains at sunset",
        "width": 1024,
        "height": 1024,
    }
)
prediction_id = resp.json()["id"]

# Poll until done
while True:
    result = requests.get(
        f"https://api.nova.ai/api/v1/model/prediction/{prediction_id}",
        headers=headers,
    ).json()
    if result["status"] == "success":
        print(result["results"][0]["data"][0]["outputs"][0]["url"])
        break
    elif result["status"] == "failed":
        raise Exception("Generation failed")
    time.sleep(2)