API Free WeekHundreds of APIs are free to call this week.Browse free APIs

InfiniteTalk Video to Video

meigen/infinitetalk/video-to-video

InfiniteTalk dubs an existing video: it re-animates lips, face and body to match new speech audio.

Base price
$3.48USD / run
Execution
async
Model type
video
Input fields
6
Production route

Try the model

Playground

Open playground
Input
Random seed for reproducibility. Range: 0 to 2147483647.
Input audio URL.
Input video URL.
Text prompt guiding the generation.
41241
Maximum frames to generate (41–241, 25 fps); output also stops at the end of the audio. Range: 41 to 241.
Output resolution (720p costs 2x). Allowed values: 480p, 720p.
OutputExample

Examples

Select an example to load its inputs and result into the playground.

Model card

Specifications

Pricing

Base price
$3.48 / run

Context & modalities

Input
Schema-defined
Output
video

Capabilities

Chat
Not supported
Vision
Not supported
Reasoning
Not supported
Structured output
Not supported
Function calling
Not supported
Audio input
Not supported

Access

Provider
MeiGen-AI
Model ID
meigen/infinitetalk/video-to-video
Execution
async
API
Unified Run API
Endpoint
/v1/run

API README

InfiniteTalk Video to Video

InfiniteTalk dubs an existing video: it re-animates lips, face and body to match new speech audio.

Parameters

FieldDescription
videoSource video (required)
audioSpeech audio (required)
promptScene prompt (required)
resolution480p / 720p (default 720p)
num_frames41–241 frames

Pricing

ConfigurationPrice
480p per output second$0.30
720p per output second$0.60

Output: one MP4 video URL.

Start building

Send your first request

OpenAI-compatible endpoint with unified authentication and usage tracking.

Production API
Unified Run API endpoint
https://api.sandbase.ai/v1/run
Model ID
meigen/infinitetalk/video-to-video
# The quoted heredoc keeps Unicode and shell metacharacters unchanged.
result=$(curl --fail-with-body --silent \
  -X POST "https://api.sandbase.ai/v1/run" \
  -H "Authorization: Bearer $SANDBASE_API_KEY" \
  -H "Content-Type: application/json" \
  --data-binary @- <<'SANDBASE_JSON'
{
  "model": "meigen/infinitetalk/video-to-video",
  "audio": "https://v3.fal.media/files/penguin/PtiCYda53E9Dav25QmQYI_output.mp3",
  "video": "https://storage.googleapis.com/falserverless/model_tests/video_models/ref_video.mp4",
  "prompt": "A woman with colorful hair talking on a podcast.",
  "num_frames": 145,
  "resolution": "720p"
}
SANDBASE_JSON
)
run_id=$(printf '%s' "$result" | jq -r .id)
for attempt in $(seq 1 120); do
  status=$(printf '%s' "$result" | jq -r .status)
  case "$status" in completed|failed|timeout) break ;; esac
  sleep 2
  result=$(curl --fail-with-body --silent \
    -H "Authorization: Bearer $SANDBASE_API_KEY" \
    "https://api.sandbase.ai/v1/run/$run_id")
done
status=$(printf '%s' "$result" | jq -r .status)
[ "$status" = completed ] || { echo "Generation ended: $status" >&2; exit 1; }
printf '%s\n' "$result"

Choose your model

Compare models

All image & video models
ModelTypeDefault priceReleased
MeiGen-AIVideo$3.48 / runSep 22, 2025
MeiGen-AIVideo$2.32 / runAug 22, 2025
MeiGen-AIVideo$2.32 / runAug 21, 2025

Questions

FAQ

How do I call MeiGen-AI InfiniteTalk Video to Video through SandBase?

Create a SandBase API key, then send requests with the model ID "meigen/infinitetalk/video-to-video" to Unified Run API (/v1/run) at https://api.sandbase.ai. The request examples on this page show the exact payload.

Do I need a separate MeiGen-AI account?

No. One SandBase API key and balance gives you access to MeiGen-AI InfiniteTalk Video to Video and the other models in the catalog; you do not need to sign up with MeiGen-AI separately.