Freepik Text to icon API

The Text to icon API from Freepik — 3 operation(s) for text to icon.

Operations 3

POST /v1/ai/text-to-icon AI Icon generation #
POST /v1/ai/text-to-icon/preview AI Icon generation #
POST /v1/ai/text-to-icon/{task-id}/render/{format} AI Icon generation #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/freepik:freepik-text-to-icon-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

freepik-text-to-icon-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  description: The Magnific API is your gateway to a vast collection of high-quality digital resources for your applications and projects. As a leading platform, it offers a wide range of graphics, including vectors, photos, illustrations, icons, PSD templates, and more, all curated by talented designers from around the world.
  title: Magnific Text to icon API
  version: 1.0.0
servers:
- description: B2B API Production V1
  url: https://api.magnific.com
security:
- magnificApiKey: []
tags:
- name: Text to icon
paths:
  /v1/ai/text-to-icon:
    post:
      description: Create stunning icons in different styles and formats (png, svg) from text prompts using our advanced AI models.
      operationId: generate_text_to_icon
      requestBody:
        content:
          application/json:
            examples:
              required-params:
                $ref: '#/components/examples/request-text-to-icon'
              all-params:
                $ref: '#/components/examples/request-text-to-icon-all'
            schema:
              $ref: '#/components/schemas/text-to-icon-request'
      responses:
        '200':
          content:
            application/json:
              examples:
                success - completed task:
                  $ref: '#/components/examples/200-task-in-progress'
              schema:
                $ref: '#/components/schemas/get_style_transfer_task_status_200_response'
          description: Success - The request has succeeded and the Text to Icon process has started.
        '400':
          $ref: '#/components/responses/400-bad-request'
        '401':
          $ref: '#/components/responses/401-unauthorized'
        '500':
          $ref: '#/components/responses/500-internal-server-error'
        '503':
          $ref: '#/components/responses/503-service-unavailable'
      summary: AI Icon generation
      tags:
      - Text to icon
  /v1/ai/text-to-icon/preview:
    post:
      description: Create stunning previews icons in different styles and formats (png, svg) from text prompts using our advanced AI models.
      operationId: generate_text_to_icon_preview
      requestBody:
        content:
          application/json:
            examples:
              required-params:
                $ref: '#/components/examples/request-text-to-icon'
              all-params:
                $ref: '#/components/examples/request-text-to-icon-preview-all'
            schema:
              $ref: '#/components/schemas/text-to-icon-request-preview'
      responses:
        '200':
          content:
            application/json:
              examples:
                success - completed task:
                  $ref: '#/components/examples/200-task-in-progress'
              schema:
                $ref: '#/components/schemas/get_style_transfer_task_status_200_response'
          description: Success - The request has succeeded and the Text to Icon process has started.
        '400':
          $ref: '#/components/responses/400-bad-request'
        '401':
          $ref: '#/components/responses/401-unauthorized'
        '500':
          $ref: '#/components/responses/500-internal-server-error'
        '503':
          $ref: '#/components/responses/503-service-unavailable'
      summary: AI Icon generation
      tags:
      - Text to icon
  /v1/ai/text-to-icon/{task-id}/render/{format}:
    post:
      description: Download the generated AI icon in the specified format png or svg.
      operationId: download_text_to_icon_render_format
      parameters:
      - description: ID of the task
        in: path
        name: task-id
        required: true
        schema:
          format: uuid
          type: string
      - description: The format of the icon
        in: path
        name: format
        required: true
        schema:
          $ref: '#/components/schemas/text-to-icon-format'
      responses:
        '200':
          content:
            application/json:
              examples:
                success - completed task:
                  $ref: '#/components/examples/200-task-in-progress'
              schema:
                $ref: '#/components/schemas/get_style_transfer_task_status_200_response'
          description: Success - The request has succeeded and the Text to Icon process has started.
        '400':
          $ref: '#/components/responses/400-bad-request'
        '401':
          $ref: '#/components/responses/401-unauthorized'
        '500':
          $ref: '#/components/responses/500-internal-server-error'
        '503':
          $ref: '#/components/responses/503-service-unavailable'
      summary: AI Icon generation
      tags:
      - Text to icon
