CraftStory Sound Effects API

The sound-effects API from CraftStory — 3 operation(s) for sound-effects.

GitHub OpenAPI

Operations 5

GET /sound-effects/ List your sound effects #
POST /sound-effects/ Create a sound effect #
GET /sound-effects/{id}/ Get one sound effect #
DELETE /sound-effects/{id}/ Delete a sound effect #
GET /sound-effects/{id}/status/ Poll a job #

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/craftstory-com:craftstory-com-sound-effects-api"
All apis
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.

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

craftstory-com-sound-effects-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Craftstory Com Sound Effects API
  version: 1.0.0
  description: 'Operations tagged sound-effects across 2 of this provider''s published API definitions: craftstory-com-swagger.json, craftstory-com-openapi.yml. Each path carries the servers of the definition it was published in.'
servers:
- url: https://api.craftstory.com/api/v1
security:
- ApiKey: []
tags:
- name: sound-effects
paths:
  /sound-effects/:
    parameters: []
    get:
      operationId: sound-effects_list
      summary: List your sound effects
      description: 'Sound effects and ambience from a text prompt, 0.5–30 s.


        Accepts ``Authorization: Bearer sk-cs-...`` API keys. Create an effect with

        ``POST``, poll ``GET /sound-effects/{id}/status/`` until ``done``, then read

        ``audio_url`` (MP3) from ``GET /sound-effects/{id}/``.'
      parameters:
      - name: limit
        in: query
        description: Number of results to return per page.
        required: false
        schema:
          type: integer
      - name: offset
        in: query
        description: The initial index from which to return the results.
        required: false
        schema:
          type: integer
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/SoundEffect'
      tags:
      - sound-effects
    post:
      operationId: sound-effects_create
      summary: Create a sound effect
      description: 'JSON or form. `prompt` describes the sound: what makes it, where, how close, e.g. "coffee poured into a ceramic mug, quiet cafe in the background". `duration_s` 0.5–30; leave it out and the model picks a length that suits the sound. `loop` (default false) makes an ambience that repeats seamlessly. `prompt_influence` 0–1: higher follows the prompt more literally, lower lets the model vary.


        1 credit per started 5 seconds, 2 at least (2 when the model picks the length), charged up front and refunded in full if the job fails. An effect takes a few seconds.


        Poll `GET /sound-effects/{id}/status/`, then read `audio_url` from `GET /sound-effects/{id}/`.'
      responses:
        '201':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SoundEffect'
      tags:
      - sound-effects
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SoundEffectCreate'
        required: true
    servers:
    - url: https://api.craftstory.com/api/v1
  /sound-effects/{id}/:
    parameters:
    - name: id
      in: path
      required: true
      schema:
        type: string
    get:
      operationId: sound-effects_read
      summary: Get one sound effect
      description: 'Sound effects and ambience from a text prompt, 0.5–30 s.


        Accepts ``Authorization: Bearer sk-cs-...`` API keys. Create an effect with

        ``POST``, poll ``GET /sound-effects/{id}/status/`` until ``done``, then read

        ``audio_url`` (MP3) from ``GET /sound-effects/{id}/``.'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SoundEffect'
      tags:
      - sound-effects
    delete:
      operationId: sound-effects_delete
      summary: Delete a sound effect
      description: 'Sound effects and ambience from a text prompt, 0.5–30 s.


        Accepts ``Authorization: Bearer sk-cs-...`` API keys. Create an effect with

        ``POST``, poll ``GET /sound-effects/{id}/status/`` until ``done``, then read

        ``audio_url`` (MP3) from ``GET /sound-effects/{id}/``.'
      responses:
        '204':
          description: ''
      tags:
      - sound-effects
    servers:
    - url: https://api.craftstory.com/api/v1
  /sound-effects/{id}/status/:
    parameters:
    - name: id
      in: path
      required: true
      schema:
        type: string
    get:
      operationId: sound-effects_job_status
      summary: Poll a job
      description: 'Sound effects and ambience from a text prompt, 0.5–30 s.


        Accepts ``Authorization: Bearer sk-cs-...`` API keys. Create an effect with

        ``POST``, poll ``GET /sound-effects/{id}/status/`` until ``done``, then read

        ``audio_url`` (MP3) from ``GET /sound-effects/{id}/``.'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SoundEffectStatus'
      tags:
      - sound-effects
    servers:
    - url: https://api.craftstory.com/api/v1
components:
  schemas:
    SoundEffect:
      required:
      - prompt
      - credits
      type: object
      properties:
        id:
          title: Id
          type: string
          format: uuid
          readOnly: true
        name:
          title: Name
          type:
          - string
          - 'null'
          maxLength: 512
        status:
          title: Status
          type: string
          enum:
          - created
          - in_progress
          - done
          - failed
        status_failed:
          title: Status failed
          type:
          - string
          - 'null'
          enum:
          - rejected_prompt
          - failed_generation
          - null
        status_percentage:
          title: Status percentage
          type: integer
          readOnly: true
        credits_refunded:
          title: Credits refunded
          type: boolean
          readOnly: true
        prompt:
          title: Prompt
          type: string
          minLength: 1
        prompt_suggestion:
          title: Prompt suggestion
          type: string
        duration_s:
          title: Requested duration, seconds
          type:
          - number
          - 'null'
        loop:
          title: Loop
          type: boolean
        prompt_influence:
          title: Prompt influence
          type:
          - number
          - 'null'
        credits:
          title: Credits
          type: integer
          maximum: 2147483647
          minimum: 0
        audio_url:
          title: Audio url
          type:
          - string
          - 'null'
          readOnly: true
        created:
          title: Created
          type: string
          format: date-time
          readOnly: true
        updated:
          title: Updated
          type: string
          format: date-time
          readOnly: true
    SoundEffectStatus:
      type: object
      properties:
        status:
          title: Status
          type: string
          enum:
          - created
          - in_progress
          - done
          - failed
        status_failed:
          title: Status failed
          type:
          - string
          - 'null'
          enum:
          - rejected_prompt
          - failed_generation
          - null
        status_failed_display:
          title: Status failed display
          type: string
          readOnly: true
        status_percentage:
          title: Status percentage
          type: integer
          readOnly: true
        credits_refunded:
          title: Credits refunded
          type: boolean
          readOnly: true
    SoundEffectCreate:
      required:
      - prompt
      type: object
      properties:
        id:
          title: Id
          type: string
          format: uuid
          readOnly: true
        name:
          title: Name
          type:
          - string
          - 'null'
          maxLength: 512
        prompt:
          title: Prompt
          type: string
          maxLength: 1000
          minLength: 1
        duration_s:
          title: Duration s
          type:
          - number
          - 'null'
          maximum: 30
          minimum: 0.5
        loop:
          title: Loop
          type: boolean
          default: false
        prompt_influence:
          title: Prompt influence
          type:
          - number
          - 'null'
          maximum: 1
          minimum: 0
        credits:
          title: Credits
          type: integer
          readOnly: true
  securitySchemes:
    ApiKey:
      type: apiKey
      name: Authorization
      in: header
      description: Enter 'Bearer sk-cs-...' (your API key from Account → API Access).
x-refined-from:
- craftstory-com-swagger.json
- craftstory-com-openapi.yml