Kavita Image API
Responsible for servicing up images stored in Kavita for entities
Responsible for servicing up images stored in Kavita for entities
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
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.curl "https://apis.io/api/v1/apis/kavita:kavita-image-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
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: 3.2.0
info:
title: Kavita Image API
description: Kavita provides a set of APIs authenticated via an Auth Key passed in the `x-api-key` header. Generate an Auth Key under User Settings → Manage Auth Keys, paste it into the Authorize panel, and all Try It requests will include it. Assume all fields of a payload are required unless marked optional. Built against v0.9.1.15
license:
name: GPL-3.0
url: https://github.com/Kareadita/Kavita/blob/develop/LICENSE
version: 0.9.1.15
servers:
- url: '{protocol}://{hostpath}'
variables:
protocol:
default: http
enum:
- http
- https
hostpath:
default: localhost:5000
security:
- AuthKey: []
tags:
- name: Image
description: Responsible for servicing up images stored in Kavita for entities
paths:
/api/Image/chapter-cover:
get:
tags:
- Image
summary: Returns cover image for Chapter
parameters:
- name: chapterId
in: query
description: ''
schema:
type: integer
format: int32
responses:
'200':
description: OK
operationId: getApiImageChapterCover
x-operation-id-source: derived
/api/Image/library-cover:
get:
tags:
- Image
summary: Returns cover image for Library
parameters:
- name: libraryId
in: query
description: ''
schema:
type: integer
format: int32
responses:
'200':
description: OK
operationId: getApiImageLibraryCover
x-operation-id-source: derived
/api/Image/volume-cover:
get:
tags:
- Image
summary: Returns cover image for Volume
parameters:
- name: volumeId
in: query
description: ''
schema:
type: integer
format: int32
responses:
'200':
description: OK
operationId: getApiImageVolumeCover
x-operation-id-source: derived
/api/Image/series-cover:
get:
tags:
- Image
summary: Returns cover image for Series
parameters:
- name: seriesId
in: query
description: Id of Series
schema:
type: integer
format: int32
responses:
'200':
description: OK
operationId: getApiImageSeriesCover
x-operation-id-source: derived
/api/Image/collection-cover:
get:
tags:
- Image
summary: Returns cover image for Collection
parameters:
- name: collectionTagId
in: query
description: ''
schema:
type: integer
format: int32
responses:
'200':
description: OK
operationId: getApiImageCollectionCover
x-operation-id-source: derived
/api/Image/readinglist-cover:
get:
tags:
- Image
summary: Returns cover image for a Reading List
parameters:
- name: readingListId
in: query
description: ''
schema:
type: integer
format: int32
responses:
'200':
description: OK
operationId: getApiImageReadinglistCover
x-operation-id-source: derived
/api/Image/bookmark:
get:
tags:
- Image
summary: Returns image for a given bookmark page
description: This request is served unauthenticated, but user must be passed via api key to validate
parameters:
- name: chapterId
in: query
description: ''
schema:
type: integer
format: int32
- name: pageNum
in: query
description: Starts at 0
schema:
type: integer
format: int32
- name: imageOffset
in: query
description: Only applicable for Epubs - handles multiple images on one page
schema:
type: integer
format: int32
default: 0
responses:
'200':
description: OK
operationId: getApiImageBookmark
x-operation-id-source: derived
/api/Image/web-link:
get:
tags:
- Image
summary: Returns the image associated with a web-link
parameters:
- name: url
in: query
description: ''
schema:
type: string
responses:
'200':
description: OK
operationId: getApiImageWebLink
x-operation-id-source: derived
/api/Image/publisher:
get:
tags:
- Image
summary: Returns the image associated with a publisher
parameters:
- name: publisherName
in: query
description: ''
schema:
type: string
responses:
'200':
description: OK
operationId: getApiImagePublisher
x-operation-id-source: derived
/api/Image/person-cover:
get:
tags:
- Image
summary: Returns cover image for Person
parameters:
- name: personId
in: query
description: ''
schema:
type: integer
format: int32
responses:
'200':
description: OK
operationId: getApiImagePersonCover
x-operation-id-source: derived
/api/Image/user-cover:
get:
tags:
- Image
summary: Returns cover image for User
parameters:
- name: userId
in: query
description: ''
schema:
type: integer
format: int32
responses:
'200':
description: OK
operationId: getApiImageUserCover
x-operation-id-source: derived
/api/Image/cover-upload:
get:
tags:
- Image
summary: Returns a temp coverupload image
description: Requires Admin Role to perform upload
parameters:
- name: filename
in: query
description: Filename of file. This is used with upload/upload-by-url
schema:
type: string
responses:
'200':
description: OK
operationId: getApiImageCoverUpload
x-operation-id-source: derived
/api/Image/external/series:
get:
tags:
- Image
parameters:
- name: seriesId
in: query
schema:
type: integer
format: int32
responses:
'200':
description: OK
content:
text/plain:
schema:
type: array
items:
$ref: '#/components/schemas/ExternalCoverResponseDto'
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/ExternalCoverResponseDto'
text/json:
schema:
type: array
items:
$ref: '#/components/schemas/ExternalCoverResponseDto'
summary: Get api image external series
x-summary-source: derived
operationId: getApiImageExternalSeries
x-operation-id-source: derived
/api/Image/external/volume:
get:
tags:
- Image
parameters:
- name: seriesId
in: query
schema:
type: integer
format: int32
- name: volumeId
in: query
schema:
type: integer
format: int32
responses:
'200':
description: OK
content:
text/plain:
schema:
type: array
items:
$ref: '#/components/schemas/ExternalCoverResponseDto'
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/ExternalCoverResponseDto'
text/json:
schema:
type: array
items:
$ref: '#/components/schemas/ExternalCoverResponseDto'
summary: Get api image external volume
x-summary-source: derived
operationId: getApiImageExternalVolume
x-operation-id-source: derived
/api/Image/external/chapter:
get:
tags:
- Image
parameters:
- name: seriesId
in: query
schema:
type: integer
format: int32
- name: chapterId
in: query
schema:
type: integer
format: int32
responses:
'200':
description: OK
content:
text/plain:
schema:
type: array
items:
$ref: '#/components/schemas/ExternalCoverResponseDto'
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/ExternalCoverResponseDto'
text/json:
schema:
type: array
items:
$ref: '#/components/schemas/ExternalCoverResponseDto'
summary: Get api image external chapter
x-summary-source: derived
operationId: getApiImageExternalChapter
x-operation-id-source: derived
components:
schemas:
ExternalCoverResponseDto:
required:
- url
type: object
properties:
url:
type:
- string
- 'null'
type:
$ref: '#/components/schemas/ExternalCoverImageType'
number:
type:
- number
- 'null'
format: float
language:
type:
- string
- 'null'
additionalProperties: false
ExternalCoverImageType:
enum:
- 0
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
type: integer
description: 'Members:
- `0` — Series
- `1` — Volume
- `2` — VolumeBack
- `3` — Chapter
- `4` — Issue
- `5` — Banner
- `6` — Season
- `7` — Audiobook
- `8` — Other'
format: int32
x-enum-varnames:
- Series
- Volume
- VolumeBack
- Chapter
- Issue
- Banner
- Season
- Audiobook
- Other
x-enum-descriptions:
- Series
- Volume
- VolumeBack
- Chapter
- Issue
- Banner
- Season
- Audiobook
- Other
securitySchemes:
AuthKey:
type: apiKey
description: Auth Key authentication. Enter your Auth key from your user settings
name: x-api-key
in: header