WaveSpeedAI APIMagi 1 24B

Magi 1 24B

MAGI-1 is a video generation model with exceptional understanding of physical interactions and cinematic prompts

Features

magi-1-24b is a large-scale diffusion-based video generation model built to produce realistic, coherent videos from text prompts, supporting frame lengths up to 4 seconds at high resolution. Developed by Sand AI and released under an open license, it aims to democratize video synthesis with performance on par with or exceeding leading closed-source models.

Its training strategy blends masked video modeling, spatial-temporal consistency learning, and multimodal alignment, making it particularly strong at maintaining identity, structure, and scene logic across time.

Key Features

  • Diffusion Video Generation: Built upon denoising diffusion probabilistic models, magi-1-24b generates videos by gradually refining a sequence of noise vectors into photorealistic motion. This method allows for exceptional control over motion dynamics and frame coherence.
  • High-Quality, Temporally Consistent Motion: Unlike typical short-sequence models (e.g. 2s), magi-1-24b produces videos up to 64 frames (~4 seconds) while maintaining consistent character identity, background, and action flow.
  • Strong Visual and Structural Fidelity: The model excels at rendering detailed scenes, capturing fine-grained textures, object interactions, and realistic human body poses.
  • Multimodal Conditioning: magi-1-24b supports text-to-video (T2V) generation with alignment across spatial and temporal dimensions, making prompt-driven video creation more precise and reliable.
  • Extensive Benchmark Testing: In public evaluations, magi-1-24b outperformed all tested open-source models across key metrics like FVD (Fréchet Video Distance), human preference, and identity consistency. See benchmark table below.

ComfyUI

magi-1-24b is also available on ComfyUI, providing local inference capabilities through a node-based workflow. This ensures flexible and efficient video generation on your system, catering to various creative workflows.

Limitations

  • Fixed Video Duration:Currently supports videos up to 64 frames (~4 seconds). Longer video storytelling may require post-generation stitching or separate tools.
  • Single-Prompt Focus:magi-1-24b is optimized for single-prompt outputs. Multi-shot or sequential storytelling requires creative prompt structuring.
  • Still Under Open Development:While powerful, Magi-1 is still evolving. Advanced capabilities like consistent character re-use or camera movement controls are limited in this version.

Out-of-Scope Use

The model and its derivatives may not be used in any way that violates applicable national, federal, state, local, or international law or regulation, including but not limited to:

  • Exploiting, harming, or attempting to exploit or harm minors, including solicitation, creation, acquisition, or dissemination of child exploitative content.
  • Generating or disseminating verifiably false information with the intent to harm others.
  • Creating or distributing personal identifiable information that could be used to harm an individual.
  • Harassing, abusing, threatening, stalking, or bullying individuals or groups.
  • Producing non-consensual nudity or illegal pornographic content.
  • Making fully automated decisions that adversely affect an individual’s legal rights or create binding obligations.
  • Facilitating large-scale disinformation campaigns.

Accelerated Inference

Our accelerated inference approach leverages advanced optimization technology from WavespeedAI. This innovative fusion technique significantly reduces computational overhead and latency, enabling rapid image generation without compromising quality. The entire system is designed to efficiently handle large-scale inference tasks while ensuring that real-time applications achieve an optimal balance between speed and accuracy. For further details, please refer to the blog post.

Authentication

For authentication details, please refer to the Authentication Guide.

API Endpoints

Submit Task & Query Result


# Submit the task
curl --location --request POST "https://api.wavespeed.ai/api/v2/wavespeed-ai/magi-1-24b" \
--header "Content-Type: application/json" \
--header "Authorization: Bearer ${WAVESPEED_API_KEY}" \
--data-raw '{
    "prompt": "In front of the pyramid under the setting sun, an African queen slowly walked out of the temple. She wore golden armor and her eyes were firm. The wind brought dust and cape. She slowly walked towards the throne. The background music was solemn and magnificent, as if it heralded the awakening and revival of a kingdom.",
    "image": "https://d2g64w682n9w0w.cloudfront.net/media/images/1745552832830322655_jemjfbyu.jpg",
    "num_frames": 96,
    "frames_per_second": 24,
    "resolution": "720p",
    "enable_safety_checker": true,
    "aspect_ratio": "auto"
}'

# Get the result
curl --location --request GET "https://api.wavespeed.ai/api/v2/predictions/${requestId}/result" \
--header "Authorization: Bearer ${WAVESPEED_API_KEY}"

Parameters

Task Submission Parameters

Request Parameters

ParameterTypeRequiredDefaultRangeDescription
promptstringYesIn front of the pyramid under the setting sun, an African queen slowly walked out of the temple. She wore golden armor and her eyes were firm. The wind brought dust and cape. She slowly walked towards the throne. The background music was solemn and magnificent, as if it heralded the awakening and revival of a kingdom.-The text prompt to guide video generation.
imagestringNohttps://d2g64w682n9w0w.cloudfront.net/media/images/1745552832830322655_jemjfbyu.jpg-URL of an 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.
num_framesintegerNo9696 ~ 192Number of frames to generate. Must be between 81 to 100 (inclusive). If the number of frames is greater than 81, the video will be generated with 1.25x more billing units.
frames_per_secondintegerNo245 ~ 30Frames per second of the generated video. Must be between 5 to 30.
seedintegerNo--1 ~ 9999999999Random seed for reproducibility. If None, a random seed is chosen.
resolutionstringNo720p-Resolution of the generated video (480p or 720p). 480p is 0.5 billing units, and 720p is 1 billing unit.
enable_safety_checkerbooleanNotrue-If set to true, the safety checker will be enabled.
aspect_ratiostringNoauto-Aspect ratio of the generated video. If 'auto', the aspect ratio will be determined automatically based on the input image.

Response Parameters

ParameterTypeDescription
codeintegerHTTP status code (e.g., 200 for success)
messagestringStatus message (e.g., “success”)
data.idstringUnique identifier for the prediction, Task Id
data.modelstringModel ID used for the prediction
data.outputsarrayArray of URLs to the generated content (empty when status is not completed)
data.urlsobjectObject containing related API endpoints
data.urls.getstringURL to retrieve the prediction result
data.has_nsfw_contentsarrayArray of boolean values indicating NSFW detection for each output
data.statusstringStatus of the task: created, processing, completed, or failed
data.created_atstringISO timestamp of when the request was created (e.g., “2023-04-01T12:34:56.789Z”)
data.errorstringError message (empty if no error occurred)
data.timingsobjectObject containing timing details
data.timings.inferenceintegerInference time in milliseconds

Result Query Parameters

Result Request Parameters

ParameterTypeRequiredDefaultDescription
idstringYes-Task ID

Result Response Parameters

ParameterTypeDescription
codeintegerHTTP status code (e.g., 200 for success)
messagestringStatus message (e.g., “success”)
dataobjectThe prediction data object containing all details
data.idstringUnique identifier for the prediction
data.modelstringModel ID used for the prediction
data.outputsarrayArray of URLs to the generated content (empty when status is not completed)
data.urlsobjectObject containing related API endpoints
data.urls.getstringURL to retrieve the prediction result
data.has_nsfw_contentsarrayArray of boolean values indicating NSFW detection for each output
data.statusstringStatus of the task: created, processing, completed, or failed
data.created_atstringISO timestamp of when the request was created (e.g., “2023-04-01T12:34:56.789Z”)
data.errorstringError message (empty if no error occurred)
data.timingsobjectObject containing timing details
data.timings.inferenceintegerInference time in milliseconds
© 2025 WaveSpeedAI. All rights reserved.