---
title: "Sound Generation"
method: POST
path: "/v1/sounds/generate"
tags: ["Suprsonic"]
---

# Sound Generation

`POST /v1/sounds/generate`

## Request

- Base URL: `https://suprsonic.ai`
- URL: `https://suprsonic.ai/v1/sounds/generate`
- Auth: HTTP bearer
- TypeScript: <https://skmtc.dev/suprsonic/apis/suprsonic-unified-agent-api/docs/v1/sounds/generate/post.ts> (a function with typed inputs; its response is checked against the schema)

Generate sound effects and short music tracks from text prompts (NOT speech: use tts for spoken voice). Returns the audio as base64 with its format, sample rate and duration. Use for sound effects, ambience and short instrumental music. It produces no spoken words: for speech use tts. Cost: 4 credits, charged only when a call succeeds.

## Request body

- SoundGenerateRequest
  - `prompt` string, required
  - `duration_seconds` number, nullable
  - `prompt_influence` number
  - `output_format` string
  - `duration` number, nullable

## Response `200`

The call's envelope: success, data (the capability's result), metadata, and credits_used (0 when the call did not succeed).

- UnifiedResponse: Standard envelope for all unified API responses.
  - `success` boolean, required
  - `data` union
    - object
    - unknown[]
      - unknown
  - `error` UnifiedError: RFC 7807 problem detail for machine-actionable errors.
    - `type` string, required
    - `title` string, required
    - `status` integer, required
    - `detail` string, nullable
    - `is_retriable` boolean
    - `retry_after_seconds` integer, nullable
    - `alternative_action` string, nullable
    - `error_category` string
    - `caller_error` string, nullable
  - `metadata` UnifiedMetadata: Metadata included in every unified API response.
    - `provider_used` string, nullable
    - `providers_tried` string[]
    - `mode_used` string, nullable
    - `response_time_ms` integer
    - `request_id` string
    - `capability` string, nullable
    - `params` object, nullable
  - `credits_used` integer

## Other responses

- `401`: No API key, or one that was not found or is revoked.
- `402`: Not enough credits for this call. The error's alternative_action says where to add them.
- `403`: The account is restricted by a billing issue.
- `422`: Validation Error
- `429`: The key's rate limit is reached. The error's retry_after_seconds says when to try again.

## Changes

- **2026-11-01** `120f2dd4c855`: 7 info
  - added the optional property `detail/caller_error` to the response with the `401` status
  - added the optional property `detail/caller_error` to the response with the `402` status
  - added the optional property `detail/caller_error` to the response with the `403` status
  - added the optional property `detail/caller_error` to the response with the `429` status
  - …3 more
- **2026-10-23** `9edc3bfe1b9c`: 2 info
  - added the optional property `detail/items/ctx` to the response with the `422` status
  - added the optional property `detail/items/input` to the response with the `422` status
- **2026-10-19** `8134f9a5b206`: 2 breaking, 15 info
  - the response's body type changed from no type to `object` for status `200`
  - the `detail/items/` response's property type changed from no type to `object` for status `422`
  - api operation id `unified_sound_generate_v1_sounds_generate_post` removed and replaced with `sound-generate`
  - api tag `Suprsonic` added
  - …13 more
- **2026-10-05** `82b84752842e`: 2 info
  - the `duration_seconds` request property default value `5` was removed
  - request property `duration_seconds` list-of-types was widened by adding types `null` to media type `application/json`

[Operation history](https://skmtc.dev/suprsonic/apis/suprsonic-unified-agent-api/changes/v1/sounds/generate/post.md)

---

[API](https://skmtc.dev/suprsonic/apis/suprsonic-unified-agent-api.md) - [All operations](https://skmtc.dev/suprsonic/apis/suprsonic-unified-agent-api/llms.txt) - [OpenAPI document](https://skmtc.dev/suprsonic/apis/suprsonic-unified-agent-api/revisions/120f2dd4c855?raw)
