Video Effects API: AI Image-to-Video

Animate images to video with Video Effects via the Muapi REST API. Pay per generation — no subscription needed.

Video Effects API Reference

Endpoint

POST https://api.muapi.ai/api/v1/video-effects

Submit a job with your MuApi API key in the x-api-key header, then poll https://api.muapi.ai/api/v1/predictions/{request_id}/result until status is completed.

Parameters

NameTypeRequiredDescription
image_urlstringYesURL of the input image.
namestringNoThe type of effect to apply to the video.Options: Balloon Flyaway, Blow Kiss, Body Shake, Break Glass, Carry Me, Cartoon Doll, Cheek Kiss, Child Memory, Couple Arrival, Fairy Me, Fashion Stride, Fisherman, Flower Receive, Flying, French Kiss, Gender Swap, Golden Epoch, Hair Swap, Hugging, Jiggle Up, Kissing Pro, Live Memory, Love Drop, Melt, Minecraft, Muscling, Nap Me 360p, Paperman, Pilot, Pinch, Pixel Me, Romantic Lift, Sexy Me, Slice Therapy, Soul Depart, Split Stance Human, Squid Game, Toy Me, Walk Forward, Zoom In Fast, Zoom OutDefault: "Balloon Flyaway"

cURL example

REQUEST_ID=$(curl -s -X POST https://api.muapi.ai/api/v1/video-effects \
  -H "x-api-key: $MUAPI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"image_url":"https://example.com/your-image_url"}' | jq -r .request_id)

curl -s https://api.muapi.ai/api/v1/predictions/$REQUEST_ID/result -H "x-api-key: $MUAPI_API_KEY"

Python example

import os, time, requests

API = "https://api.muapi.ai/api/v1"
headers = {"x-api-key": os.environ["MUAPI_API_KEY"]}

r = requests.post(f"{API}/video-effects", headers=headers, json={"image_url":"https://example.com/your-image_url"})
request_id = r.json()["request_id"]

while True:
    res = requests.get(f"{API}/predictions/{request_id}/result", headers=headers).json()
    if res["status"] == "completed":
        print(res["outputs"]); break
    if res["status"] == "failed":
        raise RuntimeError(res.get("error"))
    time.sleep(3)

Full docs and agent/MCP integration: llms.txt. Get an API key at muapi.ai/access-keys.