Skip to main content
POST
  1. After submission, a task_id will be returned. If you provided a callback_url, when the task status becomes finished or failed, a POST request will be sent to the callback_url.
  2. Regardless of whether callback_url is provided, you can retrieve the response result through the unified Query Music Detail endpoint.
persona_model accepts style_persona or voice_persona, requires persona_id, and is supported only when default_param_flag: true with V5, V5_5, V6, V6_MINI, or V6_WILD.

Usage Guide

  • This endpoint is always custom mode. default_param_flag: false is rejected
  • Upload an existing audio track and specify where to continue from
  • The AI generates additional content that seamlessly blends with the original
  • Uploaded audio files must not exceed 8 minutes in length (Note: For V4_5ALL model, max 1 minute)

Parameter Details

  • When default_param_flag: true (Custom Parameters Mode):
    • Full control over style, title, and other parameters
    • If instrumental: true: upload_url, mv, style, title, and continue_at are required
    • If instrumental: false: upload_url, mv, style, title, and continue_at are required. prompt is optional and is used when provided
    • Character limits vary by model:
      • V4: prompt 3000 characters, style 200 characters, title 80 characters
      • V4_5 & V4_5PLUS: prompt 5000 characters, style 1000 characters, title 100 characters
      • V4_5ALL: prompt 5000 characters, style 1000 characters, title 80 characters
      • V5: prompt 5000 characters, style 1000 characters, title 100 characters
      • V5_5: prompt 5000 characters, style 1000 characters, title 100 characters
      • V6, V6_MINI, and V6_WILD: prompt 5000 characters, style 1000 characters, title 100 characters

Developer Notes

  • default_param_flag must be omitted or true. false is rejected.
  • The continue_at parameter determines where the extension begins - set it to the point where you want new content to start

Optional parameters

  • prompt (string): Optional description or lyrics for the extended audio. If omitted for vocal output, lyrics are generated automatically.
  • style (string): Music style specification. Required when default_param_flag is true.
  • title (string): Track title for the extended audio. Character limits vary by model (V4 and V4_5ALL: 80; V4_5, V4_5PLUS, V5, V5_5, V6, V6_MINI, and V6_WILD: 100).
  • negative_tags (string): Music styles to exclude from generation.
  • vocal_gender (string): Vocal gender preference. Use m for male, f for female. Note: This parameter can only increase the probability but cannot guarantee the specified gender.
  • style_weight (number): Strength of adherence to style. Range 0-1, up to 2 decimals.
  • weirdness_constraint (number): Controls creative deviation. Range 0-1, up to 2 decimals.
  • audio_weight (number): Balance weight for audio features. Range 0-1, up to 2 decimals.
  • persona_id (string): Persona ID to apply to the generated music. Only available when default_param_flag: true with V5, V5_5, V6, V6_MINI, or V6_WILD. How to generate persona_id, visit generate-persona.

Authorizations

Authorization
string
header
required

All API endpoints require Bearer Token authentication.

Create an API key: sign in to PoYo, open Dashboard → API Key at poyo.ai/dashboard/api-key, and click to create a key.

Add it to the request header:

Body

application/json
model
enum<string>
required

API model identifier.

Must be upload-and-extend-audio for this endpoint.

Available options:
upload-and-extend-audio
Example:

"upload-and-extend-audio"

input
object
required

Input parameters for audio extension

callback_url
string<uri>

Webhook callback URL for result notifications

Example:

"https://your-domain.com/callback"

Response

200 - application/json

Task submitted successfully

code
enum<integer>
required

Business status code. 200 means success; any other value means the request failed. Always check this field: some validation errors return HTTP 200 with code: 400 in the body.

  • 200: Success
  • 400: Invalid request parameters
  • 401: Missing or invalid API key
  • 402: Insufficient credits
  • 403: Permission denied
  • 404: Resource not found
  • 408: Request timeout
  • 429: Rate limit exceeded
  • 500: Internal server error
  • 502: Upstream service error
  • 503: Service unavailable

See Error Codes for details.

Available options:
200,
400,
401,
402,
403,
404,
408,
429,
500,
502,
503
Example:

200

data
object
required