sandbase-ai/magi-distilled
Magi Distilled by sandbase-ai - animate still images into dynamic videos with AI. Transform photos into cinematic clips with natural motion, camera movement, and optional audio generation.
PNG, JPEG, WebP, or GIF · 20 MiB maximum
Example output — click Run to generate your own
Send your first request
OpenAI-compatible endpoint with unified authentication and usage tracking.
https://api.sandbase.ai/v1/runsandbase-ai/magi-distilledInput Schema
7 parameters · 2 required · 5 optional
| Parameter | Type | Required | Description |
|---|---|---|---|
image | string | Required | URL of the input image to represent the first frame of the video. If the input image does not match the chosen aspect ratio, it is resized and center cropped. |
prompt | string | Required | The text prompt to guide video generation. |
seed | integer | Optional | Random seed for reproducibility. If None, a random seed is chosen. |
num_frames | integer | Optional | Number of frames to generate. Must be between 96 and 192 (inclusive). Each additional 24 frames beyond 96 incurs an additional billing unit. · Min: 96 · Max: 192 · Default: 96 |
resolution | string | Optional | Resolution of the generated video (480p or 720p). 480p is 0.5 billing units, and 720p is 1 billing unit. · Options: 480p, 720p · Default: "720p" 480p720p |
aspect_ratio | string | Optional | The aspect ratio of the generated image. · Options: 21:9, 16:9, 3:2, 4:3, 5:4, 1:1, 4:5, 3:4, 2:3, 9:16 21:916:93:24:35:41:14:53:42:39:16 |
num_inference_steps | integer | Optional | Number of inference steps for sampling. Higher values give better quality but take longer. · Options: 4, 8, 16, 32 · Default: 16 481632 |
Output Schema
| Field | Type | Description |
|---|---|---|
id | string | Unique identifier for the generation task |
status | string | Task status: pending, running, completed, failed, timeout |
model | string | Model used for the generation |
outputs | array | Array of output items |
outputs[].url | string | URL of the generated artifact |
outputs[].content_type | string | MIME type (e.g. image/png, video/mp4) |
error | object | null | Error details if failed, null on success |
error.type | string | Machine-readable error type code |
error.message | string | Human-readable error description |
Async Workflow
This model uses asynchronous execution. Submit a request and poll for the result.
- Submit — POST to /v1/run, receive an
id - Poll — GET /v1/run/{id} until status is
completed,failed, ortimeout - Retrieve — Read
outputsfrom the completed response
Code Examples
Ready-to-run snippets
# Step 1: Submit
curl -X POST https://api.sandbase.ai/v1/run \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_KEY" \
-d '{
"model": "sandbase-ai/magi-distilled",
"image": "https://raw.githubusercontent.com/painebenjamin/pointy-seeds/refs/heads/main/captain-start.jpg",
"prompt": "Close-up shot: the old sea captain stares intently, pipe in mouth, wisps of smoke curling around his weathered face. The camera begins to pull back out over the ocean. Finally, the camera sinks below the waves deeply, fading to dark blue and finally to black.",
"num_frames": 96,
"resolution": "720p",
"num_inference_steps": 16
}'
# Step 2: Poll result (replace <id>)
curl https://api.sandbase.ai/v1/run/<id> \
-H "Authorization: Bearer YOUR_API_KEY"API README
MAGI-1 (Distilled)
MAGI-1 (Distilled) occupies the generated-video role in the model catalog for design-system owners. Its practical value is to make endpoint selection explicit before implementation begins: an upstream service can confirm that it has prompt, image, submit one well-scoped job, and receive a rendered video asset for downstream approval. This positioning explains when the exact sandbase-ai/magi-distilled route belongs in an architecture without borrowing promises from another version, tier, or task variant.
A low-risk adoption path begins by checking the test fixture, quality bar, and delivery contract. The caller records required values separately from optional choices such as seed, num_frames, resolution, aspect_ratio, num_inference_steps, runs a small representative sample, and stores the route name with the resulting artifact. Reviewers then compare that artifact with the agreed acceptance criteria, document any rejected setup, and promote only a successful request shape into larger batches. This workflow gives sandbase-ai/magi-distilled measurable business context while leaving the Highlights section to explain model behavior.
Highlights
- Distilled image animation. A required still anchors a streamlined MAGI sequence-generation path.
- Lower base duration charge. Four seconds start at the distilled rate, with a smaller documented increment afterward.
- Step-sensitive billing. Requests above sixteen inference steps add the precise surcharge recorded in the model card.
- Frame and canvas controls. Frame count, aspect ratio, and resolution define the distilled render’s temporal and spatial shape.
Pricing
| Billing option | Price |
|---|---|
| Billing formula | 0.32 + Math.max(0, params.duration - 4) * 0.08 + Math.max(0, params.inference_steps - 16) * (0.32 / 16) |
| Catalog base price | $0.320000 |
When to Use
| Scenario | Why it fits |
|---|---|
| Choose MAGI-1 (Distilled) | Use it when the job specifically calls for magi distilled and the route’s documented input contract matches assets already available in your workflow. |
| Keep the request reproducible | Use the required image, prompt explicitly, then record optional choices alongside the prompt for repeatable reruns. |
| Build controlled creative variations | Change one declared control at a time when comparing framing, format, duration, resolution, style, or other route-supported output decisions. |
| Integrate asynchronous delivery | Use this endpoint when an application can submit work, track completion, and collect the returned media URL instead of requiring an immediate inline artifact. |
| Validate before a large batch | Run representative prompts and source assets first, confirm the visual or audio behavior, then lock the successful request shape for scaled production. |
Prompt Guide
Lead with the subject or transformation, then add the composition, environment, style, lighting, motion, voice, or fidelity details relevant to this route. Keep every parameter inside the documented schema; the example below uses only fields declared for sandbase-ai/magi-distilled.
{
"image": "https://raw.githubusercontent.com/painebenjamin/pointy-seeds/refs/heads/main/captain-start.jpg",
"prompt": "Close-up shot: the old sea captain stares intently, pipe in mouth, wisps of smoke curling around his weathered face. The camera begins to pull back out over the ocean. Finally, the camera sinks below the waves deeply, fading to dark blue and finally to black.",
"resolution": "720p",
"aspect_ratio": "21:9",
"num_inference_steps": 16
}
Technical Specs
| Specification | Details |
|---|---|
| Model ID | sandbase-ai/magi-distilled |
| Execution mode | async |
| Task type | video |
seed | integer · optional |
image | string · required |
prompt | string · required |
num_frames | integer · optional · min 96 · max 192 |
resolution | string · optional · choices: 480p, 720p |
aspect_ratio | string · optional · choices: 21:9, 16:9, 3:2, 4:3, 5:4, 1:1, 4:5, 3:4, 2:3, 9:16 |
num_inference_steps | integer · optional · choices: 4, 8, 16, 32 |