components:
  examples:
    request-text-to-icon:
      summary: Request - Text to icon
      value:
        prompt: Sliced avocado and chips
        webhook_url: https://example.com/webhook
    200-task-in-progress:
      summary: Success - Task in progress
      value:
        data:
          generated: []
          task_id: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
          status: IN_PROGRESS
    request-text-to-icon-preview-all:
      summary: Request - Text to icon preview all
      value:
        prompt: Sliced avocado and chips
        webhook_url: https://example.com/webhook
        style: color
        num_inference_steps: 20
        guidance_scale: 7
    request-text-to-icon-all:
      summary: Request - Text to icon all
      value:
        prompt: Sliced avocado and chips
        webhook_url: https://example.com/webhook
        format: svg
        style: color
        num_inference_steps: 20
        guidance_scale: 7
  responses:
    401-unauthorized:
      content:
        application/json:
          examples:
            invalid_api_key:
              summary: API key is not valid
              value:
                message: Invalid API key
            missing_api_key:
              summary: API key is not provided
              value:
                message: Missing API key
          schema:
            $ref: '#/components/schemas/inline_object'
      description: Unauthorized - The client must authenticate itself to get the requested response.
    503-service-unavailable:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/inline_object_3'
      description: Service Unavailable
    400-bad-request:
      content:
        application/json:
          examples:
            invalid_page:
              summary: Parameter 'page' is not valid
              value:
                message: Parameter 'page' must be greater than 0
            invalid_query:
              summary: Parameter 'query' is not valid
              value:
                message: Parameter 'query' must not be empty
            invalid_filter:
              summary: Parameter 'filter' is not valid
              value:
                message: Parameter 'filter' is not valid
            generic_bad_request:
              summary: Bad Request
              value:
                message: Parameter ':attribute' is not valid
          schema:
            $ref: '#/components/schemas/inline_object'
        application/problem+json:
          examples:
            invalid_page:
              summary: Parameter 'page' is not valid
              value:
                message: Validation error
                invalid_params:
                - field: page
                  reason: Parameter 'page' must be greater than 0
                - field: per_page
                  reason: Parameter 'per_page' must be greater than 0
          schema:
            $ref: '#/components/schemas/inline_object_1'
      description: Bad Request - The server could not understand the request due to invalid syntax.
    500-internal-server-error:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/inline_object_2'
      description: Internal Server Error - The server has encountered a situation it doesn't know how to handle.
  schemas:
    inline_object_1_problem_invalid_params_inner:
      properties:
        name:
          description: Name of the invalid parameter.
          example: page
          type: string
        field:
          description: Field of the invalid parameter. Mirrors `name`.
          example: page
          type: string
        reason:
          example: Parameter 'page' must be greater than 0
          type: string
      required:
      - field
      - name
      - reason
      type: object
    task:
      example:
        task_id: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
        status: CREATED
      properties:
        task_id:
          description: Task identifier
          format: uuid
          type: string
        status:
          description: Task status
          enum:
          - CREATED
          - IN_PROGRESS
          - COMPLETED
          - FAILED
          type: string
      required:
      - status
      - task_id
      type: object
    text-to-icon-request-preview:
      properties:
        prompt:
          description: The prompt to generate the icon
          example: A cute cat icon
          type: string
        webhook_url:
          description: The webhook URL to receive the result
          example: https://example.com/webhook
          format: uri
          type: string
        style:
          default: solid
          description: The style to use for the icon
          enum:
          - solid
          - outline
          - color
          - flat
          - sticker
          example: solid
          type: string
        num_inference_steps:
          description: The number of inference steps to use for the generation
          example: 10
          maximum: 50
          minimum: 10
          type: integer
        guidance_scale:
          description: The guidance scale to use for the generation
          example: 7
          maximum: 10
          minimum: 0
          type: number
      required:
      - prompt
      - webhook_url
      type: object
    text-to-icon-request:
      allOf:
      - $ref: '#/components/schemas/text-to-icon-request-preview'
      properties:
        format:
          $ref: '#/components/schemas/text-to-icon-format'
    inline_object_1:
      properties:
        problem:
          $ref: '#/components/schemas/inline_object_1_problem'
      type: object
    inline_object_1_problem:
      properties:
        message:
          example: Validation error
          type: string
        invalid_params:
          items:
            $ref: '#/components/schemas/inline_object_1_problem_invalid_params_inner'
          type: array
      required:
      - invalid_params
      - message
      type: object
    inline_object_2:
      example:
        message: Internal Server Error
      properties:
        message:
          example: Internal Server Error
          type: string
      type: object
    inline_object:
      example:
        message: message
      properties:
        message:
          type: string
      type: object
    get_style_transfer_task_status_200_response:
      example:
        data:
          generated:
          - https://openapi-generator.tech
          - https://openapi-generator.tech
          task_id: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
          status: CREATED
      properties:
        data:
          $ref: '#/components/schemas/task-detail'
      required:
      - data
      type: object
    inline_object_3:
      example:
        message: Service Unavailable. Please try again later.
      properties:
        message:
          example: Service Unavailable. Please try again later.
          type: string
      type: object
    text-to-icon-format:
      default: png
      description: The format of the icon
      enum:
      - png
      - svg
      example: svg
      type: string
    task-detail:
      allOf:
      - $ref: '#/components/schemas/task'
      - properties:
          generated:
            items:
              description: URL of the generated image
              format: uri
              type: string
            type: array
        required:
        - generated
        type: object
      example:
        generated:
        - https://openapi-generator.tech
        - https://openapi-generator.tech
        task_id: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
        status: CREATED
  securitySchemes:
    magnificApiKey:
      description: 'Your Magnific API key. Required for authentication. [Learn how to obtain an API key](https://docs.magnific.com/quickstart)

        '
      in: header
      name: x-magnific-api-key
      type: apiKey
x-provenance:
  method: harvested
  publisher: Freepik
  source: https://storage.googleapis.com/fc-freepik-pro-rev1-eu-api-specs/magnific-api-v1-openapi.yaml?v=46\
  note: split by refine-openapis from the provider's own published document, verified by fetch (openapi/_original/*.fetch.json);
    stamped by stamp-openapi-provenance.py (roadmap#793)