{
  "service": "freepik",
  "displayName": "Magnific (Freepik)",
  "categories": [
    "Design & Media",
    "AI"
  ],
  "authTypes": [
    "api_key"
  ],
  "auth": [
    {
      "type": "api_key",
      "label": "API Key",
      "placeholder": "MAGNIFIC_API_KEY",
      "description": "Freepik/Magnific API key sent with the x-magnific-api-key header. Sign in as an administrator and create a key from the API Keys dashboard: https://www.magnific.com/user/api-keys.",
      "extraFields": []
    }
  ],
  "homepageUrl": "https://www.magnific.com/freepik",
  "actions": [
    {
      "id": "freepik.download_resource",
      "service": "freepik",
      "name": "download_resource",
      "description": "Create a Magnific stock resource download URL through the resources API.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "resourceId": {
            "anyOf": [
              {
                "type": "string",
                "minLength": 1,
                "description": "The Freepik resource ID as a string."
              },
              {
                "type": "integer",
                "description": "The Freepik resource ID as a number."
              }
            ],
            "description": "The Freepik resource ID."
          },
          "format": {
            "type": "string",
            "enum": [
              "psd",
              "ai",
              "eps",
              "atn",
              "fonts",
              "resources",
              "png",
              "jpg",
              "3d-render",
              "svg",
              "mockup"
            ],
            "description": "The requested resource download format."
          },
          "imageSize": {
            "type": "string",
            "minLength": 1,
            "description": "Optional photo resize value for the generic download endpoint, such as small, medium, large, original, or a pixel value like 2000px."
          },
          "acceptLanguage": {
            "type": "string",
            "minLength": 1,
            "description": "Optional Accept-Language value such as en-US, used by Magnific for localized search processing."
          }
        },
        "additionalProperties": false,
        "required": [
          "resourceId"
        ],
        "description": "Input parameters for downloading a Magnific resource. format and imageSize cannot be used together."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "filename": {
            "type": "string",
            "minLength": 1,
            "description": "The downloaded file name returned by Magnific."
          },
          "url": {
            "type": "string",
            "description": "The CDN URL for downloading the resource.",
            "format": "uri"
          },
          "signedUrl": {
            "anyOf": [
              {
                "type": "string",
                "description": "The signed preview URL returned by Magnific when available.",
                "format": "uri"
              },
              {
                "type": "null"
              }
            ]
          },
          "prompt": {
            "anyOf": [
              {
                "type": "string",
                "description": "The prompt used to create the AI resource when returned by Magnific."
              },
              {
                "type": "null"
              }
            ]
          },
          "raw": {
            "type": "object",
            "additionalProperties": true,
            "description": "Raw object returned by the Magnific API."
          }
        },
        "additionalProperties": false,
        "description": "A Magnific resource download response."
      }
    },
    {
      "id": "freepik.get_resource",
      "service": "freepik",
      "name": "get_resource",
      "description": "Get detailed metadata for a Magnific stock resource by ID.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "resourceId": {
            "anyOf": [
              {
                "type": "string",
                "minLength": 1,
                "description": "The Freepik resource ID as a string."
              },
              {
                "type": "integer",
                "description": "The Freepik resource ID as a number."
              }
            ],
            "description": "The Freepik resource ID."
          },
          "acceptLanguage": {
            "type": "string",
            "minLength": 1,
            "description": "Optional Accept-Language value such as en-US, used by Magnific for localized search processing."
          }
        },
        "additionalProperties": false,
        "required": [
          "resourceId"
        ],
        "description": "Input parameters for retrieving a Magnific resource."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "resource": {
            "type": "object",
            "additionalProperties": true,
            "description": "Raw object returned by the Magnific API."
          },
          "raw": {
            "type": "object",
            "additionalProperties": true,
            "description": "Raw object returned by the Magnific API."
          }
        },
        "additionalProperties": false,
        "description": "A Magnific resource detail response."
      }
    },
    {
      "id": "freepik.search_resources",
      "service": "freepik",
      "name": "search_resources",
      "description": "Search Magnific stock images and templates through the resources API.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "page": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "description": "Page number. The official API requires 1 through 100."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "description": "Maximum number of resources to return. The official API requires > 0."
          },
          "order": {
            "type": "string",
            "enum": [
              "relevance",
              "recent"
            ],
            "description": "Sort order for search results."
          },
          "term": {
            "type": "string",
            "minLength": 1,
            "description": "Search term used to find resources."
          },
          "acceptLanguage": {
            "type": "string",
            "minLength": 1,
            "description": "Optional Accept-Language value such as en-US, used by Magnific for localized search processing."
          },
          "filters": {
            "type": "object",
            "properties": {
              "orientation": {
                "type": "object",
                "properties": {
                  "landscape": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 1,
                    "description": "Whether to include only landscape resources."
                  },
                  "portrait": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 1,
                    "description": "Whether to include only portrait resources."
                  },
                  "square": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 1,
                    "description": "Whether to include only square resources."
                  },
                  "panoramic": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 1,
                    "description": "Whether to include only panoramic resources."
                  }
                },
                "additionalProperties": false,
                "description": "Resource orientation flags. Set a value to 1 to enable the filter."
              },
              "contentType": {
                "type": "object",
                "properties": {
                  "photo": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 1,
                    "description": "Whether to include only photo resources."
                  },
                  "psd": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 1,
                    "description": "Whether to include only PSD resources."
                  },
                  "vector": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 1,
                    "description": "Whether to include only vector resources."
                  }
                },
                "additionalProperties": false,
                "description": "Resource content type flags. Set a value to 1 to enable the filter."
              },
              "license": {
                "type": "object",
                "properties": {
                  "freemium": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 1,
                    "description": "Whether to include only freemium resources."
                  },
                  "premium": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 1,
                    "description": "Whether to include only premium resources."
                  }
                },
                "additionalProperties": false,
                "description": "Resource license flags. Set a value to 1 to enable the filter."
              },
              "people": {
                "type": "object",
                "properties": {
                  "include": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 1,
                    "description": "Whether resources should include people."
                  },
                  "exclude": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 1,
                    "description": "Whether resources should exclude people."
                  },
                  "number": {
                    "type": "string",
                    "enum": [
                      "1",
                      "2",
                      "3",
                      "more_than_three"
                    ],
                    "description": "The number of people shown in the resource."
                  },
                  "age": {
                    "type": "string",
                    "enum": [
                      "infant",
                      "child",
                      "teen",
                      "young-adult",
                      "adult",
                      "senior",
                      "elder"
                    ],
                    "description": "The age group of people shown in the resource."
                  },
                  "gender": {
                    "type": "string",
                    "enum": [
                      "male",
                      "female"
                    ],
                    "description": "The gender of people shown in the resource."
                  },
                  "ethnicity": {
                    "type": "string",
                    "enum": [
                      "south-asian",
                      "middle-eastern",
                      "east-asian",
                      "black",
                      "hispanic",
                      "indian",
                      "white",
                      "multiracial",
                      "southeast-asian"
                    ],
                    "description": "The ethnicity of people shown in the resource."
                  }
                },
                "additionalProperties": false,
                "description": "People-related resource filters."
              },
              "period": {
                "type": "string",
                "enum": [
                  "last-month",
                  "last-quarter",
                  "last-semester",
                  "last-year"
                ],
                "description": "Filter by the period in which resources were added."
              },
              "color": {
                "type": "string",
                "enum": [
                  "black",
                  "blue",
                  "gray",
                  "green",
                  "orange",
                  "red",
                  "white",
                  "yellow",
                  "purple",
                  "cyan",
                  "pink"
                ],
                "description": "Filter by the predominant resource color."
              },
              "author": {
                "type": "number",
                "description": "Filter resources by a specific author ID."
              },
              "aiGenerated": {
                "type": "object",
                "properties": {
                  "excluded": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 1,
                    "description": "Whether to exclude AI-generated resources."
                  },
                  "only": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 1,
                    "description": "Whether to include only AI-generated resources."
                  }
                },
                "additionalProperties": false,
                "description": "AI-generated resource filters mapped to the upstream ai-generated filter."
              },
              "vector": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "jpg",
                      "ai",
                      "eps",
                      "svg"
                    ],
                    "description": "Vector file type."
                  },
                  "style": {
                    "type": "string",
                    "enum": [
                      "watercolor",
                      "flat",
                      "cartoon",
                      "geometric",
                      "gradient",
                      "isometric",
                      "3d",
                      "hand-drawn"
                    ],
                    "description": "Vector style type."
                  }
                },
                "additionalProperties": false,
                "description": "Vector-specific filters."
              },
              "psd": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "jpg",
                      "psd"
                    ],
                    "description": "PSD file type."
                  }
                },
                "additionalProperties": false,
                "description": "PSD-specific filters."
              },
              "ids": {
                "type": "string",
                "minLength": 1,
                "description": "Comma-separated resource IDs. This upstream filter is incompatible with other filters."
              }
            },
            "additionalProperties": false,
            "description": "Advanced Magnific resource filters mapped to the official filters deepObject query parameter. ids is incompatible with other filters."
          }
        },
        "additionalProperties": false,
        "description": "Input parameters for searching Magnific stock resources."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "resources": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": true,
              "description": "Raw object returned by the Magnific API."
            },
            "description": "Resources returned by Magnific."
          },
          "meta": {
            "type": "object",
            "additionalProperties": true,
            "description": "Raw object returned by the Magnific API."
          },
          "raw": {
            "type": "object",
            "additionalProperties": true,
            "description": "Raw object returned by the Magnific API."
          }
        },
        "additionalProperties": false,
        "description": "A page of Magnific stock resources."
      }
    }
  ]
}
