Jasper Images API

The Images API from Jasper — 10 operation(s) for images.

Operations 10

POST /v1/image/remove-background Remove background #
POST /v1/image/replace-background Replace background #
POST /v1/image/cleanup Clean up #
POST /v1/image/remove-text Remove text #
POST /v1/image/upscale Upscale #
POST /v1/image/uncrop Uncrop #
POST /v1/image/packshot-compositing Packshot Compositing #
POST /v1/image/decompose Decompose image #
POST /v1/image/alt-text Generate alt text #
POST /v1/image/analysis Analyze #

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/jasper-images-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 email required.

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

OpenAPI Specification

jasper-images-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Jasper Images API
  description: Jasper API
  version: '1.0'
  contact: {}
servers:
- url: https://api.jasper.ai
tags:
- name: Images
  description: ''
paths:
  /v1/image/remove-background:
    post:
      description: Removes the background from the input image by isolating the main subject and returns a cutout with a transparent background.
      operationId: removeBackground
      parameters:
      - name: accept
        in: header
        description: The Accept request HTTP header indicates the preferred returned image content type, expressed as a MIME type
        required: false
        schema:
          type: string
          enum:
          - image/webp
          - image/png
          - image/jpeg
      requestBody:
        required: true
        description: "Image file upload\n     Size of an image uploaded must not exceed 30MB and resolution must not exceed 25 mega-pixels (5000*5000)\n    "
        content:
          multipart/form-data:
            schema:
              type: object
              properties:
                image_file:
                  type: string
                  format: binary
      responses:
        '200':
          description: The image background was successfully removed.
        '400':
          description: Bad request. May be missing required inputs or may have badly formatted inputs or options.
        '500':
          description: Internal server error. Unable to remove background.
      security:
      - X-API-Key: []
      - oauth2:
        - user
      summary: Remove background
      tags:
      - Images
  /v1/image/replace-background:
    post:
      description: Replaces the image background using the provided text prompt and returns a photorealistic composite.
      operationId: replaceBackground
      parameters:
      - name: accept
        in: header
        description: The Accept request HTTP header indicates the preferred returned image content type, expressed as a MIME type
        required: false
        schema:
          type: string
          enum:
          - image/webp
          - image/png
          - image/jpeg
      requestBody:
        required: true
        description: "Image file upload and prompt\n     Size of an image uploaded must not exceed 20MB and resolution must not exceed 4 mega-pixels (2048*2048)\n     Prompt must not exceed 5000 characters\n    "
        content:
          multipart/form-data:
            schema:
              type: object
              properties:
                image_file:
                  type: string
                  format: binary
                prompt:
                  type: string
                  description: Description of the desired background
                  maxLength: 5000
      responses:
        '200':
          description: The image background was successfully replaced.
        '400':
          description: Bad request. May be missing required inputs or may have badly formatted inputs or options.
        '500':
          description: Internal server error. Unable to replace background.
      security:
      - X-API-Key: []
      - oauth2:
        - user
      summary: Replace background
      tags:
      - Images
  /v1/image/cleanup:
    post:
      description: Remove unwanted elements from an image using a mask to specify areas to clean
      operationId: cleanup
      parameters:
      - name: accept
        in: header
        description: The Accept request HTTP header indicates the preferred returned image content type, expressed as a MIME type
        required: false
        schema:
          type: string
          enum:
          - image/webp
          - image/png
          - image/jpeg
      requestBody:
        required: true
        description: "Image file upload and mask file upload\n     Size of an image uploaded must not exceed 30MB and resolution must not exceed 16 mega-pixels\n     Size of a mask uploaded must not exceed 30MB and resolution must not exceed 16 mega-pixels\n     Both image and mask must have the same size\n    "
        content:
          multipart/form-data:
            schema:
              type: object
              properties:
                image_file:
                  type: string
                  format: binary
                  description: The image to be cleaned
                mask_file:
                  type: string
                  format: binary
                  description: "The mask indicating areas to clean\n          The mask should be black and white with no grey pixels (e.g. values of only 0 or 255), the value of 0 indicating a pixel to keep as is and 255 a pixel to 'clean up'\n          "
      responses:
        '200':
          description: The image was successfully cleaned.
        '400':
          description: Bad request. May be missing required inputs or may have badly formatted inputs or options.
        '500':
          description: Internal server error. Unable to clean image.
      security:
      - X-API-Key: []
      - oauth2:
        - user
      summary: Clean up
      tags:
      - Images
  /v1/image/remove-text:
    post:
      description: Removes overlaid text from the image while preserving surrounding content and textures.
      operationId: removeText
      parameters:
      - name: accept
        in: header
        description: The Accept request HTTP header indicates the preferred returned image content type, expressed as a MIME type
        required: false
        schema:
          type: string
          enum:
          - image/webp
          - image/png
          - image/jpeg
      requestBody:
        required: true
        description: "Image file upload\n     Size of an image uploaded must not exceed 30MB and resolution must not exceed 16 mega-pixels (4096*4096)\n    "
        content:
          multipart/form-data:
            schema:
              type: object
              properties:
                image_file:
                  type: string
                  format: binary
      responses:
        '200':
          description: The text was successfully removed from the image.
        '400':
          description: Bad request. May be missing required inputs or may have badly formatted inputs or options.
        '500':
          description: Internal server error. Unable to remove text.
      security:
      - X-API-Key: []
      - oauth2:
        - user
      summary: Remove text
      tags:
      - Images
  /v1/image/upscale:
    post:
      description: Upscales the input image to the specified width and height.
      operationId: upscale
      parameters: []
      requestBody:
        required: true
        description: "Image file upload\n     Size of an image uploaded must not exceed 30MB and resolution must not exceed 16 mega-pixels (4096*4096)\n    "
        content:
          multipart/form-data:
            schema:
              type: object
              properties:
                image_file:
                  type: string
                  format: binary
                target_width:
                  type: number
                target_height:
                  type: number
      responses:
        '200':
          description: The image was successfully upscaled.
        '400':
          description: Bad request. May be missing required inputs or may have badly formatted inputs or options.
        '500':
          description: Internal server error. Unable to upscale image.
      security:
      - X-API-Key: []
      - oauth2:
        - user
      summary: Upscale
      tags:
      - Images
  /v1/image/uncrop:
    post:
      description: Extends the image in the specified directions and generates plausible content to fill the new areas.
      operationId: uncrop
      parameters:
      - name: accept
        in: header
        description: The Accept request HTTP header indicates the preferred returned image content type, expressed as a MIME type
        required: false
        schema:
          type: string
          enum:
          - image/webp
          - image/png
          - image/jpeg
      requestBody:
        required: true
        description: The request must be an http POST and its body must be a multipart/form-data that has one image file & several text fields
        content:
          multipart/form-data:
            schema:
              type: object
              properties:
                image_file:
                  type: string
                  format: binary
                  description: The original image to process should be a JPG, PNG or WebP, with a maximum resolution of 10 megapixels and a max file size of 30 Mb.
                extend_left:
                  type: number
                  description: Number of pixels to extend to the left
                  maximum: 2000
                extend_right:
                  type: number
                  description: Number of pixels to extend to the right
                  maximum: 2000
                extend_up:
                  type: number
                  description: Number of pixels to extend upward
                  maximum: 2000
                extend_down:
                  type: number
                  description: Number of pixels to extend downward
                  maximum: 2000
      responses:
        '200':
          description: The image was successfully uncropped.
        '400':
          description: Bad request. May be missing required inputs or may have badly formatted inputs or options.
        '500':
          description: Internal server error. Unable to uncrop image.
      security:
      - X-API-Key: []
      - oauth2:
        - user
      summary: Uncrop
      tags:
      - Images
  /v1/image/packshot-compositing:
    post:
      description: Composites a foreground image onto a background with configurable shadows, reflections, margins, and placement.
      operationId: packshotCompositing
      parameters: []
      requestBody:
        required: true
        description: Foreground and background image upload, plus compositing options
        content:
          multipart/form-data:
            schema:
              type: object
              properties:
                image_file:
                  type: string
                  format: binary
                background_image_file:
                  type: string
                  format: binary
                output_width:
                  type: number
                  minimum: 64
                  maximum: 4096
                output_height:
                  type: number
                  minimum: 64
                  maximum: 4096
                flip_horizontally:
                  type: boolean
                  default: false
                shadow_type:
                  type: string
                  enum:
                  - behind_left
                  - bottom_left
                  - none
                  default: bottom_left
                shadow_intensity:
                  type: number
                  minimum: 0
                  maximum: 1
                  default: 1
                reflection_type:
                  type: string
                  enum:
                  - bottom
                  - none
                  default: bottom
                reflection_intensity:
                  type: number
                  minimum: 0
                  maximum: 1
                  default: 1
                margin_left:
                  type: number
                  minimum: 0
                  maximum: 1
                  default: 0.15
                margin_right:
                  type: number
                  minimum: 0
                  maximum: 1
                  default: 0.15
                margin_top:
                  type: number
                  minimum: 0
                  maximum: 1
                  default: 0.15
                margin_bottom:
                  type: number
                  minimum: 0
                  maximum: 1
                  default: 0.15
                vertical_placement:
                  type: number
                  minimum: 0
                  maximum: 1
                  default: 0.5
      responses:
        '200':
          description: The packshot compositing was successful.
        '400':
          description: Bad request. May be missing required inputs or may have badly formatted inputs or options.
        '500':
          description: Internal server error. Unable to composite packshot.
      security:
      - X-API-Key: []
      - oauth2:
        - user
      summary: Packshot Compositing
      tags:
      - Images
  /v1/image/decompose:
    post:
      description: Decomposes an image into constituent layers using provided mask images. Returns URLs to the generated layers.
      operationId: decompose
      parameters: []
      requestBody:
        required: true
        description: "Image file upload and mask files upload\n     Size of an image uploaded must not exceed 30MB and resolution must not exceed 16 mega-pixels\n     Size of each mask uploaded must not exceed 30MB and resolution must not exceed 16 mega-pixels\n     All masks must have the same dimensions as the main image\n     At least one mask is required, maximum of 10 masks allowed\n    "
        content:
          multipart/form-data:
            schema:
              type: object
              properties:
                image_file:
                  type: string
                  format: binary
                  description: The main image to be decomposed
                mask_files:
                  type: array
                  items:
                    type: string
                    format: binary
                  description: Array of mask images (1-10 masks)
                  minItems: 1
                  maxItems: 10
                background_output_format:
                  type: string
                  enum:
                  - jpg
                  - png
                  - webp
                  description: Optional output format for the background layer
                layers_output_format:
                  type: string
                  enum:
                  - png
                  - webp
                  description: Optional output format for the decomposed layers
      responses:
        '200':
          description: The image was successfully decomposed.
        '400':
          description: Bad request. May be missing required inputs or may have badly formatted inputs or options.
        '500':
          description: Internal server error. Unable to decompose image.
      security:
      - X-API-Key: []
      - oauth2:
        - user
      summary: Decompose image
      tags:
      - Images
  /v1/image/alt-text:
    post:
      description: Generates concise, descriptive alt text for the provided image URL.
      operationId: altText
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ImageAltTextRequestDto'
      responses:
        '200':
          description: The alt text was successfully generated.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ImageAltTextResponseDto'
        '400':
          description: Bad request. May be missing required inputs or may have badly formatted inputs or options.
        '500':
          description: Internal server error. Unable to remove background.
      security:
      - X-API-Key: []
      - oauth2:
        - user
      summary: Generate alt text
      tags:
      - Images
  /v1/image/analysis:
    post:
      description: Analyzes the image and answers the provided question with a short, focused response.
      operationId: analyse
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ImageAnalysisRequestDto'
      responses:
        '200':
          description: The analysis was successfully generated.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ImageAnalysisResponseDto'
        '400':
          description: Bad request. May be missing required inputs or may have badly formatted inputs or options.
        '500':
          description: Internal server error. Unable to remove background.
      security:
      - X-API-Key: []
      - oauth2:
        - user
      summary: Analyze
      tags:
      - Images
