atlascloud/infinitetalk

InfiniteTalk turns a reference portrait and audio into a realistic talking-head video with lip-sync, supporting up to 10-minute audio in 480p or 720p.

AUDIO-TO-VIDEO
ホーム
探索
atlascloud/infinitetalk
InfiniteTalk
音声から動画

InfiniteTalk turns a reference portrait and audio into a realistic talking-head video with lip-sync, supporting up to 10-minute audio in 480p or 720p.

入力

パラメータ設定を読み込み中...

出力

待機中
生成された動画がここに表示されます
設定を構成して「実行」をクリックして開始

各実行には$0.03かかります。$10で約333回実行できます。

次にできること:

パラメータ

コード例

import requests
import time

# Step 1: Start video generation
generate_url = "https://api.atlascloud.ai/api/v1/model/generateVideo"
headers = {
    "Content-Type": "application/json",
    "Authorization": "Bearer $ATLASCLOUD_API_KEY"
}
data = {
    "model": "atlascloud/infinitetalk",
    "prompt": "A beautiful sunset over the ocean with gentle waves",
    "width": 512,
    "height": 512,
    "duration": 3,
    "fps": 24,
}

generate_response = requests.post(generate_url, headers=headers, json=data)
generate_result = generate_response.json()
prediction_id = generate_result["data"]["id"]

# Step 2: Poll for result
poll_url = f"https://api.atlascloud.ai/api/v1/model/prediction/{prediction_id}"

def check_status():
    while True:
        response = requests.get(poll_url, headers={"Authorization": "Bearer $ATLASCLOUD_API_KEY"})
        result = response.json()

        if result["data"]["status"] in ["completed", "succeeded"]:
            print("Generated video:", result["data"]["outputs"][0])
            return result["data"]["outputs"][0]
        elif result["data"]["status"] == "failed":
            raise Exception(result["data"]["error"] or "Generation failed")
        else:
            # Still processing, wait 2 seconds
            time.sleep(2)

video_url = check_status()

インストール

お使いの言語に必要なパッケージをインストールしてください。

bash
pip install requests

認証

すべての API リクエストには API キーによる認証が必要です。API キーは Atlas Cloud ダッシュボードから取得できます。

bash
export ATLASCLOUD_API_KEY="your-api-key-here"

HTTP ヘッダー

python
import os

API_KEY = os.environ.get("ATLASCLOUD_API_KEY")
headers = {
    "Content-Type": "application/json",
    "Authorization": f"Bearer {API_KEY}"
}
API キーを安全に保管してください

API キーをクライアントサイドのコードや公開リポジトリに公開しないでください。代わりに環境変数またはバックエンドプロキシを使用してください。

リクエストを送信

import requests

url = "https://api.atlascloud.ai/api/v1/model/generateVideo"
headers = {
    "Content-Type": "application/json",
    "Authorization": "Bearer $ATLASCLOUD_API_KEY"
}
data = {
    "model": "your-model",
    "prompt": "A beautiful landscape"
}

response = requests.post(url, headers=headers, json=data)
print(response.json())

リクエストを送信

非同期生成リクエストを送信します。API は予測 ID を返し、それを使用してステータスの確認や結果の取得ができます。

POST/api/v1/model/generateVideo

リクエストボディ

import requests

url = "https://api.atlascloud.ai/api/v1/model/generateVideo"
headers = {
    "Content-Type": "application/json",
    "Authorization": "Bearer $ATLASCLOUD_API_KEY"
}

data = {
    "model": "atlascloud/infinitetalk",
    "input": {
        "prompt": "A beautiful sunset over the ocean with gentle waves"
    }
}

response = requests.post(url, headers=headers, json=data)
result = response.json()

print(f"Prediction ID: {result['id']}")
print(f"Status: {result['status']}")

レスポンス

{
  "id": "pred_abc123",
  "status": "processing",
  "model": "model-name",
  "created_at": "2025-01-01T00:00:00Z"
}

ステータスを確認

予測エンドポイントをポーリングして、リクエストの現在のステータスを確認します。

