AudioStack Assets - Sound Templates API
The Assets - Sound Templates API from AudioStack — 1 operation(s) for assets - sound templates.
The Assets - Sound Templates API from AudioStack — 1 operation(s) for assets - sound templates.
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/audiostack:audiostack-assets-sound-templates-api"
curl "https://apis.io/api/v1/apis?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a 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: 3.2.0
info:
title: Audiostack Assets - Sound Templates API
description: Documentation for the Audiostack API - the infrastructure for audio
version: v2
termsOfService: https://audiostack.ai/en/legal/terms-of-service
contact:
email: support@audiostack.ai
servers:
- url: https://v2.api.audio
description: Production server
- url: https://staging-v2.api.audio
description: Staging server
security:
- ApiKeyAuth: []
- BearerAuth: []
tags:
- name: Assets - Sound Templates
paths:
/assets/sound-templates/query:
post:
tags:
- Assets - Sound Templates
summary: Search AudioStack's music library for the right music for your audio
description: 'Enables you to search AudioStack''s music library from the API in a similar way to how you
would on the front end.
You can provide a search string e.g. "christmas"
You can defined a complex filter to narrow down the results such as:
Find all matches for
* `classical` or `blues` genre
* include `bells` in the instrument
* BPM greater than or equal to `95`'
operationId: postSoundTemplatesQuery
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/PostSoundTemplatesQueryRequest'
responses:
'200':
description: Sound templates successfully queried
content:
application/json:
schema:
$ref: '#/components/schemas/PostSoundTemplatesQueryResponse'
'422':
description: Invalid request cannot be processed
content:
application/json:
schema:
$ref: '#/components/schemas/PostSoundTemplatesQueryUnprocessableEntityResponse'
components:
schemas:
SoundTemplateResponse:
type: object
description: Sound template item in the query response.
required:
- alias
- name
- soundTemplateId
- audioSample
- duration
- type
- meta
properties:
alias:
type: string
example: dusty_jeans
title: Sound template alias
description: 'The alias of the sound template.
'
name:
type: string
example: Dusty Jeans
title: Sound template name
description: 'The name of the sound template.
'
soundTemplateId:
type: string
example: fe7d1e45-bb7d-4150-93c5-f17f8ce232b8
title: Sound template ID
description: 'The ID of the sound template.
'
segmentNames:
type: array
items:
type: string
example:
- main
title: Segment names
description: 'The names of the segments in the sound template. Currently used by audioform but will be deprecated in the future.
'
audioSample:
type: string
format: uri
example: https://file.api.audio/template-samples-prod/dusty_jeans.mp3
title: Audio sample
description: 'The audio sample of the sound template.
'
duration:
type: number
format: float
example: '112.7'
title: Duration in seconds
description: 'The duration of the sound template in seconds.
'
type:
oneOf:
- type: string
title: Sound template types
description: Sound template visibility in the library (public or private).
enum:
- public
- private
- type: string
title: Non-standard sound template types
description: Non-standard sound template types.
example: public
title: Type
description: 'The type of the sound template. Most templates are either `public` or `private`.
'
meta:
type: object
title: Metadata
description: 'Additional metadata for the sound template.
'
properties:
bpm:
type: integer
example: 115
title: BPM
description: 'The beats per minute of the sound template.
'
genre:
type: array
items:
type: string
title: Genre
description: Allowed values for sound-template genre.
enum:
- afro
- ambient
- arab
- asian
- blues
- childrenJingle
- classical
- electronicDance
- folkCountry
- funkSoul
- indian
- jazz
- latin
- metal
- pop
- rapHipHop
- reggae
- rnb
- rock
- singerSongwriters
- sound
- soundtrack
- spokenWord
title: Genre
description: 'The genres of the sound template.
'
example:
- classical
- blues
instrument:
type: array
items:
type: string
title: Instrument
description: Allowed values for instruments.
enum:
- accordion
- acousticGuitar
- africanPercussion
- asianFlute
- asianStrings
- banjo
- bass
- bassGuitar
- bells
- bongoConga
- brass
- cello
- celeste
- churchOrgan
- clarinet
- doubleBass
- drumKit
- electricGuitar
- electricOrgan
- electricPiano
- electronicDrums
- flute
- frenchHorn
- glockenspiel
- harp
- harpsichord
- luteOud
- mandolin
- marimba
- oboe
- percussion
- piano
- pizzicato
- sax
- sitar
- steelDrums
- strings
- synth
- tabla
- taiko
- trumpet
- tuba
- ukulele
- vibraphone
- violin
- woodwinds
- xylophone
title: Instrument
description: 'The instruments used in the sound template.
'
example:
- piano
- strings
energy:
type: array
items:
type: string
title: Energy
description: Allowed values for sound-template energy.
enum:
- high
- medium
- low
- variable
title: Energy
description: 'The energy of the sound template.
'
example:
- low
key:
type: array
items:
type: string
title: Musical Key
description: Allowed values for sound-template key.
enum:
- abMajor
- aMajor
- aMinor
- bbMajor
- bbMinor
- bMajor
- bMinor
- cMajor
- cMinor
- csMinor
- dbMajor
- dMajor
- dMinor
- dsMinor
- ebMajor
- eMajor
- eMinor
- fMajor
- fMinor
- fsMajor
- fsMinor
- gMajor
- gMinor
- gsMinor
title: Key
description: 'The key of the sound template.
'
example:
- aMajor
mood:
type: array
items:
type: string
title: Allowed moods
description: Moods are used to guide sound design recommendation from AudioStack's sound library.
enum:
- aggressive
- calm
- chilled
- dark
- energetic
- epic
- ethereal
- happy
- romantic
- sad
- scary
- sexy
- uplifting
title: Mood
description: 'The moods of the sound template.
'
example:
- calm
tempo:
type: array
items:
type: string
title: Tempo
description: Allowed values for sound-template tempo.
enum:
- slow
- medium
- fast
title: Tempo
description: 'The tempo of the sound template.
'
example:
- medium
holidays:
type: array
items:
type: string
title: Holidays
description: The holidays for which the sound template is applicable.
enum:
- Christmas
- Valentines
- Summer
- Easter
- Halloween
- Other
title: Holidays
description: 'The holidays for which the sound template is applicable.
'
example:
- Christmas
PostSoundTemplatesQueryResponse:
allOf:
- $ref: '#/components/schemas/GetStoryResponse/allOf/0'
- type: object
properties:
message:
type: string
description: Success message.
example: Fetched sound templates
data:
type: object
required:
- soundTemplates
- pageInfo
properties:
soundTemplates:
minItems: 0
type: array
items:
$ref: '#/components/schemas/SoundTemplateResponse'
pageInfo:
$ref: '#/components/schemas/PostVoicesQueryResponse/allOf/1/properties/data/properties/pageInfo'
required:
- message
- data
GetStoryResponse:
allOf:
- type: object
properties:
meta:
type: object
properties:
requestId:
type: string
format: uuid
title: Request ID
version:
type: string
enum:
- '123'
default: '123'
deprecated: true
creditsUsed:
type: number
title: Credits used
default: 0
deprecated: true
creditsRemaining:
type: number
title: Credits remaining
default: 0
deprecated: true
warnings:
type: array
items:
type: string
default: []
title: Response warnings
required:
- meta
- warnings
- type: object
properties:
message:
type: string
description: Optional. When the job completed with an error, details the problem.
data:
type: object
properties:
storyId:
title: Story ID
type: string
format: uuid
example: 00000000-0000-0000-0000-000000000000
description: The unique identifier of the story creation request.
storyResult:
title: Story Result
description: The final story result (same shape as the Story type). Present when the job produced a story; may be absent or partial on failure.
$ref: '#/components/schemas/CreateStoryFromBodyRequest/properties/story'
audioforms:
title: Audioforms
type: array
description: List of generated audioforms when the job completed successfully. Each item is an AudioformResult. Optional; absent or partial on failure.
items:
anyOf:
- $ref: '#/components/schemas/AudioformResult3/properties/AudioformResult'
output:
title: Output
description: Audio output details when the job completed successfully. Present on success; absent on failure.
type: object
properties:
audioformUris:
title: Audioform URIs
type: array
description: List of delivery URIs for the individual audioforms.
items:
type: string
format: uri
public:
title: Public
type: boolean
description: Whether the generated audio files are publicly accessible.
singleAudioFileUri:
title: Single Audio File URI
type: string
format: uri
description: URI for a single merged audio file combining all audioforms.
extension:
type: string
title: Extension
enum:
- mp3
- wav
- ogg
- flac
- m4a
required:
- audioformUris
- public
- extension
additionalProperties: false
required:
- storyId
additionalProperties: false
required:
- data
- example:
meta:
version: '123'
requestId: 165e5b01-43b3-45df-b992-75af149f3c3d
creditsUsed: 10
creditsRemaining: 990
message: Story build completed successfully
warnings: []
data:
storyId: 0d694352-266c-4a62-b09f-4e910657af11
storyResult:
title: My Podcast
chapters: []
voices: []
sounds: {}
production: {}
delivery: {}
audioforms: []
output:
audioformUris:
- https://v2.api.audio/public-file/aaaaaaaa-0000-0000-0000-000000000001
- https://v2.api.audio/public-file/aaaaaaaa-0000-0000-0000-000000000002
public: true
singleAudioFileUri: https://v2.api.audio/public-file/aaaaaaaa-0000-0000-0000-000000000003
extension: mp3
additionalProperties: false
title: Get Story Response
PostVoicesQueryResponse:
allOf:
- $ref: '#/components/schemas/GetStoryResponse/allOf/0'
- type: object
properties:
message:
type: string
description: Success message.
example: Fetched voices
data:
type: object
required:
- voices
- pageInfo
properties:
voices:
minItems: 0
type: array
items:
$ref: '#/components/schemas/VoiceResponse'
pageInfo:
type: object
description: Pagination information for list endpoints.
properties:
page:
type: integer
description: Current page number (1-indexed).
pageItemsCount:
type: integer
description: Number of items on this page.
itemsTotal:
type: integer
description: Total number of items across all pages.
pagesTotal:
type: integer
description: Total number of pages.
pageLimit:
type: integer
description: Maximum items per page.
required:
- page
- pageItemsCount
- itemsTotal
- pagesTotal
- pageLimit
required:
- message
- data
SoundTemplatesSortValues:
type: string
enum:
- alias
description: Field to sort results by. If omitted, results are sorted by AudioStack's internal sorting.
PostSoundTemplatesQueryUnprocessableEntityResponse:
type: object
description: Error response when sound template query fails (e.g. search service error).
properties:
message:
type: string
example: "1 validation error for SoundTemplateQueryPayload. Field required [type=missing, input_value={'energy': ['invalid']}, input_type=dict]\n For further information visit https://errors.pydantic.dev/2.11/v/missing\nfilters.0.in.EnergyFilter.energy.0\n Input should be 'variable', 'low', 'medium' or 'high' [type=enum, input_value='invalid', input_type=str]"
errors:
type: array
example:
- Validation error
items:
type: string
PostSoundTemplatesQueryRequest:
type: object
description: Request body for sound-templates query endpoint.
properties:
query:
type: string
default: ''
example: christmas
title: Search query
description: 'Free text search query passed to the search engine. This is used to search for sound templates with some fuzzy matching.
'
filters:
type: array
title: Filters
description: 'Filters to apply. Each item is an object with one operator key (e.g. "in")
and a value object with one filter field and its values.
'
items:
type: object
title: Sound templates filter
description: Filter object for sound template queries.
properties:
in:
oneOf:
- type: object
title: Alias filter
required:
- alias
additionalProperties: false
properties:
alias:
type: array
items:
type: string
title: Specify alias filter condition
description: 'Specify the alias filter condition. You can specify multiple accepted values by adding them to the array.
'
- type: object
title: Energy filter
required:
- energy
additionalProperties: false
properties:
energy:
type: array
items:
$ref: '#/components/schemas/SoundTemplateResponse/properties/meta/properties/energy/items'
title: Specify energy filter condition
description: 'Specify the energy filter condition. You can specify multiple accepted values by adding them to the array.
'
- type: object
title: Genre filter
required:
- genre
additionalProperties: false
properties:
genre:
type: array
items:
$ref: '#/components/schemas/SoundTemplateResponse/properties/meta/properties/genre/items'
title: Specify genre filter condition
description: 'Specify the genre filter condition. You can specify multiple accepted values by adding them to the array.
'
- type: object
title: Instrument filter
required:
- instrument
additionalProperties: false
properties:
instrument:
type: array
items:
$ref: '#/components/schemas/SoundTemplateResponse/properties/meta/properties/instrument/items'
title: Specify instrument filter condition
description: 'Specify the instrument filter condition. You can specify multiple accepted values by adding them to the array.
'
- type: object
title: Key filter
required:
- key
additionalProperties: false
properties:
key:
type: array
items:
$ref: '#/components/schemas/SoundTemplateResponse/properties/meta/properties/key/items'
title: Specify key filter condition
description: 'Specify the key filter condition. You can specify multiple accepted values by adding them to the array.
'
- type: object
title: Mood filter
required:
- mood
additionalProperties: false
properties:
mood:
type: array
items:
$ref: '#/components/schemas/SoundTemplateResponse/properties/meta/properties/mood/items'
title: Specify mood filter condition
description: 'Specify the mood filter condition. You can specify multiple accepted values by adding them to the array.
'
- type: object
title: Tempo filter
required:
- tempo
additionalProperties: false
properties:
tempo:
type: array
items:
$ref: '#/components/schemas/SoundTemplateResponse/properties/meta/properties/tempo/items'
title: Specify tempo filter condition
description: 'Specify the tempo filter condition. You can specify multiple accepted values by adding them to the array.
'
- type: object
title: Holidays filter
required:
- holidays
additionalProperties: false
properties:
holidays:
type: array
items:
$ref: '#/components/schemas/SoundTemplateResponse/properties/meta/properties/holidays/items'
title: Specify holidays filter condition
description: 'Specify the holidays filter condition. You can specify multiple accepted values by adding them to the array.
'
- type: object
title: Type filter
required:
- type
additionalProperties: false
properties:
type:
type: array
items:
$ref: '#/components/schemas/SoundTemplateResponse/properties/type/oneOf/0'
title: Specify type filter condition
description: 'Specify the type filter condition. You can specify multiple accepted values by adding them to the array.
'
greaterThanOrEquals:
oneOf:
- type: object
title: BPM filter
required:
- bpm
additionalProperties: false
properties:
bpm:
type: integer
title: Specify BPM filter condition
description: 'Specify the BPM filter condition as an integer value.
'
lessThanOrEquals:
oneOf:
- type: object
title: BPM filter
required:
- bpm
additionalProperties: false
properties:
bpm:
type: integer
title: Specify BPM filter condition
description: 'Specify the BPM filter condition as an integer value.
'
example:
- in:
genre:
- classical
- blues
- in:
instrument:
- bells
- greaterThanOrEquals:
bpm: 95
forceApplyFilters:
title: Force apply filters
type: boolean
default: true
description: 'When true, applies filters strictly even with few results. In instances where the filters
are overly restrictive, you may get fewer results than desired.
'
minimumNumberOfResults:
type: integer
default: 3
title: Minimum number of results
description: 'In instances where you want to ensure a minimum number of results, you can set this parameter.
You must also set forceApplyFilters to false. Filter conditions will be relaxed to attempt to
return the minimum number of results.
'
sort:
title: Sort field
$ref: '#/components/schemas/SoundTemplatesSortValues'
page:
type: integer
minimum: 1
default: 1
title: Page number
description: Page number to return (1-indexed).
pageLimit:
type: integer
minimum: 1
default: 1000
title: Page limit
description: Number of items per page.
securitySchemes:
ApiKeyAuth:
type: apiKey
in: header
name: x-api-key
BearerAuth:
type: http
scheme: bearer
bearerFormat: JWT