components:
  schemas:
    ImageAnalysisResponseDto:
      type: object
      properties:
        analysis:
          type: string
          description: The result of the analysis of the image.
          example: Yes the main object is centered and fully visible.
      required:
      - analysis
    ImageAltTextResponseDto:
      type: object
      properties:
        altText:
          type: string
          description: The alt text of the image.
          example: A dog running in a field.
      required:
      - altText
    ImageAnalysisRequestDto:
      type: object
      properties:
        imageUrl:
          type: string
          description: The URL of the image to check.
          example: https://example.com/image.png
        question:
          type: string
          description: The expected analysis to perform on the image.
          example: Is the main object centered and fully visible?
      required:
      - imageUrl
      - question
    ImageAltTextRequestDto:
      type: object
      properties:
        imageUrl:
          type: string
          description: The URL of the image to check.
          example: https://example.com/image.png
      required:
      - imageUrl
  securitySchemes:
    X-API-Key:
      type: apiKey
      in: header
      name: X-API-Key
      description: Workspace authentication using API key tokens in the X-API-Key header.
    oauth2:
      type: oauth2
      flows:
        authorizationCode:
          authorizationUrl: https://api.jasper.ai/oauth2/authorize
          tokenUrl: https://api.jasper.ai/oauth2/token
          refreshUrl: https://api.jasper.ai/oauth2/token
          scopes:
            user:read: Read user information
            user: Read and write user information
      description: User-level authentication using OAuth bearer tokens in the Authorization header.
x-readme:
  metrics-enabled: false