Respeecher Credits API
Check the account credit balance that meters marketplace text-to-speech and speech-to-speech usage (GET /api/credits). Credits map to TTS characters and STS minutes across the pay-as-you-go and subscription plans.
Check the account credit balance that meters marketplace text-to-speech and speech-to-speech usage (GET /api/credits). Credits map to TTS characters and STS minutes across the pay-as-you-go and subscription plans.
openapi: 3.0.2
info:
title: Voice Markertplace API
version: 0.6.0
paths:
/api/healtz:
get:
tags:
- healtz
summary: Healtz
operationId: healtz_api_healtz_get
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/OK'
/api/login:
post:
tags:
- auth
summary: Login
operationId: login_api_login_post
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/LoginCreds'
required: true
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/LoginResponse'
'402':
description: Payment Required
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/api/logout:
post:
tags:
- auth
summary: Logout
operationId: logout_api_logout_post
parameters:
- required: false
schema:
title: X-Csrf-Token
type: string
name: x-csrf-token
in: header
- required: false
schema:
title: Api-Key
type: string
name: api-key
in: header
- required: false
schema:
title: Session Id
type: string
name: session_id
in: cookie
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/DefaultSuccessResponse'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/api/auth:
post:
tags:
- auth
summary: Authenticate
operationId: authenticate_api_auth_post
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/User'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
/api/calibration:
get:
tags:
- calibration
summary: Calibration List
operationId: calibration_list_api_calibration_get
parameters:
- required: false
schema:
title: Limit
maximum: 200.0
minimum: 0.0
type: integer
default: 50
name: limit
in: query
- required: false
schema:
title: Offset
minimum: 0.0
type: integer
default: 0
name: offset
in: query
- required: false
schema:
title: Search
type: string
name: search
in: query
- required: false
schema:
title: X-Csrf-Token
type: string
name: x-csrf-token
in: header
- required: false
schema:
title: Api-Key
type: string
name: api-key
in: header
- required: false
schema:
title: Session Id
type: string
name: session_id
in: cookie
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/CalibrationListResponse'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
post:
tags:
- calibration
summary: Calibrate
operationId: calibrate_api_calibration_post
parameters:
- required: false
schema:
title: X-Csrf-Token
type: string
name: x-csrf-token
in: header
- required: false
schema:
title: Api-Key
type: string
name: api-key
in: header
- required: false
schema:
title: Session Id
type: string
name: session_id
in: cookie
requestBody:
content:
multipart/form-data:
schema:
$ref: '#/components/schemas/Body_calibrate_api_calibration_post'
required: true
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/CalibrationResponse'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/api/calibration/{calibration_id}:
get:
tags:
- calibration
summary: Calibration Get
operationId: calibration_get_api_calibration__calibration_id__get
parameters:
- required: true
schema:
title: Calibration Id
type: string
format: uuid4
name: calibration_id
in: path
- required: false
schema:
title: X-Csrf-Token
type: string
name: x-csrf-token
in: header
- required: false
schema:
title: Api-Key
type: string
name: api-key
in: header
- required: false
schema:
title: Session Id
type: string
name: session_id
in: cookie
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/CalibrationResponse'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
delete:
tags:
- calibration
summary: Calibration Delete
operationId: calibration_delete_api_calibration__calibration_id__delete
parameters:
- required: true
schema:
title: Calibration Id
type: string
format: uuid4
name: calibration_id
in: path
- required: false
schema:
title: X-Csrf-Token
type: string
name: x-csrf-token
in: header
- required: false
schema:
title: Api-Key
type: string
name: api-key
in: header
- required: false
schema:
title: Session Id
type: string
name: session_id
in: cookie
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/CalibrationResponse'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
patch:
tags:
- calibration
summary: Calibration Rename
operationId: calibration_rename_api_calibration__calibration_id__patch
parameters:
- required: true
schema:
title: Calibration Id
type: string
format: uuid4
name: calibration_id
in: path
- required: false
schema:
title: X-Csrf-Token
type: string
name: x-csrf-token
in: header
- required: false
schema:
title: Api-Key
type: string
name: api-key
in: header
- required: false
schema:
title: Session Id
type: string
name: session_id
in: cookie
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CalibrationRename'
required: true
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/CalibrationResponse'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/api/calibration/{calibration_id}/enable:
put:
tags:
- calibration
summary: Calibration Enable
operationId: calibration_enable_api_calibration__calibration_id__enable_put
parameters:
- required: true
schema:
title: Calibration Id
type: string
format: uuid4
name: calibration_id
in: path
- required: false
schema:
title: X-Csrf-Token
type: string
name: x-csrf-token
in: header
- required: false
schema:
title: Api-Key
type: string
name: api-key
in: header
- required: false
schema:
title: Session Id
type: string
name: session_id
in: cookie
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/CalibrationResponse'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/api/credits:
get:
tags:
- credits
summary: Get Credits
operationId: get_credits_api_credits_get
parameters:
- required: false
schema:
title: X-Csrf-Token
type: string
name: x-csrf-token
in: header
- required: false
schema:
title: Api-Key
type: string
name: api-key
in: header
- required: false
schema:
title: Session Id
type: string
name: session_id
in: cookie
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/CreditsResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/api/models:
get:
tags:
- models
summary: Model List
operationId: model_list_api_models_get
parameters:
- required: false
schema:
title: Limit
maximum: 100.0
minimum: 0.0
type: integer
default: 0
name: limit
in: query
- required: false
schema:
title: Offset
minimum: 0.0
type: integer
default: 0
name: offset
in: query
- required: false
schema:
title: Search
type: string
name: search
in: query
- required: false
schema:
allOf:
- $ref: '#/components/schemas/ModelSortFields'
default: date_created
name: sort
in: query
- required: false
schema:
allOf:
- $ref: '#/components/schemas/Direction'
default: desc
name: direction
in: query
- required: false
schema:
title: X-Csrf-Token
type: string
name: x-csrf-token
in: header
- required: false
schema:
title: Api-Key
type: string
name: api-key
in: header
- required: false
schema:
title: Session Id
type: string
name: session_id
in: cookie
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/ModelListResponse'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/api/projects:
get:
tags:
- projects
summary: Project List
operationId: project_list_api_projects_get
parameters:
- required: false
schema:
title: Limit
maximum: 100.0
minimum: 0.0
type: integer
default: 50
name: limit
in: query
- required: false
schema:
title: Offset
minimum: 0.0
type: integer
default: 0
name: offset
in: query
- required: false
schema:
allOf:
- $ref: '#/components/schemas/ProjectSortFields'
default: created_at
name: sort
in: query
- required: false
schema:
allOf:
- $ref: '#/components/schemas/Direction'
default: desc
name: direction
in: query
- required: false
schema:
title: Owner
type: string
format: uuid
name: owner
in: query
- required: false
schema:
title: X-Csrf-Token
type: string
name: x-csrf-token
in: header
- required: false
schema:
title: Api-Key
type: string
name: api-key
in: header
- required: false
schema:
title: Session Id
type: string
name: session_id
in: cookie
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/ProjectListResponse'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
post:
tags:
- projects
summary: Project Create
operationId: project_create_api_projects_post
parameters:
- required: false
schema:
title: X-Csrf-Token
type: string
name: x-csrf-token
in: header
- required: false
schema:
title: Api-Key
type: string
name: api-key
in: header
- required: false
schema:
title: Session Id
type: string
name: session_id
in: cookie
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ProjectCreate'
required: true
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/ProjectResponse'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/api/projects/by-url:
get:
tags:
- projects
summary: Project Get By Url
description: Get project by url
operationId: project_get_by_url_api_projects_by_url_get
parameters:
- required: true
schema:
title: Project Url
type: string
name: project_url
in: query
- required: false
schema:
title: X-Csrf-Token
type: string
name: x-csrf-token
in: header
- required: false
schema:
title: Api-Key
type: string
name: api-key
in: header
- required: false
schema:
title: Session Id
type: string
name: session_id
in: cookie
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/ProjectResponse'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/api/projects/{project_id}:
put:
tags:
- projects
summary: Project Update
operationId: project_update_api_projects__project_id__put
parameters:
- required: true
schema:
title: Project Id
type: string
format: uuid4
name: project_id
in: path
- required: false
schema:
title: X-Csrf-Token
type: string
name: x-csrf-token
in: header
- required: false
schema:
title: Api-Key
type: string
name: api-key
in: header
- required: false
schema:
title: Session Id
type: string
name: session_id
in: cookie
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ProjectUpdate'
required: true
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/ProjectResponse'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
delete:
tags:
- projects
summary: Project Delete
operationId: project_delete_api_projects__project_id__delete
parameters:
- required: true
schema:
title: Project Id
type: string
format: uuid4
name: project_id
in: path
- required: false
schema:
title: X-Csrf-Token
type: string
name: x-csrf-token
in: header
- required: false
schema:
title: Api-Key
type: string
name: api-key
in: header
- required: false
schema:
title: Session Id
type: string
name: session_id
in: cookie
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/ProjectDeleteResp'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
patch:
tags:
- projects
summary: Project Rename
operationId: project_rename_api_projects__project_id__patch
parameters:
- required: true
schema:
title: Project Id
type: string
format: uuid4
name: project_id
in: path
- required: false
schema:
title: X-Csrf-Token
type: string
name: x-csrf-token
in: header
- required: false
schema:
title: Api-Key
type: string
name: api-key
in: header
- required: false
schema:
title: Session Id
type: string
name: session_id
in: cookie
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ProjectRename'
required: true
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/ProjectResponse'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/api/projects/{project_id}/export:
get:
tags:
- projects
summary: Project Export
description: Export project recordings into .zip archive
operationId: project_export_api_projects__project_id__export_get
parameters:
- required: true
schema:
title: Project Id
type: string
format: uuid4
name: project_id
in: path
- required: false
schema:
title: Starred Only
type: boolean
default: false
name: starred_only
in: query
- required: false
schema:
title: X-Csrf-Token
type: string
name: x-csrf-token
in: header
- required: false
schema:
title: Api-Key
type: string
name: api-key
in: header
- required: false
schema:
title: Session Id
type: string
name: session_id
in: cookie
responses:
'200':
description: Successful Response
content:
application/json:
schema: {}
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/api/folders:
get:
tags:
- folders
summary: Folder List
description: This is my super cool description
operationId: folder_list_api_folders_get
parameters:
- required: true
schema:
title: Project Id
type: string
format: uuid4
name: project_id
in: query
- required: false
schema:
title: Limit
maximum: 200.0
minimum: 0.0
type: integer
default: 50
name: limit
in: query
- required: false
schema:
title: Offset
minimum: 0.0
type: integer
default: 0
name: offset
in: query
- required: false
schema:
allOf:
- $ref: '#/components/schemas/Direction'
default: desc
name: direction
in: query
- required: false
schema:
title: X-Csrf-Token
type: string
name: x-csrf-token
in: header
- required: false
schema:
title: Api-Key
type: string
name: api-key
in: header
- required: false
schema:
title: Session Id
type: string
name: session_id
in: cookie
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/FolderListResponse'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
post:
tags:
- folders
summary: Folder Create
operationId: folder_create_api_folders_post
parameters:
- required: false
schema:
title: X-Csrf-Token
type: string
name: x-csrf-token
in: header
- required: false
schema:
title: Api-Key
type: string
name: api-key
in: header
- required: false
schema:
title: Session Id
type: string
name: session_id
in: cookie
requestBody:
content:
application/json:
sc
# --- truncated at 32 KB (136 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/respeecher/refs/heads/main/openapi/respeecher-openapi.yml