Introduction
daVinci-MagiHuman Image to video starts a clip from your photo and gives it motion and a voice. daVinci-MagiHuman is an open 15-billion-parameter model from Sand.ai and SII-GAIR that generates the picture and the soundtrack together. The photo is the first frame; the prompt says what happens next and, in quotes, what the person says. This endpoint returns 5 to 10 seconds at 256p, 720p or 1080p, in 16:9 or 9:16, and accepts your own speech or song as audio_url.
Choose a mode by starting material
| What you have | Mode |
|---|---|
| a written description | daVinci-MagiHuman Text to video |
| a photo to start from, with or without your own audio | daVinci-MagiHuman Image to video |
Key features & highlights
A first frame that moves and speaks
The clip starts from your image. In our run without an audio file, she turned from the sea, tucked her hair behind her ear and said the quoted line; the transcription of the soundtrack matched word for word.
Your own voice
With audio_url set, the video is generated in sync with your speech or song instead of inventing a voice. In our run with a 5-second spoken clip, the lips followed the supplied audio, with a half smile and eyebrow movement, and the face stayed close to the input portrait.
What we measured
We ran two image-to-video clips at 720p and 16:9, both 5.0 seconds and both about 1358 x 678 at 25 fps, so 720p is not exactly 1280 x 720. The run without audio took about 1 min 45 s; the run with a 5-second spoken clip as audio_url took about 3 min 7 s. We did not run this endpoint at 1080p, at 9:16 or with a recording of a different length from the clip.
Resolutions and shapes
resolution is 256p, 720p (the default) or 1080p, and aspect_ratio is 16:9 (the default) or 9:16. The model generates at a low base resolution and its own super-resolution stage produces the higher tiers. Higher tiers cost more per second; sound and shape do not change the price.
Request parameters
| Parameter | Required | Description |
|---|---|---|
prompt | Yes | Describe what happens after the photo: what the person does and, in quotes, what they say. at least 3 characters · at most 5000 characters |
image_url | Yes | The first frame. A public, directly downloadable link; the clip starts from this photo. |
audio_url | No | Optional. A public link to a speech or song file; the video is generated in sync with it instead of inventing a voice. |
aspect_ratio | No | 16:9 (the default) or 9:16. Our image-to-video runs used 16:9. |
resolution | No | 256p, 720p (the default) or 1080p. Higher tiers cost more per second. |
duration_seconds | No | 5 to 10 seconds, default 5, billed per second. |
seed | No | Optional integer. The same seed with the same inputs gives similar, not guaranteed identical, results. |
Pricing
Billed per second of the requested duration; the per-second price depends on the resolution, while sound and aspect ratio do not change it. Failed requests are not charged.
| Specification | Price |
|---|---|
| $0.024 / second |
| $0.048 / second |
| $0.072 / second |
Use cases
A portrait that speaks in your recording
A headshot plus a speech file: the lips follow your audio and the face stays close to the photo.
A character who says a line
A first-frame image and a short quoted line, to see how the character looks and sounds before you commit to more.
Vertical clips from a photo
Choose 9:16 for feeds and stories. All our runs on this endpoint used 16:9, so check a first clip.
Prompt guide & pro tips
Describe the next moment
Write what happens after the photo was taken: she turns to the camera, tucks her hair, speaks. In our run all three happened.
With your own audio, leave the words out
The voice comes from audio_url, so the prompt can set the mood, the movement and the light, for example he speaks low and teasing, a slow half smile and a raised eyebrow, warm amber light.
Match the recording to the clip
Our run used a 5-second recording for a 5-second clip. We did not test a recording that is shorter or longer than duration_seconds, so cut your audio to the length you set.
Without audio, quote the line
Put what the person says in quotation marks and the model speaks it. We tested English.
Choosing between models
If you already have the voice recording and a portrait and want a longer clip, up to 300 seconds, driven by that audio, use OmniHuman 2.0; Kling Avatar 2.0 is the same idea. Pick daVinci-MagiHuman when you want the model to speak a line you write, or you need a 9:16 clip.
API quick start
# Generate the idempotency key once; reuse it when retrying after a lost response.
export SPICY_IDEMPOTENCY_KEY="${SPICY_IDEMPOTENCY_KEY:-$(uuidgen)}"
curl -X POST https://api.spicyapi.ai/api/v1/jobs/createTask \
-H "Authorization: Bearer $SPICY_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $SPICY_IDEMPOTENCY_KEY" \
-d '{
"model": "sand-ai/davinci-magihuman/image-to-video",
"input": {
"aspect_ratio": "16:9",
"duration_seconds": 5,
"image_url": "https://example.com/reference.png",
"prompt": "A slow aerial shot drifting over a misty pine forest at sunrise",
"resolution": "720p"
}
}'
# Copy data.taskId from the response into TASK_ID, then poll the status.
TASK_ID="TASK_ID_FROM_RESPONSE"
curl "https://api.spicyapi.ai/api/v1/jobs/recordInfo?taskId=$TASK_ID" \
-H "Authorization: Bearer $SPICY_API_KEY"
See the API reference for authentication, the complete schema, polling, and error handling.




