{
  "openapi": "3.0.1",
  "info": {
    "title": "FLUX Image Generator (FLUX.2, Kontext, Schnell, Pro)",
    "description": "FLUX image generator: FLUX.2 Pro, FLUX.2 Klein, FLUX 1.1 Pro, Dev, Schnell and FLUX Kontext Pro / Max to edit images with a sentence. Prompt optimization + AI quality score (pass / review / fail) to automate ads and product shots. No API key, from $0.02 per image.",
    "version": "1.0",
    "x-build-id": "yNxz6RSEN3zJpPbrW"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/pnda~flux-image-generator/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-pnda-flux-image-generator",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/acts/pnda~flux-image-generator/runs": {
      "post": {
        "operationId": "runs-sync-pnda-flux-image-generator",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor and returns information about the initiated run in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/runsResponseSchema"
                }
              }
            }
          }
        }
      }
    },
    "/acts/pnda~flux-image-generator/run-sync": {
      "post": {
        "operationId": "run-sync-pnda-flux-image-generator",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "inputSchema": {
        "type": "object",
        "required": [
          "prompt"
        ],
        "properties": {
          "prompt": {
            "title": "Prompt",
            "type": "string",
            "description": "Text description of the image to generate, or the edit to make to the source image."
          },
          "model": {
            "title": "Model",
            "enum": [
              "black-forest-labs/flux-schnell",
              "black-forest-labs/flux-2-klein-4b",
              "black-forest-labs/flux-dev",
              "black-forest-labs/flux-2-pro",
              "black-forest-labs/flux-1.1-pro",
              "black-forest-labs/flux-kontext-pro",
              "black-forest-labs/flux-kontext-max"
            ],
            "type": "string",
            "description": "Which AI model to use. Each option is billed at its own price, see the Pricing section of the README. Free Apify plan: 1 generation per month (one image) with FLUX.1 Schnell, billed at the normal price ($0.02); other models and options are replaced by it.",
            "default": "black-forest-labs/flux-schnell"
          },
          "imageUrl": {
            "title": "Source image URL (optional)",
            "type": "string",
            "description": "Public URL of an image to edit (or to upscale). Leave empty for text-to-image."
          },
          "optimizePrompt": {
            "title": "Optimize my prompt",
            "type": "boolean",
            "description": "An AI prompt writer rewrites your idea into a detailed image prompt for the selected model (subject, composition, light, style), keeping every detail you gave and any text in quotes. $0.015 per optimized prompt (event \"prompt-optimization\"), charged once with the first delivered output that uses it; nothing extra if the writer is unavailable. The prompt actually used is in the output (\"prompt\", with your text in \"originalPrompt\"). If the writer is unavailable, your own prompt is used.",
            "default": false
          },
          "preset": {
            "title": "Use case",
            "enum": [
              "none",
              "product",
              "ads",
              "social",
              "ugc",
              "story",
              "cinematic",
              "portrait"
            ],
            "type": "string",
            "description": "Style brief for the prompt optimization: product (e-commerce), ads, social post, UGC, story, cinematic, portrait. Picking a use case turns \"Optimize my prompt\" on.",
            "default": "none"
          },
          "qualityScore": {
            "title": "Score the quality of each output",
            "type": "boolean",
            "description": "A multimodal AI looks at each image: coherence (hands, faces, objects, text, illogical details) and match with your original prompt. Adds qualityScore, coherenceScore, promptMatchScore (0-100), issues and verdict (pass / review / fail) to each row, so you can publish only the \"pass\" ones automatically. $0.01 per scored output (event \"quality-score\"); nothing extra if the checker is unavailable.",
            "default": false
          },
          "aspectRatio": {
            "title": "Aspect ratio",
            "enum": [
              "auto",
              "1:1",
              "16:9",
              "9:16",
              "4:3",
              "3:4",
              "3:2",
              "2:3",
              "4:5",
              "5:4",
              "21:9",
              "9:21",
              "2:1",
              "1:2"
            ],
            "type": "string",
            "description": "Output aspect ratio. \"auto\" keeps the model default (for edits: the source image ratio). Not every model supports every ratio; an unsupported ratio stops the run before anything is charged.",
            "default": "auto"
          },
          "numberOfVariants": {
            "title": "Number of variants",
            "minimum": 1,
            "maximum": 10,
            "type": "integer",
            "description": "How many separate outputs to generate (1 to 10). Each successful one is billed; failures are free.",
            "default": 1
          },
          "includeFailedVariants": {
            "title": "Include failed outputs in dataset",
            "type": "boolean",
            "description": "Also write failed outputs (with the reason) to the dataset. Failed outputs are never billed.",
            "default": false
          }
        }
      },
      "runsResponseSchema": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "actId": {
                "type": "string"
              },
              "userId": {
                "type": "string"
              },
              "startedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "finishedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "status": {
                "type": "string",
                "example": "READY"
              },
              "meta": {
                "type": "object",
                "properties": {
                  "origin": {
                    "type": "string",
                    "example": "API"
                  },
                  "userAgent": {
                    "type": "string"
                  }
                }
              },
              "stats": {
                "type": "object",
                "properties": {
                  "inputBodyLen": {
                    "type": "integer",
                    "example": 2000
                  },
                  "rebootCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "restartCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "resurrectCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "computeUnits": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "options": {
                "type": "object",
                "properties": {
                  "build": {
                    "type": "string",
                    "example": "latest"
                  },
                  "timeoutSecs": {
                    "type": "integer",
                    "example": 300
                  },
                  "memoryMbytes": {
                    "type": "integer",
                    "example": 1024
                  },
                  "diskMbytes": {
                    "type": "integer",
                    "example": 2048
                  }
                }
              },
              "buildId": {
                "type": "string"
              },
              "defaultKeyValueStoreId": {
                "type": "string"
              },
              "defaultDatasetId": {
                "type": "string"
              },
              "defaultRequestQueueId": {
                "type": "string"
              },
              "buildNumber": {
                "type": "string",
                "example": "1.0.0"
              },
              "containerUrl": {
                "type": "string"
              },
              "usage": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "integer",
                    "example": 1
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "usageTotalUsd": {
                "type": "number",
                "example": 0.00005
              },
              "usageUsd": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "number",
                    "example": 0.00005
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}