Image to music AI: generate a track from a photo
Image to music AI uses a picture as an input for a track. On Sume, send image_url with the text prompt to the Music Router; the price stays the same.

Image-to-music AI makes a music track with a picture as one of its inputs. On Sume, the picture goes with a text prompt: add a public HTTPS image_url next to the required prompt in a POST /v1/music-router/generate request. The image is optional visual conditioning, and the docs say it doesn't change the price.
The details come from Sume's Music 1.0 and Music Router docs and the Music Router schema in the Sume API reference, read on 2026-09-27. Anything described as current behavior is read from Sume's code. Every other request field is covered in Music generation API.
How do I turn an image into music with an API?
Send the prompt and the image's URL in one request, then poll the job and download the audio. The request below is the docs' image-conditioned example, sent to the Music Router.
POST /v1/music-router/generatecreates the job. Leavemodelout to use the default,sume/music-auto.GET /v1/jobs/{id}/statusreports progress, andGET /v1/jobs/{id}/resultreturns the finished job.- The track is the
result.artifacts[]entry whosetypeisaudio, typicallyaudio/mpegon media.sume.com.
curl -X POST https://api.sume.com/v1/music-router/generate \
-H "Authorization: Bearer $SUME_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: music-image-001" \
-d '{
"prompt": "Cinematic ambient underscore matching the mood of the reference still, instrumental only",
"image_url": "https://example.com/moodboard.png"
}'What should the prompt say when I send a picture?
The docs' example keeps the prompt short and points at the still. To avoid generic musical choices, the docs recommend a full scene-specific brief, and the picture can go alongside it: the emotion, the genre, a tempo in BPM, the key, two to four instruments with texture, one named moment, and the era, then “Instrumental, no vocals.”
For a photo of a rainy city street at night, that could read: “Moody, rain-soaked synthwave, 92 BPM, F minor. Warm analog pads, gated snare, a lonely saxophone line. A slow start; the drums enter at 0:15 and the sax takes the melody at 0:30. 1980s production, wide and wet. A 1-minute track. Instrumental, no vocals.” More briefs are in AI music prompt examples.
What does the image change, and what doesn't it?
The image is an input, not a setting: it doesn't replace the prompt, set the length, or add to the bill.
| Question | Answer |
|---|---|
| Is the image required? | No. prompt is required, 1–5,000 characters; image_url is optional. |
| Which image URLs work? | Public HTTPS URLs. Send null only to clear an image on a client that reuses request objects. |
| Does it change the price? | No. The docs say the price doesn't vary with image conditioning; API pricing lists music generation at $0.125 per audio generation, plus a 5.5% agent fee by default. |
| Does it set the length? | No. There is no duration field; duration and duration_seconds are rejected. Ask for a length in the prompt. |
| Which models accept it? | The catalog reports capabilities.image_conditioning for each model. In current code it is true for sume/music-auto, lyria-3.5, and lyria-3-pro. |
| What comes back? | A Sume-hosted audio artifact. Raw provider URLs are not public outputs. |
Where can the image come from?
Any image at a public HTTPS URL, such as your own site or storage bucket. For music meant for a video already on Sume, video frames (POST /v1/video-frames) returns exact stills at the seconds you name as durable media.sume.com images, from clips up to 300 seconds, and the call is unbilled. Generate music for a video with AI walks through that case.
What can't image-to-music do on Sume?
- Promise a mood match. The docs call the brief's details creative directions, not guaranteed output settings, and say to verify the generated audio.
- Take more than one picture:
image_urlis a single URL. - Take lyrics as an input: the request has no lyrics field. For background music, end the prompt with “Instrumental, no vocals.”
- Use a negative prompt. A non-empty
negative_promptreturns HTTP 400 withnegative_prompt_unsupported; write exclusions into the prompt instead.
Sources
Related posts
More in Models
- Image to video vs reference to video: what's the difference?
Image-to-video makes your picture the first frame; reference-to-video uses pictures, clips, or audio as guidance. Which to use, and which one wins.
- Text to speech in Korean: send Hangul text with language ko
For Korean text to speech, send the script in Hangul with the language set to ko. How Sume's TTS API reads Korean, checks the voice, and bills it.
- How to make a picture move with AI: pick the motion
Give the picture to an image-to-video model as its first frame and describe the motion. Motion control copies a dance; lip sync makes a face talk.
- Multilingual text to speech API: one request per language
Make speech in several languages by sending one TTS request per language, each with the translated script and its language code. How Sume handles it.
Written by Sume