clipIdpath · RequiredDerive a clip
/api/v1/suno/clips/{clipId}/deriveAuthentication · x-api-key
Extend or cover an existing Suno clip. Extend includes automatic Concat finalization in the same task and charge; use the resource with role=final as the complete song. There is no public Concat endpoint.
Request
Idempotency-Keyheader · OptionalUnique key for one logical write. Retrying the same body with the same key replays the original result; reusing it with a different body returns 409.
Maximum characters: 255.Preferheader · OptionalSet to respond-async to skip the acknowledgement wait and return the generation receipt immediately.
Unknown fields are not accepted.
-
Request ·
actionRequired"extend" | "cover"extend continues an existing clip and automatically concatenates the selected continuation into one final song; cover reinterprets an existing clip.
-
Request ·
configOptionalobjectStandard task configuration: priority, tags, metadata, and webhookUrl.
4 fields
-
Request ·
config.metadataOptionalobjectFree-form caller metadata, echoed back on read. Stored as opaque JSON; the server never mutates it.
-
Request ·
config.priorityOptionalnumberTask priority 1-10 (higher = sooner). Default 5.
Minimum: 1. Maximum: 10. Default: 5.
-
Request ·
config.webhookUrlOptionalstringURL to receive task.* lifecycle events via the central webhook service.
Format: uri.
-
-
Request ·
continueAtOptionalnumberTimestamp in seconds to continue from. Values beyond the source duration are forwarded unchanged and Suno continues from the clip end.
Minimum: 0.
-
Request ·
continuedAlignedPromptOptionalstringOptional aligned continuation prompt for action=extend.
Maximum characters: 5000.
-
Request ·
controlSlidersOptionalobjectOptional bounded generation-control weights.
3 fields
-
Request ·
controlSliders.audio_weightOptionalnumberSource-audio adherence weight from 0 to 1.
Minimum: 0. Maximum: 1.
-
Request ·
controlSliders.style_weightOptionalnumberStyle adherence weight from 0 to 1.
Minimum: 0. Maximum: 1.
-
Request ·
controlSliders.weirdness_constraintOptionalnumberCreative-variation constraint from 0 to 1.
Minimum: 0. Maximum: 1.
-
-
Request ·
isInstrumentalOptionalbooleanOptional instrumental intent for the derived result.
-
Request ·
isRemixOptionalbooleanOptional remix intent for the derived result.
-
Request ·
modelOptional"chirp-hawk" | "chirp-hawk-wild" | "chirp-goose" | "chirp-auk-turbo" | "chirp-v4" | "chirp-auk" | "chirp-bluejay" | "chirp-crow" | "chirp-fenix"Current models: chirp-hawk, chirp-hawk-wild, chirp-goose. Legacy generation names and underscore spellings remain accepted: auk-turbo executes on goose; v4, auk, bluejay, crow and fenix execute on hawk. Requested model pricing and the legacy feature envelope are preserved. Omitted model retains the chirp-fenix pricing identity and executes on chirp-hawk.
Default: "chirp-fenix".
-
Request ·
promptOptionalstringPrimary creative or operation instruction.
Maximum characters: 5000.
-
Request ·
titleOptionalstringOptional customer-facing title.
Maximum characters: 100.
Responses
200 OK
application/json
Unknown fields are not accepted.
-
Response 200 ·
autoFinalizeRequiredboolean -
Response 200 ·
clipIdsRequiredarray<string>1 field
-
Response 200 ·
clipIds[]Each itemstring
-
-
Response 200 ·
creditsRequiredRequirednumberMinimum: 0.
-
Response 200 ·
deliveryStatusRequired"submitted" | "queued" | "streaming" | "complete" | "error" | nullMay be null. Must match at least one alternative.
2 fields / alternatives
-
Response 200 ·
deliveryStatus · anyOf 1Alternative"submitted" | "queued" | "streaming" | "complete" | "error"Must match at least one alternative.
5 fields / alternatives
-
Response 200 ·
deliveryStatus · anyOf 1 · anyOf 1Alternative"submitted" -
Response 200 ·
deliveryStatus · anyOf 1 · anyOf 2Alternative"queued" -
Response 200 ·
deliveryStatus · anyOf 1 · anyOf 3Alternative"streaming" -
Response 200 ·
deliveryStatus · anyOf 1 · anyOf 4Alternative"complete" -
Response 200 ·
deliveryStatus · anyOf 1 · anyOf 5Alternative"error"
-
-
Response 200 ·
deliveryStatus · anyOf 2Alternativenull
-
-
Response 200 ·
finalUrlRequiredstring | nullMay be null. Must match at least one alternative.
2 fields / alternatives
-
Response 200 ·
finalUrl · anyOf 1Alternativestring -
Response 200 ·
finalUrl · anyOf 2Alternativenull
-
-
Response 200 ·
generationIdRequiredstring -
Response 200 ·
linksRequiredobjectUnknown fields are not accepted.
3 fields
-
Response 200 ·
links.finalRequiredstring | nullMay be null. Must match at least one alternative.
2 fields / alternatives
-
Response 200 ·
links.final · anyOf 1Alternativestring -
Response 200 ·
links.final · anyOf 2Alternativenull
-
-
Response 200 ·
links.resourceRequiredstring -
Response 200 ·
links.taskRequiredstring
-
-
Response 200 ·
pollUrlRequiredstring -
Response 200 ·
pricingRequiredobjectUnknown fields are not accepted.
9 fields
-
Response 200 ·
pricing.adjustmentCreditsRequirednumberchargedCredits - baseCredits
-
Response 200 ·
pricing.baseCreditsRequirednumberStandard quoted credits before customer pricing adjustment
-
Response 200 ·
pricing.chargedCreditsRequirednumberCredits charged for this create request
Minimum: 0.
-
Response 200 ·
pricing.quoteVersionRequirednumberPricing quote version stored with the task
-
Response 200 ·
pricing.sourceRequired"standard" | "customer_rule"Public pricing source category
-
Response 200 ·
pricing.billingIncrementCreditsOptionalnumberSmallest customer charge increment
Minimum: 0.0001.
-
Response 200 ·
pricing.calculatedCreditsOptionalnumberPrecise whole-order subtotal before settlement rounding
-
Response 200 ·
pricing.settlementPolicyVersionOptionalstringVersioned customer settlement policy
-
Response 200 ·
pricing.settlementRoundingCreditsOptionalnumberWhole-order rounding adjustment added at settlement
Minimum: 0.
-
-
Response 200 ·
productRequiredobjectUnknown fields are not accepted.
7 fields
-
Response 200 ·
product.autoFinalizeRequiredboolean -
Response 200 ·
product.deliveryStatusRequired"submitted" | "queued" | "streaming" | "complete" | "error" | nullMay be null. Must match at least one alternative.
2 fields / alternatives
-
Response 200 ·
product.deliveryStatus · anyOf 1Alternative"submitted" | "queued" | "streaming" | "complete" | "error"Must match at least one alternative.
5 fields / alternatives
-
Response 200 ·
product.deliveryStatus · anyOf 1 · anyOf 1Alternative"submitted" -
Response 200 ·
product.deliveryStatus · anyOf 1 · anyOf 2Alternative"queued" -
Response 200 ·
product.deliveryStatus · anyOf 1 · anyOf 3Alternative"streaming" -
Response 200 ·
product.deliveryStatus · anyOf 1 · anyOf 4Alternative"complete" -
Response 200 ·
product.deliveryStatus · anyOf 1 · anyOf 5Alternative"error"
-
-
Response 200 ·
product.deliveryStatus · anyOf 2Alternativenull
-
-
Response 200 ·
product.featureCodeRequiredstring -
Response 200 ·
product.modelCodeRequiredstring -
Response 200 ·
product.providerCodeRequired"suno" -
Response 200 ·
product.resourceIdRequiredstring -
Response 200 ·
product.typeRequired"suno"
-
-
Response 200 ·
requestIdRequiredstring | nullMay be null. Must match at least one alternative.
2 fields / alternatives
-
Response 200 ·
requestId · anyOf 1Alternativestring -
Response 200 ·
requestId · anyOf 2Alternativenull
-
-
Response 200 ·
statusRequired"PENDING" | "PROCESSING" | "COMPLETED" | "FAILED" | "CANCELLED"Default: "PENDING".
-
Response 200 ·
taskIdRequiredstring -
Response 200 ·
viewUrlRequiredstring -
Response 200 ·
warningCodesRequiredarray<string>1 field
-
Response 200 ·
warningCodes[]Each itemstring
-
-
Response 200 ·
estimatedCompletionTimeOptionalstring | nullMay be null. Must match at least one alternative.
2 fields / alternatives
-
Response 200 ·
estimatedCompletionTime · anyOf 1AlternativestringEstimated completion time as an RFC 3339 string.
Format: date-time.
-
Response 200 ·
estimatedCompletionTime · anyOf 2Alternativenull
-
400 Bad Request
application/json
-
Response 400 ·
errorRequiredobject3 fields
-
Response 400 ·
error.codeRequiredstringApplication-specific error code (see error catalog)
-
Response 400 ·
error.messageRequiredstringHuman readable error message
-
Response 400 ·
error.detailsOptionalobjectAdditional error details (optional)
-
-
Response 400 ·
successRequiredfalseAlways false for error responses
401 Unauthorized
application/json
-
Response 401 ·
errorRequiredobject3 fields
-
Response 401 ·
error.codeRequiredstringApplication-specific error code (see error catalog)
-
Response 401 ·
error.messageRequiredstringHuman readable error message
-
Response 401 ·
error.detailsOptionalobjectAdditional error details (optional)
-
-
Response 401 ·
successRequiredfalseAlways false for error responses
402 Payment Required
application/json
-
Response 402 ·
errorRequiredobject3 fields
-
Response 402 ·
error.codeRequiredstringApplication-specific error code (see error catalog)
-
Response 402 ·
error.messageRequiredstringHuman readable error message
-
Response 402 ·
error.detailsOptionalobjectAdditional error details (optional)
-
-
Response 402 ·
successRequiredfalseAlways false for error responses
403 Forbidden
Forbidden: the API key lacks the required scope or its IP policy rejects this request. Forbidden: API-key scope/IP restrictions or billing hold. A positive balance does not bypass payment review. Check GET /api/v1/account/credits billingStatus before further paid requests.
application/json
-
Response 403 ·
errorRequiredobject3 fields
-
Response 403 ·
error.codeRequiredstringApplication-specific error code (see error catalog)
-
Response 403 ·
error.messageRequiredstringHuman readable error message
-
Response 403 ·
error.detailsOptionalobjectAdditional error details (optional)
-
-
Response 403 ·
successRequiredfalseAlways false for error responses
422 Unprocessable Entity
application/json
-
Response 422 ·
errorRequiredobject3 fields
-
Response 422 ·
error.codeRequiredstringApplication-specific error code (see error catalog)
-
Response 422 ·
error.messageRequiredstringHuman readable error message
-
Response 422 ·
error.detailsOptionalobjectAdditional error details (optional)
-
-
Response 422 ·
successRequiredfalseAlways false for error responses
429 Too Many Requests
Request allowance or task admission capacity exceeded. Follow Retry-After when present; otherwise wait for active tasks and use bounded backoff. Limits do not guarantee throughput. For SSE, this is the HTTP connection response, not an event.
application/json
-
Response 429 ·
errorRequiredobject3 fields
-
Response 429 ·
error.codeRequiredstringRATE_LIMITED for request and task admission rejections.
-
Response 429 ·
error.messageRequiredstring -
Response 429 ·
error.detailsOptionalobjectOptional and scope-dependent. Request limits supply scope/policy/type/limit/current/retryAfterSec. Task admission supplies inFlight/limit/tier, plus scope=apiKey for a key cap. IP rejection can omit details. In-flight rejection does not promise Retry-After.
8 fields
-
Response 429 ·
error.details.currentOptionalintegerMinimum: 0.
-
Response 429 ·
error.details.inFlightOptionalintegerMinimum: 0.
-
Response 429 ·
error.details.limitOptionalintegerMinimum: 0.
-
Response 429 ·
error.details.policyOptional"operation" | "query" -
Response 429 ·
error.details.retryAfterSecOptionalintegerMinimum: 1.
-
Response 429 ·
error.details.scopeOptional"user" | "api-key" | "ip" | "apiKey" -
Response 429 ·
error.details.tierOptional"FREE" | "PREMIUM" | "ENTERPRISE" -
Response 429 ·
error.details.typeOptional"rps" | "daily" | "monthly"
-
-
-
Response 429 ·
successRequiredfalseDefault: false.
500 Internal Server Error
application/json
-
Response 500 ·
errorRequiredobject3 fields
-
Response 500 ·
error.codeRequiredstringApplication-specific error code (see error catalog)
-
Response 500 ·
error.messageRequiredstringHuman readable error message
-
Response 500 ·
error.detailsOptionalobjectAdditional error details (optional)
-
-
Response 500 ·
successRequiredfalseAlways false for error responses
503 Service Unavailable
application/json
-
Response 503 ·
errorRequiredobject3 fields
-
Response 503 ·
error.codeRequiredstringApplication-specific error code (see error catalog)
-
Response 503 ·
error.messageRequiredstringHuman readable error message
-
Response 503 ·
error.detailsOptionalobjectAdditional error details (optional)
-
-
Response 503 ·
successRequiredfalseAlways false for error responses