GET/api/v1/model/prediction/{prediction_id}

ポーリング例

import requests
import time

prediction_id = "pred_abc123"
url = f"https://api.atlascloud.ai/api/v1/model/prediction/{prediction_id}"
headers = { "Authorization": "Bearer $ATLASCLOUD_API_KEY" }

while True:
    response = requests.get(url, headers=headers)
    result = response.json()
    status = result["data"]["status"]
    print(f"Status: {status}")

    if status in ["completed", "succeeded"]:
        output_url = result["data"]["outputs"][0]
        print(f"Output URL: {output_url}")
        break
    elif status == "failed":
        print(f"Error: {result['data'].get('error', 'Unknown')}")
        break

    time.sleep(3)

ステータス値

processingリクエストはまだ処理中です。
completed生成が完了しました。出力が利用可能です。
succeeded生成が成功しました。出力が利用可能です。
failed生成に失敗しました。エラーフィールドを確認してください。

完了レスポンス

{
  "data": {
    "id": "pred_abc123",
    "status": "completed",
    "outputs": [
      "https://storage.atlascloud.ai/outputs/result.mp4"
    ],
    "metrics": {
      "predict_time": 45.2
    },
    "created_at": "2025-01-01T00:00:00Z",
    "completed_at": "2025-01-01T00:00:10Z"
  }
}

ファイルをアップロード

Atlas Cloud ストレージにファイルをアップロードし、API リクエストで使用できる URL を取得します。multipart/form-data を使用してアップロードします。

POST/api/v1/model/uploadMedia

アップロード例

import requests

url = "https://api.atlascloud.ai/api/v1/model/uploadMedia"
headers = { "Authorization": "Bearer $ATLASCLOUD_API_KEY" }

with open("image.png", "rb") as f:
    files = {"file": ("image.png", f, "image/png")}
    response = requests.post(url, headers=headers, files=files)

result = response.json()
download_url = result["data"]["download_url"]
print(f"File URL: {download_url}")

レスポンス

{
  "data": {
    "download_url": "https://storage.atlascloud.ai/uploads/abc123/image.png",
    "file_name": "image.png",
    "content_type": "image/png",
    "size": 1024000
  }
}

入力 Schema

以下のパラメータがリクエストボディで使用できます。

合計: 0必須: 0任意: 0

利用可能なパラメータはありません。

リクエストボディの例

json
{
  "model": "atlascloud/infinitetalk"
}

出力 Schema

API は生成された出力 URL を含む予測レスポンスを返します。

idstringrequired
Unique identifier for the prediction.
statusstringrequired
Current status of the prediction.
processingcompletedsucceededfailed
modelstringrequired
The model used for generation.
outputsarray[string]
Array of output URLs. Available when status is "completed".
errorstring
Error message if status is "failed".
metricsobject
Performance metrics.
predict_timenumber
Time taken for video generation in seconds.
created_atstringrequired
ISO 8601 timestamp when the prediction was created.
Format: date-time
completed_atstring
ISO 8601 timestamp when the prediction was completed.
Format: date-time

レスポンス例

json
{
  "id": "pred_abc123",
  "status": "completed",
  "model": "model-name",
  "outputs": [
    "https://storage.atlascloud.ai/outputs/result.mp4"
  ],
  "metrics": {
    "predict_time": 45.2
  },
  "created_at": "2025-01-01T00:00:00Z",
  "completed_at": "2025-01-01T00:00:10Z"
}

Atlas Cloud Skills

Atlas Cloud Skills は 300 以上の AI モデルを AI コーディングアシスタントに直接統合します。ワンコマンドでインストールし、自然言語で画像・動画生成や LLM との対話が可能です。

対応クライアント

Claude Code
OpenAI Codex
Gemini CLI
Cursor
Windsurf
VS Code
Trae
GitHub Copilot
Cline
Roo Code
Amp
Goose
Replit
40+ 対応クライアント

インストール

bash
npx skills add AtlasCloudAI/atlas-cloud-skills

API キーの設定

Atlas Cloud ダッシュボードから API キーを取得し、環境変数として設定してください。

