Transform Your Images with the Abdullah Makhdoom Diffusion Model Actions

24 Apr 2025
Transform Your Images with the Abdullah Makhdoom Diffusion Model Actions

In the realm of image processing, the abdullahmakhdoom/diffusers-txtnimg2img API provides powerful Cognitive Actions that allow developers to alter images using descriptive prompts through advanced diffusion models. This integration can enhance applications across various domains, from creative design to automated image editing, making it easier to generate stunning visuals with minimal effort.

Prerequisites

Before diving into the Cognitive Actions, ensure you have the following:

  • An API key for the Cognitive Actions platform, which you will use to authenticate your requests.
  • Basic knowledge of JSON and Python, as these will be used to structure your API calls.

Authentication is typically done by passing your API key in the headers of your requests, enabling secure access to the actions.

Cognitive Actions Overview

Transform Image Using Diffusion Model

The Transform Image Using Diffusion Model action allows you to modify an input image based on a descriptive prompt. This action supports various scheduling algorithms and customization options for quality and control, making it a versatile tool for image transformation.

Input

The input for this action is a JSON object that requires the following fields:

  • image (required): The URI of the initial image to generate variations from.
  • seed (optional): A random seed for generating variations; leave blank to use a random seed.
  • width (optional): The output image width in pixels (default is 512).
  • height (optional): The output image height in pixels (default is 512).
  • prompt (optional): A descriptive input prompt to guide the image generation (default is "A fantasy landscape, trending on artstation").
  • scheduler (optional): The scheduling algorithm for the image generation process (default is "DPMSolverMultistep").
  • guidanceScale (optional): Scale for classifier-free guidance (default is 7.5).
  • negativePrompt (optional): Input prompt that guides what NOT to generate (ignored when not using guidance).
  • promptStrength (optional): Strength of the input prompt's effect (default is 0.8).
  • numberOfOutputs (optional): Number of output images (default is 1, maximum is 8).
  • numberOfInferenceSteps (optional): Total number of denoising steps used (default is 25).

Here's an example of the input JSON payload:

{
  "image": "https://replicate.delivery/pbxt/JHT88iNscz4MMEmzE5FE5Il5cFOjlVKKgNJ752VdONnDwoE6/mars_landscape.jpeg",
  "width": 512,
  "height": 512,
  "prompt": "A Vincent Van Gogh's starry nights landscape of plant mars",
  "scheduler": "DPMSolverMultistep",
  "guidanceScale": 7.5,
  "promptStrength": 0.8,
  "numberOfOutputs": 1,
  "numberOfInferenceSteps": 25
}

Output

Upon executing this action, you will receive a JSON response containing the URLs of the generated output images. Here’s an example of the expected output:

[
  "https://assets.cognitiveactions.com/invocations/236e0074-3f8b-4282-b993-34404b142084/6c3119da-f5f0-4209-86a6-422988fa18c6.png"
]

Conceptual Usage Example (Python)

Here’s a conceptual Python code snippet demonstrating how you might call the Cognitive Actions execution endpoint for this image transformation:

import requests
import json

# Replace with your Cognitive Actions API key and endpoint
COGNITIVE_ACTIONS_API_KEY = "YOUR_COGNITIVE_ACTIONS_API_KEY"
COGNITIVE_ACTIONS_EXECUTE_URL = "https://api.cognitiveactions.com/actions/execute"  # Hypothetical endpoint

action_id = "e113561a-1f7d-4d8a-801e-d13220365fe6"  # Action ID for Transform Image Using Diffusion Model

# Construct the input payload based on the action's requirements
payload = {
    "image": "https://replicate.delivery/pbxt/JHT88iNscz4MMEmzE5FE5Il5cFOjlVKKgNJ752VdONnDwoE6/mars_landscape.jpeg",
    "width": 512,
    "height": 512,
    "prompt": "A Vincent Van Gogh's starry nights landscape of plant mars",
    "scheduler": "DPMSolverMultistep",
    "guidanceScale": 7.5,
    "promptStrength": 0.8,
    "numberOfOutputs": 1,
    "numberOfInferenceSteps": 25
}

headers = {
    "Authorization": f"Bearer {COGNITIVE_ACTIONS_API_KEY}",
    "Content-Type": "application/json"
}

try:
    response = requests.post(
        COGNITIVE_ACTIONS_EXECUTE_URL,
        headers=headers,
        json={"action_id": action_id, "inputs": payload}  # Hypothetical structure
    )
    response.raise_for_status()  # Raise an exception for bad status codes (4xx or 5xx)

    result = response.json()
    print("Action executed successfully:")
    print(json.dumps(result, indent=2))

except requests.exceptions.RequestException as e:
    print(f"Error executing action {action_id}: {e}")
    if e.response is not None:
        print(f"Response status: {e.response.status_code}")
        try:
            print(f"Response body: {e.response.json()}")
        except json.JSONDecodeError:
            print(f"Response body: {e.response.text}")

In this code snippet, make sure to replace YOUR_COGNITIVE_ACTIONS_API_KEY with your actual API key. The payload is structured based on the required input fields for the action, and the response is processed to display the results.

Conclusion

The Transform Image Using Diffusion Model action opens up a world of possibilities for developers looking to integrate advanced image processing capabilities into their applications. By leveraging descriptive prompts and customizable parameters, you can create stunning visuals tailored to your specific needs.

Consider experimenting with different prompts and settings to discover the full potential of this powerful tool. Happy coding!