4Z API

Create music

Endpoint: POST https://4zapi.com/suno/submit/music

Equivalent to POST /suno/submit/{action} with action=music (see manifest for routing parameters).

Supported models (mv): chirp-v3-0 (v3.0), chirp-v3-5 (v3.5), chirp-v4 (v4.0), chirp-v4-5 (v4.5; alias chirp-auk), chirp-v5 (v5.0), chirp-v5-5 (v5.5; alias chirp-fenix), chirp-v6 (v6.0), chirp-v6-wild (v6-wild), chirp-v6-mini (v6-mini). Do not send chirp-auk / chirp-fenix as the request value.

Field priority: If both gpt_description_prompt and prompt are provided, the gateway/upstream actual branch shall prevail (do not treat it as a simple choice between the two and can be filled in at the same time). See API-Doc-Standards §2.3 for details.

clip continuation: continue_clip_id must come from the clip/song returned by previous fetch and cannot be created by yourself.

Access steps

A. Generate music

After generating the song through the field generation interface, the clip_id value of one of the songs can be obtained: 54834687-5e79-4f08-8e14-cf188f15b598

B. Create a new Persona

  • clip_id needs to exist in the system memory, not uploader
  • It cannot be used across accounts, so the account may not be available if it is offline.

C. Create using persona_id

Things to note:

  • mv is chirp-v3-5-tau or chirp-v4-tau
  • task is artist_consistency
  • persona_id is obtained in step B
  • artist_clip_id is the clip_id in step A
  • Can cross accounts

Submit AI music creation tasks, supporting three modes:

  • Description mode: fill in gpt_description_prompt, AI will automatically generate music style and lyrics
  • Custom mode: fill in prompt (lyrics) + tags (style tags) to accurately control the creative direction
  • Pure music mode: Set make_instrumental: true to generate background music without lyrics
  • Continue mode: Fill in continue_clip_id + continue_at to continue the existing clip

Request body (application/json)

  • artist_clip_id (string): Source music clip_id (obtained from the fetch result after generating the music in step A). Required when task=artist_consistency is specified, and should be the same source song as the root_clip_id used when creating the Persona. The clip must have been generated in the system, not the temporary ID of the uploader.
  • continue_at (number): The number of seconds from the source audio to continue writing (with continue_clip_id)
  • continue_clip_id (string): Source clip ID used for continuation/filling. Must be the clip_id of the generated song (obtained from the result of GET /suno/fetch/:id), not task_id
  • gpt_description_prompt (string): Inspiration mode: Use natural language to describe the desired music style/theme (choose one from prompt, give priority to inspiration)
  • make_instrumental (boolean): Whether to generate pure music (no vocals)
  • metadata (object): Extension fields; parameters can be passed through metadata.task or metadata.metadata_params (choose one from the top level)
  • metadata_params (object): Open channel expansion parameters, different subfields are transmitted according to task; unlisted keys may be transparently transmitted to the upstream
  • mv (string): Model version; defaults to chirp-v5 if omitted. Also supports chirp-v6 / chirp-v6-wild / chirp-v6-mini. Only chirp-v3-5-tau or chirp-v4-tau is recommended when task=artist_consistency
  • persona_id (string): Persona ID. Required only if task=artist_consistency. You must first POST /suno/submit/persona to create it successfully and then obtain it from the fetch result; there is no fixed enumeration, and you cannot hand-write fake UUID. Persona is bound to the created account, and the creation steps cannot be reused across accounts.
  • prompt (string): Custom mode: new song lyrics; continuation/addition/reproduction/mixing, etc. are also commonly used. Required when task=remaster is used by the upstream
  • tags (string): Style tags, separated by commas, such as "pop, piano, emotional". Available
  • task (string): Special task type; if not passed, it will be generated normally (inspiration/customization/pure music) ["extend", "upload_extend", "infill", "fixed_infill", "infill_intro", "infill_outro", "cover_infill", "cover_extend", "artist_infill", "artist_consistency", "cover", "image_to_song", "video_to_song", "concat", "sound", "underpainting", "remaster", "vox", "mashup_condition"]
  • task_id (string): Associate the original task ID for channel routing (optional)
  • title (string): song title