Integrate Stable Diffusion into your applications and projects with ease. This comprehensive documentation provides an overview of the API, along with clear, step-by-step instructions and best practices, allowing you to leverage Stable Diffusion’s powerful image generation capabilities in your app or software.
To access this API, you must subscribe and obtain a Subscription Key. Include this key in your request header to authenticate and gain access.
Content-Type | Set to application/json |
---|---|
Cache-Control | Recommended to set to no-cache |
Ocp-Apim-Subscription-Key | YOUR_SUBSCRIPTION_KEY |
Base URL: https://gateway.appypie.com/getImage/v1/getSDXLImage
API Parameters: The API POST- https://gateway.appypie.com/getImage/v1/getSDXLImage takes the following parameters:
Parameter | Required | Type | Description |
prompt | Yes | string | Provide a text prompt that guides the AI model on the type of content to generate. For example: “women’s street skateboarding final at the 2024 Paris Olympics.” |
negative_prompt | No | string | Negative prompts are instructions to an AI model, specifying elements or styles to avoid in the generated content. For instance: "Generate an image of a city skyline, but exclude any clouds or tall trees in the background." |
height | No | Number, default 1024 | The height in pixels of the generated image. This is set to 1024 by default for the best results. Anything below 512 pixels won’t work well. |
width | No | Number, default 1024 | The width in pixels of the generated image. This is set to 1024 by default for the best results. |
num_inference_steps | No | Number, default 20, Maximum 20 | The number of denoising steps. More denoising steps usually lead to a higher-quality image at the expense of slower inference. |
guidance_scale | No | float, default 5.0 | Guidance scale is enabled by setting guidance_scale > 1. A higher guidance scale encourages generating images closely linked to the text prompt, usually at the expense of lower image quality. |
seed | No | 42 | The seed is used to reproduce results. Providing the same seed will yield the same image each time. Use “null” for a random number seed. |
JSON
{ "prompt": "High-resolution, realistic image of a red fox sitting gracefully in a lush, green forest during springtime. The fox's fur should be detailed with natural colors, showcasing its reddish-brown coat and white underbelly. The background should be soft-focused, filled with green foliage and a few wildflowers, creating a serene and peaceful atmosphere. Sunlight should filter through the trees, casting gentle dappled light on the fox.", "negative_prompt": "Low-quality, blurry image, with any other animals. Avoid abstract or cartoonish styles, dark or gloomy atmosphere, unnecessary objects or distractions in the background, harsh lighting, and unnatural colors.", "height": 1024, "width": 1024, "num_steps": 20, "guidance_scale": 5, "seed": 40 }
POST https://gateway.appypie.com/getImage/v1/getSDXLImage HTTP/1.1 Content-Type: application/json Cache-Control: no-cache { "prompt": "High-resolution, realistic image of a red fox sitting gracefully in a lush, green forest during springtime. The fox's fur should be detailed with natural colors, showcasing its reddish-brown coat and white underbelly. The background should be soft-focused, filled with green foliage and a few wildflowers, creating a serene and peaceful atmosphere. Sunlight should filter through the trees, casting gentle dappled light on the fox.", "negative_prompt": "Low-quality, blurry image, with any other animals. Avoid abstract or cartoonish styles, dark or gloomy atmosphere, unnecessary objects or distractions in the background, harsh lighting, and unnatural colors.", "height": 1024, "width": 1024, "num_steps": 20, "guidance_scale": 5, "seed": 40 }
import urllib.request, json try: url = "https://gateway.appypie.com/getImage/v1/getSDXLImage" hdr ={ # Request headers 'Content-Type': 'application/json', 'Cache-Control': 'no-cache', } # Request body data = data = json.dumps(data) req = urllib.request.Request(url, headers=hdr, data = bytes(data.encode("utf-8"))) req.get_method = lambda: 'POST' response = urllib.request.urlopen(req) print(response.getcode()) print(response.read()) except Exception as e: print(e)
// Request body const body = { "prompt": "High-resolution, realistic image of a red fox sitting gracefully in a lush, green forest during springtime. The fox's fur should be detailed with natural colors, showcasing its reddish-brown coat and white underbelly. The background should be soft-focused, filled with green foliage and a few wildflowers, creating a serene and peaceful atmosphere. Sunlight should filter through the trees, casting gentle dappled light on the fox.", "negative_prompt": "Low-quality, blurry image, with any other animals. Avoid abstract or cartoonish styles, dark or gloomy atmosphere, unnecessary objects or distractions in the background, harsh lighting, and unnatural colors.", "height": 1024, "width": 1024, "num_steps": 20, "guidance_scale": 5, "seed": 40 }; fetch('https://gateway.appypie.com/getImage/v1/getSDXLImage', { method: 'POST', body: JSON.stringify(body), // Request headers headers: { 'Content-Type': 'application/json', 'Cache-Control': 'no-cache',} }) .then(response => { console.log(response.status); console.log(response.text()); }) .catch(err => console.error(err));
curl -v -X POST "https://gateway.appypie.com/getImage/v1/getSDXLImage" -H "Content-Type: application/json" -H "Cache-Control: no-cache" --data-raw "{ \"prompt\": \"High-resolution, realistic image of a red fox sitting gracefully in a lush, green forest during springtime. The fox's fur should be detailed with natural colors, showcasing its reddish-brown coat and white underbelly. The background should be soft-focused, filled with green foliage and a few wildflowers, creating a serene and peaceful atmosphere. Sunlight should filter through the trees, casting gentle dappled light on the fox.\", \"negative_prompt\": \"Low-quality, blurry image, with any other animals. Avoid abstract or cartoonish styles, dark or gloomy atmosphere, unnecessary objects or distractions in the background, harsh lighting, and unnatural colors.\", \"height\": 1024, \"width\": 1024, \"num_steps\": 20, \"guidance_scale\": 5, \"seed\": 40 }"
import java.io.BufferedReader; import java.io.InputStreamReader; import java.net.HttpURLConnection; import java.net.URL; import java.net.URLEncoder; import java.util.HashMap; import java.util.Map; import java.io.UnsupportedEncodingException; import java.io.DataInputStream; import java.io.InputStream; import java.io.FileInputStream; public class HelloWorld { public static void main(String[] args) { try { String urlString = "https://gateway.appypie.com/getImage/v1/getSDXLImage"; URL url = new URL(urlString); HttpURLConnection connection = (HttpURLConnection) url.openConnection(); //Request headers connection.setRequestProperty("Content-Type", "application/json"); connection.setRequestProperty("Cache-Control", "no-cache"); connection.setRequestMethod("POST"); // Request body connection.setDoOutput(true); connection .getOutputStream() .write( "{ \"prompt\": \"High-resolution, realistic image of a red fox sitting gracefully in a lush, green forest during springtime. The fox's fur should be detailed with natural colors, showcasing its reddish-brown coat and white underbelly. The background should be soft-focused, filled with green foliage and a few wildflowers, creating a serene and peaceful atmosphere. Sunlight should filter through the trees, casting gentle dappled light on the fox.\", \"negative_prompt\": \"Low-quality, blurry image, with any other animals. Avoid abstract or cartoonish styles, dark or gloomy atmosphere, unnecessary objects or distractions in the background, harsh lighting, and unnatural colors.\", \"height\": 1024, \"width\": 1024, \"num_steps\": 20, \"guidance_scale\": 5, \"seed\": 40 }".getBytes() ); int status = connection.getResponseCode(); System.out.println(status); BufferedReader in = new BufferedReader( new InputStreamReader(connection.getInputStream()) ); String inputLine; StringBuffer content = new StringBuffer(); while ((inputLine = in.readLine()) != null) { content.append(inputLine); } in.close(); System.out.println(content); connection.disconnect(); } catch (Exception ex) { System.out.print("exception:" + ex.getMessage()); } } }
$url = "https://gateway.appypie.com/getImage/v1/getSDXLImage"; $curl = curl_init($url); curl_setopt($curl, CURLOPT_CUSTOMREQUEST, "POST"); curl_setopt($curl, CURLOPT_URL, $url); curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); # Request headers $headers = array( 'Content-Type: application/json', 'Cache-Control: no-cache',); curl_setopt($curl, CURLOPT_HTTPHEADER, $headers); # Request body $request_body = '{ "prompt": "High-resolution, realistic image of a red fox sitting gracefully in a lush, green forest during springtime. The fox's fur should be detailed with natural colors, showcasing its reddish-brown coat and white underbelly. The background should be soft-focused, filled with green foliage and a few wildflowers, creating a serene and peaceful atmosphere. Sunlight should filter through the trees, casting gentle dappled light on the fox.", "negative_prompt": "Low-quality, blurry image, with any other animals. Avoid abstract or cartoonish styles, dark or gloomy atmosphere, unnecessary objects or distractions in the background, harsh lighting, and unnatural colors.", "height": 1024, "width": 1024, "num_steps": 20, "guidance_scale": 5, "seed": 40 }'; curl_setopt($curl, CURLOPT_POSTFIELDS, $request_body); $resp = curl_exec($curl); curl_close($curl); var_dump($resp);
JSON
HTTP/1.1 200 OK { "imageUrl": "https://pub-582b7213209642b9b995c96c95a30381.r2.dev/sdxl_lightning/prompt-910739568-1725430070244-272448.png" }
The Stable Diffusion API returns specific HTTP status codes and response bodies to indicate the success or failure of a request. Developers should implement error handling in their applications to manage these responses effectively.
Status Code | Description | Response Body |
200 | Success - The request was successfully processed, and the image generation is in progress or completed. | { "msg": "Image Getting Created", ... } |
400 | Bad Request - The request contains invalid parameters or missing fields. | { "error": "Invalid request parameters" } |
401 | Unauthorized - The provided subscription key is missing or invalid. | { "error": "Invalid or missing authentication" } |
403 | Forbidden - The subscription does not have access to this API or action. | { "error": "Access denied for this operation" } |
404 | Not Found - The requested resource or endpoint could not be found. | { "error": "Endpoint not found" } |
429 | Too Many Requests - The request rate limit has been exceeded. | { "error": "Rate limit exceeded, please retry later" } |
500 | Internal Server Error - An unexpected error occurred on the server. | { "error": "An unexpected error occurred, please try again later" } |
{ "error": "Invalid prompt parameter" }
This documentation provides all the necessary information for effectively using the Stable Diffusion API. Make sure to replace YOUR_API_KEY with the actual key you received when you subscribed to the service.