bash
export ATLASCLOUD_API_KEY="your-api-key-here"

機能

インストール後、AI アシスタントで自然言語を使用してすべての Atlas Cloud モデルにアクセスできます。

画像生成Nano Banana 2、Z-Image などのモデルで画像を生成します。
動画作成Kling、Vidu、Veo などでテキストや画像から動画を作成します。
LLM チャットQwen、DeepSeek などの大規模言語モデルと対話します。
メディアアップロード画像編集や画像から動画へのワークフロー用にローカルファイルをアップロードします。

MCP Server

Atlas Cloud MCP Server は Model Context Protocol を通じて IDE と 300 以上の AI モデルを接続します。MCP 対応のあらゆるクライアントで動作します。

対応クライアント

Cursor
VS Code
Windsurf
Claude Code
OpenAI Codex
Gemini CLI
Cline
Roo Code
100+ 対応クライアント

インストール

bash
npx -y atlascloud-mcp

設定

以下の設定を IDE の MCP 設定ファイルに追加してください。

json
{
  "mcpServers": {
    "atlascloud": {
      "command": "npx",
      "args": [
        "-y",
        "atlascloud-mcp"
      ],
      "env": {
        "ATLASCLOUD_API_KEY": "your-api-key-here"
      }
    }
  }
}

利用可能なツール

atlas_generate_imageテキストプロンプトから画像を生成します。
atlas_generate_videoテキストや画像から動画を作成します。
atlas_chat大規模言語モデルと対話します。
atlas_list_models300 以上の利用可能な AI モデルを閲覧します。
atlas_quick_generateモデル自動選択によるワンステップコンテンツ作成。
atlas_upload_mediaAPI ワークフロー用にローカルファイルをアップロードします。

APIスキーマ

スキーマが利用できません

リクエスト履歴を表示するにはログインしてください

モデルのリクエスト履歴にアクセスするにはログインが必要です。

ログイン

InfiniteTalk: Audio-Driven Talking Video Generation

1. Introduction

InfiniteTalk is an audio-driven video generation model developed by AtlasCloud that transforms a single portrait image into a realistic talking-head video synchronized to any speech audio input. Built on a modified Wan2.1 I2V-14B diffusion transformer backbone with a dedicated audio cross-attention module, InfiniteTalk achieves phoneme-level lip synchronization while preserving the subject's identity, hairstyle, clothing, and background throughout the entire video.

InfiniteTalk's core innovation lies in its triple cross-attention architecture: each transformer block processes visual self-attention, text prompt cross-attention, and frame-level audio cross-attention in sequence, enabling precise per-frame audio-visual alignment. Combined with a streaming inference pipeline that processes video in overlapping segments, InfiniteTalk supports continuous video generation of up to 10 minutes from a single request — far exceeding the typical 5–15 second limit of conventional image-to-video models. The model also supports dual-person mode, animating two speakers simultaneously within the same frame using separate audio tracks and bounding box annotations.

2. Key Features & Innovations

Triple Cross-Attention Audio Conditioning: Unlike text-only conditioned video models, InfiniteTalk injects audio embeddings at every transformer block via a dedicated cross-attention layer. Audio features are extracted frame-by-frame using a Wav2Vec2 encoder, providing per-frame speech signal anchoring that drives natural mouth movements, facial micro-expressions, and head motion synchronized to the audio input.

Streaming Long-Form Video Generation: InfiniteTalk's streaming mode processes audio in overlapping clip segments with configurable motion frame overlap, automatically concatenating segments into seamless long-form video. This enables generation of minutes-long talking videos without quality degradation or identity drift — a capability not available in standard image-to-video pipelines limited to single-shot outputs.

High-Fidelity Identity Preservation: The model maintains consistent facial identity, hairstyle, clothing texture, and background composition across the entire generated video. The audio conditioning signal provides strong per-frame constraints that prevent the identity drift commonly observed in long unconditional video generation.

Dual-Person Conversation Mode: InfiniteTalk supports animating two speakers in a single scene by accepting separate audio tracks and bounding box coordinates for each person. This enables realistic conversation scenarios, interview formats, and dialogue-driven content without requiring separate generation passes or post-production compositing.

