Generate Stunning Image Variations with Flux Redux Cognitive Actions

21 Apr 2025
Generate Stunning Image Variations with Flux Redux Cognitive Actions

In the realm of digital design and content creation, having the ability to easily modify and generate images can be a game-changer. The black-forest-labs/flux-redux-dev API offers a powerful Cognitive Action called Generate Image Variations, which leverages the FLUX.1 Redux model. This action allows developers to create new versions of images while preserving essential elements of the originals, facilitating design iteration and exploration of creative directions with flexible control over output quality, format, and aspect ratio.

Prerequisites

To get started with using the Cognitive Actions, you will need an API key for the black-forest-labs/flux-redux-dev platform. This key is essential for authenticating your requests. Typically, you would pass this API key in the headers of your HTTP requests.

Cognitive Actions Overview

Generate Image Variations

Description:
The Generate Image Variations action allows you to create multiple new versions of an image based on a provided conditioning image. This is particularly useful for designers looking to experiment with variations while maintaining the core aspects of the original image.

Category: Image Generation

Input

The action requires a specific input schema to function correctly. Here’s a breakdown of the required and optional fields:

  • reduxImage (required): URL to the input image (example: https://replicate.delivery/pbxt/M0mdz2nXiUmhpfLswjNdEHT3IhGtclUz7Q1sCw3XiHXzUugT/0_ZjYSm_q36J4KChdn.webp).
  • seed (optional): A random seed for reproducibility (integer).
  • guidance (optional): A control parameter influencing the output (number, default: 3, range: 0-10).
  • megapixels (optional): The resolution of the output image (string, options: "1" for full quality, "0.25" for quarter quality, default: "1").
  • aspectRatio (optional): The aspect ratio of the generated image (string, options include "1:1", "16:9", etc., default: "1:1").
  • outputFormat (optional): The format of the output image (string, options: webp, jpg, png, default: webp).
  • outputQuality (optional): The quality of the output image (integer, range: 0-100, default: 80).
  • numberOfOutputs (optional): Number of output images to generate (integer, default: 1, range: 1-4).
  • disableSafetyChecker (optional): Option to disable safety checks (boolean, default: false).
  • numberOfInferenceSteps (optional): The number of denoising steps for generation (integer, default: 28, range: 1-50).

Example Input:

{
  "guidance": 3,
  "megapixels": "1",
  "reduxImage": "https://replicate.delivery/pbxt/M0mdz2nXiUmhpfLswjNdEHT3IhGtclUz7Q1sCw3XiHXzUugT/0_ZjYSm_q36J4KChdn.webp",
  "aspectRatio": "4:3",
  "outputFormat": "webp",
  "outputQuality": 80,
  "numberOfOutputs": 1,
  "numberOfInferenceSteps": 28
}

Output

The action returns a list of URLs pointing to the generated images. For instance:

Example Output:

[
  "https://assets.cognitiveactions.com/invocations/94b7da8a-d8b6-4f8c-a78b-4896b4a9be8f/58e8a3dd-8444-4198-967e-e28384050287.webp"
]

Conceptual Usage Example (Python)

Here’s a conceptual Python code snippet demonstrating how to make a request to the Cognitive Actions API to generate image variations:

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 = "4f240894-ae26-4563-84c3-d5d5f0279a30" # Action ID for Generate Image Variations

# Construct the input payload based on the action's requirements
payload = {
    "guidance": 3,
    "megapixels": "1",
    "reduxImage": "https://replicate.delivery/pbxt/M0mdz2nXiUmhpfLswjNdEHT3IhGtclUz7Q1sCw3XiHXzUugT/0_ZjYSm_q36J4KChdn.webp",
    "aspectRatio": "4:3",
    "outputFormat": "webp",
    "outputQuality": 80,
    "numberOfOutputs": 1,
    "numberOfInferenceSteps": 28
}

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 example, you will see how to set up your headers, create a JSON payload according to the action's requirements, and handle the request and response. The endpoint URL and request structure used here are hypothetical and meant to illustrate the general approach.

Conclusion

The Generate Image Variations action from black-forest-labs/flux-redux-dev provides developers with a robust tool for image modification, enabling creative exploration and design iteration. By utilizing this action, you can enhance your applications with dynamic image generation capabilities. Consider integrating this action into your projects to unlock new creative possibilities!