> ## Documentation Index
> Fetch the complete documentation index at: https://apidoc.cometapi.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Kling tekst-naar-audio maken

> Gebruik de Kling Text to Audio API in CometAPI om tekstprompts om te zetten in audio met instellingen voor stemstijl, duuropties en output die klaar is voor streaming.

Gebruik dit endpoint om via Kling een korte audioclip te genereren op basis van een tekstprompt.

## Voordat je het aanroept

* Houd `prompt` beknopt en duidelijk
* Begin met `duration` tussen 3 en 10 seconden
* Behandel `callback_url` en `external_task_id` als optionele integratiehulpen, niet als kernvereisten

## Taakverloop

<Steps>
  <Step title="Verzend de audiotaak">
    Verstuur de tekstprompt en duur en sla vervolgens de geretourneerde task id op.
  </Step>

  <Step title="Poll de taak">
    Ga verder met [Een Kling-taak ophalen](./individual-queries) via het Kling-audioquerypad totdat de taak een eindstatus bereikt.
  </Step>

  <Step title="Sla de audio-output op">
    Bewaar het uiteindelijke audio-item als je het langer nodig hebt dan het leveringsvenster van de provider.
  </Step>
</Steps>

<Tip>
  Zie voor de volledige parameterreferentie de [officiële Kling-documentatie](https://app.klingai.com/global/dev/document-api/apiReference/model/textToAudio).
</Tip>


## OpenAPI

````yaml api/openapi/video/kling/post-text-to-audio.openapi.json POST /kling/v1/audio/text-to-audio
openapi: 3.1.0
info:
  title: Text to Audio API
  version: 1.0.0
  description: Create a Kling audio-generation task from a text prompt.
servers:
  - url: https://api.cometapi.com
security:
  - bearerAuth: []
paths:
  /kling/v1/audio/text-to-audio:
    post:
      summary: Create a Kling text-to-audio task
      description: >-
        Submit a text prompt and duration, then poll the returned task id
        through the generic Kling query route.
      operationId: text_to_audio
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - prompt
                - duration
              properties:
                prompt:
                  type: string
                  description: >-
                    Text prompt describing the audio to generate. Max 200
                    characters.
                duration:
                  type: integer
                  description: >-
                    Duration of the generated audio in seconds. Range: 3.0–10.0,
                    supports one decimal place.
                external_task_id:
                  type: string
                  description: >-
                    Optional user-defined task ID for your own tracking. Does
                    not replace the system-generated task ID. Must be unique per
                    account.
                callback_url:
                  type: string
                  description: >-
                    Webhook URL for task status notifications. The server sends
                    a callback when the task status changes.
              default:
                prompt: Soft ambient ocean waves at sunrise.
                duration: 5
            examples:
              Validated request:
                summary: Validated request
                value:
                  prompt: Soft ambient ocean waves at sunrise.
                  duration: 5
      responses:
        '200':
          description: Task accepted.
          content:
            application/json:
              schema:
                type: object
                required:
                  - code
                  - message
                  - data
                properties:
                  code:
                    type: integer
                    description: |
                      Error code; specific error code definition
                  message:
                    type: string
                    description: |
                      Error message
                  data:
                    type: object
                    required:
                      - task_id
                      - task_status
                      - created_at
                      - updated_at
                    properties:
                      task_id:
                        type: string
                        description: |
                          Task ID, system-generated
                      task_status:
                        type: string
                        description: >
                          Task status, enum values: submitted, processing,
                          succeed, failed
                      created_at:
                        type: integer
                        description: |+
                          Task creation time, Unix timestamp, in ms

                      updated_at:
                        type: integer
                        description: |
                          Task update time, Unix timestamp, in ms
                example:
                  code: 0
                  message: SUCCEED
                  data:
                    task_id: '861254119619698760'
                    task_status: submitted
                    task_info: {}
                    created_at: 1773367502225
                    updated_at: 1773367502225
      x-codeSamples:
        - lang: Shell
          label: Default
          source: |
            curl https://api.cometapi.com/kling/v1/audio/text-to-audio \
              -H "Authorization: Bearer $COMETAPI_KEY" \
              -H "Content-Type: application/json" \
              -d '{
                  "prompt": "Soft ambient ocean waves at sunrise.",
                  "duration": 5
                }'
        - lang: Python
          label: Default
          source: >
            import os

            import requests


            response = requests.post(
                "https://api.cometapi.com/kling/v1/audio/text-to-audio",
                headers={"Authorization": "Bearer " + os.environ["COMETAPI_KEY"]},
                json={
                        "prompt": "Soft ambient ocean waves at sunrise.",
                        "duration": 5
                },
            )


            result = response.json()

            print(result["code"], result.get("data", {}).get("task_id"))  # code
            0 means submitted; poll the matching query endpoint until
            task_status is succeed
        - lang: JavaScript
          label: Default
          source: >
            const response = await
            fetch("https://api.cometapi.com/kling/v1/audio/text-to-audio", {
                method: "POST",
                headers: {
                    Authorization: `Bearer ${process.env.COMETAPI_KEY}`,
                    "Content-Type": "application/json",
                },
                body: JSON.stringify({
                        "prompt": "Soft ambient ocean waves at sunrise.",
                        "duration": 5
                    }),
            });


            const result = await response.json();

            console.log(result.code, result.data?.task_id); // code 0 means
            submitted; poll the matching query endpoint until task_status is
            succeed
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: Bearer token authentication. Use your CometAPI key.

````