{
  "openapi": "3.0.1",
  "info": {
    "title": "TrendLoom — Research, Content Ideas & Script Packages",
    "description": "Turn a topic into source-grounded content ideas or a six-scene script draft in English, German or Turkish. Includes primary research and accepts your channel notes. No YouTube account lookup or metrics; upstream keys included.",
    "version": "1.0",
    "x-build-id": "i7R0YXkTxp6wSuXhQ"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/genkenobi~trendloom/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-genkenobi-trendloom",
        "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/genkenobi~trendloom/runs": {
      "post": {
        "operationId": "runs-sync-genkenobi-trendloom",
        "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/genkenobi~trendloom/run-sync": {
      "post": {
        "operationId": "run-sync-genkenobi-trendloom",
        "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": [
          "action",
          "query"
        ],
        "properties": {
          "action": {
            "title": "Result type",
            "enum": [
              "research",
              "ideas",
              "package"
            ],
            "type": "string",
            "description": "One report per run. Research $0.02; three original ideas $0.05; six-scene script package $0.10. Upstream keys are included.",
            "default": "research"
          },
          "query": {
            "title": "Source research keywords",
            "minLength": 3,
            "maxLength": 180,
            "type": "string",
            "description": "3–180 characters of scientific keywords. Searches Europe PMC for PubMed-indexed primary abstracts with explicit CC BY/CC0 reuse licenses. No YouTube API, channel lookup, metrics or private analytics. Not all subjects have suitable primary sources.",
            "default": "sleep memory consolidation"
          },
          "language": {
            "title": "Output language",
            "enum": [
              "en",
              "de",
              "tr"
            ],
            "type": "string",
            "description": "Language for titles, narration and ideas. Source abstracts retain their original language; image prompts may be English.",
            "default": "en"
          },
          "duration": {
            "title": "Target Short duration",
            "minimum": 45,
            "maximum": 90,
            "type": "integer",
            "description": "Estimated duration including a reserved four-second outro; no audio or rendered video is produced.",
            "default": 60
          },
          "channelDescription": {
            "title": "Manual channel description (optional)",
            "maxLength": 1000,
            "type": "string",
            "description": "For ideas and packages: manually describe the channel topic, audience and editorial style in your own words. Use only material you own or are authorized to share. No links, handles, private addresses, full transcripts or performance statistics. Context, not factual evidence. Up to 1000 characters.",
            "default": ""
          },
          "exampleTitles": {
            "title": "Previous title examples (optional)",
            "maxItems": 5,
            "type": "array",
            "description": "For ideas and packages: add up to five titles you own or are authorized to share, at most 180 characters each. These are topics to avoid repeating, not templates to copy or performance evidence. No links or statistics. No channel or video is fetched.",
            "items": {
              "type": "string",
              "minLength": 1,
              "maxLength": 180
            },
            "default": []
          },
          "styleNotes": {
            "title": "Additional creative notes",
            "maxLength": 1000,
            "type": "string",
            "description": "Optional visual and editorial preferences. Existing manual channel notes here remain supported; use the separate channel description and title-example fields for new inputs. Context only; not evidence. Do not paste full transcripts or statistics. Up to 1000 characters.",
            "default": ""
          },
          "ideaIndex": {
            "title": "Idea for script package",
            "minimum": 0,
            "maximum": 2,
            "type": "integer",
            "description": "For package: choose the first, second or third original idea generated in this run. Zero-based index, not a stored private studio draft.",
            "default": 0
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}