Flexible Input Modalities: The model accepts either a static portrait image or a reference video as the visual source, combined with audio in WAV or MP3 format. Text prompts provide additional guidance for expression style, posture, and behavioral nuance, giving creators fine-grained control over the generated output.

Conditional VSR Upscaling: When generating at 720p resolution with audio duration under 60 seconds, InfiniteTalk automatically routes output through a FlashVSR super-resolution pipeline, delivering enhanced visual clarity without additional user configuration or cost management.

3. Model Architecture & Technical Details

InfiniteTalk is built on the Wan2.1 I2V-14B foundation model (14 billion parameters, 480p native resolution) with custom InfiniteTalk adapter weights that introduce the audio cross-attention pathway. The audio encoder uses a Chinese-Wav2Vec2-Base model that extracts frame-aligned speech embeddings at 25 fps video rate, creating a one-to-one correspondence between audio features and generated video frames.

The inference pipeline operates in two modes. In clip mode, the model generates a single video segment of up to 81 frames (approximately 3.2 seconds at 25 fps), suitable for short-form content. In streaming mode, the model iteratively generates overlapping clips with a configurable motion frame overlap (default: 9 frames), seamlessly blending segments to produce arbitrarily long video bounded only by the input audio duration and a configurable maximum frame limit.

The diffusion process uses a configurable number of denoising steps (default: 40, tunable from 1–100) with TeaCache acceleration for improved throughput. On NVIDIA H200 hardware, each 81-frame clip requires approximately 3.5 minutes of processing time, yielding a generation-to-output ratio of roughly 10–30× depending on resolution and hardware load.

For 720p output, the system employs a two-stage pipeline: base generation at 480p followed by conditional FlashVSR 4× upscaling (target: 921,600 pixels at 25 fps), applied automatically when audio duration is 60 seconds or less.

4. Performance Highlights

InfiniteTalk addresses a specific niche — audio-driven talking-head video — that differs from general-purpose text-to-video or image-to-video models. Its performance should be evaluated primarily on lip-sync accuracy, identity consistency, and long-form stability rather than visual diversity or cinematic motion range.

CapabilityInfiniteTalkGeneral I2V ModelsDedicated Lip-Sync Tools
Lip-sync accuracyPhoneme-level, multi-languageN/A (no audio input)Word-level, often English-only
Maximum durationUp to 10 minutes (streaming)5–15 seconds typical30–60 seconds typical
Identity preservationHigh (audio-anchored per-frame)Moderate (drift in longer clips)Moderate
Dual-person supportNativeNot availableRare
Resolution480p native, 720p with VSRUp to 1080pVaries
Audio inputAny language WAV/MP3N/AUsually English TTS

InfiniteTalk achieves strong lip-sync fidelity across Chinese, English, Japanese, and other languages tested, owing to the language-agnostic Wav2Vec2 audio feature extraction. Identity drift is minimal even in 5+ minute generations due to the per-frame audio conditioning anchor.

5. Intended Use & Applications

Digital Avatar & Virtual Presenter: Create realistic talking-head videos for virtual hosts, AI assistants, and digital spokespersons using a single photo and recorded or synthesized speech audio.

Video Dubbing & Localization: Generate lip-synced video from translated audio tracks, enabling cost-effective multilingual content adaptation without re-filming or manual lip-sync editing.

Online Education & Training: Produce instructor-led video content at scale from lecture audio recordings and a single instructor photograph, reducing video production costs for e-learning platforms.

Podcast & Interview Visualization: Transform audio-only podcast or interview recordings into engaging video content with realistic speaker animations, suitable for social media distribution.

Customer Service & Chatbot Video: Generate personalized video responses driven by TTS audio output, enabling human-like video communication in automated customer interaction flows.

Social Media Content at Scale: Rapidly produce talking-head content for influencer accounts, news summaries, or commentary formats using text-to-speech pipelines combined with InfiniteTalk video generation.

300以上のモデルから始める、

すべてのモデルを探索