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

# Lyrics Generator

> Generate song lyrics from a text prompt.

## Overview

Generate structured song lyrics from a simple text prompt. Great for quickly scaffolding lyrics before feeding them into the [Song Generator](/voice-cloning/song-generator).

<Steps>
  <Step title="Provide a prompt">
    Describe the song topic, mood, or theme : e.g. `"tokyo"` or `"a rainy night in Mumbai"`.
  </Step>

  <Step title="Choose length">
    Set `length` to `"short"` for a quick verse or `"long"` for full multi-section lyrics.
  </Step>

  <Step title="Receive lyrics">
    The API returns structured lyrics ready to use in your song generation workflow.
  </Step>
</Steps>

<Note>
  Lyrics are generated in **English** only.
</Note>

***

## Request

```curl curl theme={null}
--request POST 'https://modelslab.com/api/v6/voice/lyrics_generator' \
```

***

## Body Parameters

<ParamField body="key" type="string" required>
  Your API key.
</ParamField>

<ParamField body="prompt" type="string" required>
  Topic or theme for the lyrics. E.g. `"tokyo"`, `"heartbreak"`, `"summer road trip"`.
</ParamField>

<ParamField body="length" type="string" default="short">
  Length of the generated lyrics. `"short"` for a single verse, `"long"` for full multi-section lyrics.
</ParamField>

<ParamField body="webhook" type="string">
  URL to receive a POST callback when generation completes.
</ParamField>

<ParamField body="track_id" type="integer">
  Custom ID sent with the webhook payload for request correlation.
</ParamField>

***

## Example Request

```json json theme={null}
{
  "key": "your_api_key",
  "prompt": "tokyo",
  "length": "short",
  "webhook": null,
  "track_id": null
}
```


## OpenAPI

````yaml POST /voice/lyrics_generator
openapi: 3.1.0
info:
  title: ModelsLab Voice API
  description: >-
    A comprehensive API for AI-driven voice and audio generation including
    text-to-speech, voice cloning, music generation, and audio processing
    capabilities
  license:
    name: MIT
  version: 6.0.0
servers:
  - url: https://modelslab.com/api/v6
security: []
paths:
  /voice/lyrics_generator:
    post:
      summary: Generate lyrics from prompt
      description: Generates lyrics based on a text prompt
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/LyricsGeneratorRequest'
      responses:
        '200':
          description: Lyrics generation response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VoiceResponse'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
components:
  schemas:
    LyricsGeneratorRequest:
      type: object
      required:
        - key
        - prompt
      properties:
        key:
          type: string
          description: Your API Key used for request authorization
        prompt:
          type: string
          description: Prompt to guide automatic lyrics generation
        length:
          type: string
          enum:
            - short
            - long
          default: short
          description: Desired length of generated lyrics
        webhook:
          type: string
          format: uri
          description: URL to receive POST notification upon completion
        track_id:
          type: integer
          description: ID returned in API response for webhook identification
    VoiceResponse:
      type: object
      properties:
        status:
          type: string
          enum:
            - success
            - processing
            - error
          description: Status of the voice generation
        generationTime:
          type: number
          description: Time taken to generate the audio in seconds
        id:
          type: integer
          description: Unique identifier for the voice generation
        output:
          type: array
          items:
            type: string
            format: uri
          description: Array of generated audio URLs
        proxy_links:
          type: array
          items:
            type: string
            format: uri
          description: Array of proxy audio URLs
        future_links:
          type: array
          items:
            type: string
            format: uri
          description: Array of future audio URLs for queued requests
        links:
          type: array
          items:
            type: string
            format: uri
          description: Array of audio URLs (voice cover response)
        meta:
          type: object
          description: Metadata about the audio generation including all parameters used
        eta:
          type: integer
          description: Estimated time for completion in seconds (processing status)
        message:
          type: string
          description: Status message or additional information
        tip:
          type: string
          description: Additional information or tips for the user
        fetch_result:
          type: string
          format: uri
          description: URL to fetch the result when processing
        audio_time:
          type: number
          description: Duration of the generated audio in seconds
    Error:
      type: object
      required:
        - status
        - message
      properties:
        status:
          type: string
          enum:
            - error
        message:
          type: string
          description: Error message description

````