Claude Opus 5 is now live on CometAPI →
Q

Wan2.7

Per sekund:$0.08
Utgitt:May 31, 2026

Wan2.7 er en videogenereringsmodell utviklet for visuell syntese av høy kvalitet og forbedret bevegelseskonsistens. Den egner seg for produksjon av filmatisk innhold og profesjonelle arbeidsflyter for videoproduksjon.

Ny
Kommersiell bruk

Tekniske spesifikasjoner for Wan 2.7

ElementWan 2.7 (Video Suite)
LeverandørAlibaba Tongyi Lab
ModellfamilieWan 2.7 Video Suite
ArkitekturMixture-of-Experts (MoE) med 27B parametere
InndatatyperTekst, bilder, videoer, lydreferanser
UtdatatyperGenererte/redigerte videoklipp med valgfri lyd
Støttede moduserTekst-til-video (T2V), Bilde-til-video (I2V), Referanse-til-video (R2V), Videoredigering
Oppløsning720P og 1080P-utdata
Videovarighet2–15 sekunder
LydstøtteInnebygd lydgenerering, stemmereferanser, arbeidsflyter for leppesynkronisering
ReferansemuligheterFlere referansebilder/-videoer, identitetskonsistens
KarakterkonsistensStøtter opptil flere referansemotiver avhengig av arbeidsflyt
UtgivelsesgenerasjonVesentlig etterfølger til Wan 2.6

Hva er Wan 2.7?

Wan 2.7 er Alibabas flaggskip innen multimodal videogenerering, bygget for kontrollerbare AI-filmskapingsarbeidsflyter snarere enn enkel prompt-til-video. Modellfamilien kombinerer generering, redigering, videreføring og referansestyrt konsistens i ett system, slik at skapere kan lage korte filmatiske klipp med bedre bevaring av motiv og scenekontroll.

I motsetning til tidligere videogeneratorer som hovedsakelig fokuserte på promptkvalitet, vektlegger Wan 2.7 styrbarhet gjennom rammeforankring, referanseinnspill, lydsynkronisering og strukturerte arbeidsflyter med flere opptak.

Hovedfunksjoner i Wan 2.7

  • Thinking Mode-planleggingspipeline: Modellen planlegger scenekomposisjon og bevegelse før rendering, noe som forbedrer etterlevelse av prompten og reduserer koherensfeil.
  • Kontroll av første- og sistebilde: Brukere kan definere åpnings- og avslutningsbilder slik at systemet interpolerer bevegelse mellom dem.
  • Referansestyrt identitetskonsistens: Oppretthold karakterutseende, klær, objekter og stil på tvers av flere opptak.
  • Innebygde multimodale arbeidsflyter: Støtter tekst-, bilde-, lyd- og videoreferanser innenfor samme arbeidsflyt.
  • Integrert lydgenerering: Bakgrunnsmusikk, omgivelseslyder og stemmesynkronisering kan genereres sammen med bildene.
  • Støtte for redigering og videreføring: Eksisterende videoer kan utvides, transformeres eller få ny stil uten å bygge på nytt fra grunnen av.

Benchmark-ytelse for Wan 2.7

Offentlig innsyn i benchmarker for Wan 2.7 er fortsatt begrenset sammenlignet med tekst-LLM-er, men tredjepartsevalueringer og fellesskapstesting indikerer merkbare forbedringer i bevegelsesstabilitet, etterlevelse av prompt og styrbarhet sammenlignet med Wan 2.6.

Rapporterte observasjoner i økosystemet inkluderer:

  • Sterkere bevegelseskontinuitet sammenlignet med tidligere Wan-utgaver.
  • Høyere plasseringer på resultatlister i tredjeparts tekst-til-video-evalueringer.
  • Bedre konsistens for flere motiver og bevaring av referanser.
  • Bedre lydintegrasjon enn mange tidligere åpne videomodeller.

Formell åpenhet rundt benchmarker er fortsatt begrenset, så ytelsespåstander bør tolkes med forsiktighet.

Wan 2.7 vs. andre videomodeller

FunksjonWan 2.7Veo 3.1Seedance 2.0
Innebygde lydarbeidsflyterSterkSterkModerat
Referansestyrt konsistensSterkModeratModerat
Kontroll av første + siste bildeJaDelvisBegrenset
Arbeidsflyter for videoredigeringJaJaBegrenset
Maksimal vanlig oppløsning1080PFilmisk utdata i høyere ende1080P
Støtte for flere referanserSterk vektModeratModerat

Begrensninger ved Wan 2.7

  • Kort klipplengde sammenlignet med verktøy for langformatproduksjon.
  • 1080P som maksimal utdata begrenser arbeidsflyter med ultrahøy oppløsning.
  • Scener med rask bevegelse kan fortsatt gi ustabilitetsartefakter.
  • Arbeidsflyter med flere referanser øker kompleksiteten og kravene til promptutforming.
  • Offentlig benchmark-rapportering forblir relativt sparsom.

Representative bruksområder

  1. Kortfilmer og storyboard med konsistent karaktergjengivelse.
  2. Markedsføringsklipp med lydsynkronisering.
  3. Videogenerering for sosiale medier.
  4. Produktvisualisering og konsepttrailere.
  5. Videofortsettelse og arbeidsflyter for sceneinterpolering.
  6. Referansebasert avatar- og karakteranimasjon.

Slik bruker du WAN 2.7 Video API i CometAPI

Trinn 1: Prøv WAN 2.7 Video API i Kie Al Playground

Test først WAN 2.7-funksjonaliteten ved å bruke WAN 2.7 Video API i CometAPI Playground. Last opp bilder, legg til promter, eller bruk referanser for å forhåndsvise den genererte WAN-videoen før du integrerer WAN 2.7 AI-video i produksjonsarbeidsflyten din.

Trinn 2: Skaff WAN 2.7 API-nøkkel og gjennomgå API-dokumentasjonen

Skaff WAN 2.7 API-nøkkel fra CometAPI-konsollen og gjennomgå dokumentasjonen. Forstå WAN 2.7 Video API-endepunkter, autentisering og parametere for å støtte tekst-til-video, bilde-til-video og WAN-videobaserte arbeidsflyter.

Trinn 3: Generer WAN 2.7 AI-videoer og integrer dem i arbeidsflyten din

Bruk WAN 2.7 Video API til å generere WAN 2.7 AI-videoer med promter, bilder eller referanser. Integrer WAN 2.7-utdata i produktarbeidsflyter, innholdspipelines eller AI-videoverktøy for å muliggjøre skalerbar videogenerering.

FAQ

Priser for Wan2.7

Utforsk konkurransedyktige priser for Wan2.7, designet for å passe ulike budsjetter og bruksbehov. Våre fleksible planer sikrer at du bare betaler for det du bruker, noe som gjør det enkelt å skalere etter hvert som kravene dine vokser. Oppdag hvordan Wan2.7 kan forbedre prosjektene dine samtidig som kostnadene holdes håndterbare.

Wan Video Generation Pricing

Pricing (Per Second)

Model720p1080p
wan2.6$0.08$0.12
wan2.7$0.08$0.12

💡 Billed per second. Total cost = price per second × video duration (seconds).

Eksempelkode og API for Wan2.7

Få tilgang til omfattende eksempelkode og API-ressurser for Wan2.7 for å effektivisere integreringsprosessen din. Vår detaljerte dokumentasjon gir trinn-for-trinn-veiledning som hjelper deg med å utnytte det fulle potensialet til Wan2.7 i prosjektene dine.

# Create a video with wan2.7
# Step 1: Submit the video generation request
echo "Submitting video generation request..."
response=$(curl -s https://api.cometapi.com/v1/videos \
  -H "Authorization: Bearer $COMETAPI_KEY" \
  -F "model=wan2.7" \
  -F "prompt=Create a cinematic detective sequence with clear timed shots. Shot 1 [0-2s]: a rainy city street at night, neon signs reflected in puddles. Shot 2 [2-4s]: a detective in a dark coat enters an old building. Shot 3 [4-5s]: close-up on a clue lit by a narrow flashlight beam." \
  -F "seconds=5" \
  -F "size=1280x720")

echo "Response: $response"

# Extract video_id from response (handle JSON with spaces like "id": "xxx")
video_id=$(echo "$response" | tr -d '
' | sed 's/.*"id"[[:space:]]*:[[:space:]]*"\([^"]*\)".*/\1/')
echo "Video ID: $video_id"

# Step 2: Poll for progress until 100%
echo ""
echo "Checking video generation progress..."
while true; do
  status_response=$(curl -s "https://api.cometapi.com/v1/videos/$video_id" \
    -H "Authorization: Bearer $COMETAPI_KEY")

  progress=$(echo "$status_response" | grep -o '"progress"[[:space:]]*:[[:space:]]*"\?[^",}]*"\?' | head -1 | sed 's/.*:[[:space:]]*"\?//;s/"$//')
  status=$(echo "$status_response" | grep -o '"status"[[:space:]]*:[[:space:]]*"[^"]*"' | head -1 | sed 's/.*"status"[[:space:]]*:[[:space:]]*"//;s/"$//')

  echo "Progress: $progress, Status: $status"

  if [ "$status" = "FAILURE" ] || [ "$status" = "failed" ] || [ "$status" = "error" ]; then
    echo "Video generation failed!"
    exit 1
  fi

  if [ "$progress" = "100%" ] || [ "$progress" = "100" ] || [ "$status" = "completed" ] || [ "$status" = "success" ]; then
    echo "Video generation completed!"
    break
  fi

  sleep 10
done

# Step 3: Download the video to output directory
echo ""
echo "Downloading video to ./output/$video_id.mp4..."
mkdir -p ./output
curl -s "https://api.cometapi.com/v1/videos/$video_id/content" \
  -H "Authorization: Bearer $COMETAPI_KEY" \
  -o "./output/$video_id.mp4"

if [ -f "./output/$video_id.mp4" ]; then
  echo "Video saved to ./output/$video_id.mp4"
  ls -la "./output/$video_id.mp4"
else
  echo "Failed to download video"
  exit 1
fi

cURL Code Example

# Create a video with wan2.7
# Step 1: Submit the video generation request
echo "Submitting video generation request..."
response=$(curl -s https://api.cometapi.com/v1/videos \
  -H "Authorization: Bearer $COMETAPI_KEY" \
  -F "model=wan2.7" \
  -F "prompt=Create a cinematic detective sequence with clear timed shots. Shot 1 [0-2s]: a rainy city street at night, neon signs reflected in puddles. Shot 2 [2-4s]: a detective in a dark coat enters an old building. Shot 3 [4-5s]: close-up on a clue lit by a narrow flashlight beam." \
  -F "seconds=5" \
  -F "size=1280x720")

echo "Response: $response"

# Extract video_id from response (handle JSON with spaces like "id": "xxx")
video_id=$(echo "$response" | tr -d '\n' | sed 's/.*"id"[[:space:]]*:[[:space:]]*"\([^"]*\)".*/\1/')
echo "Video ID: $video_id"

# Step 2: Poll for progress until 100%
echo ""
echo "Checking video generation progress..."
while true; do
  status_response=$(curl -s "https://api.cometapi.com/v1/videos/$video_id" \
    -H "Authorization: Bearer $COMETAPI_KEY")
  
  progress=$(echo "$status_response" | grep -o '"progress"[[:space:]]*:[[:space:]]*"\?[^",}]*"\?' | head -1 | sed 's/.*:[[:space:]]*"\?//;s/"$//')
  status=$(echo "$status_response" | grep -o '"status"[[:space:]]*:[[:space:]]*"[^"]*"' | head -1 | sed 's/.*"status"[[:space:]]*:[[:space:]]*"//;s/"$//')
  
  echo "Progress: $progress, Status: $status"
  
  if [ "$status" = "FAILURE" ] || [ "$status" = "failed" ] || [ "$status" = "error" ]; then
    echo "Video generation failed!"
    exit 1
  fi
  
  if [ "$progress" = "100%" ] || [ "$progress" = "100" ] || [ "$status" = "completed" ] || [ "$status" = "success" ]; then
    echo "Video generation completed!"
    break
  fi
  
  sleep 10
done

# Step 3: Download the video to output directory
echo ""
echo "Downloading video to ./output/$video_id.mp4..."
mkdir -p ./output
curl -s "https://api.cometapi.com/v1/videos/$video_id/content" \
  -H "Authorization: Bearer $COMETAPI_KEY" \
  -o "./output/$video_id.mp4"

if [ -f "./output/$video_id.mp4" ]; then
  echo "Video saved to ./output/$video_id.mp4"
  ls -la "./output/$video_id.mp4"
else
  echo "Failed to download video"
  exit 1
fi

Python Code Example

# Create a video with wan2.7 using raw HTTP requests
import os
import time
import requests

api_key = os.environ.get("COMETAPI_KEY")
base_url = "https://api.cometapi.com/v1"
headers = {"Authorization": f"Bearer {api_key}"}

# Step 1: Submit the video generation request
print("Submitting video generation request...")
response = requests.post(
    f"{base_url}/videos",
    headers=headers,
    files={
        "model": (None, "wan2.7"),
        "prompt": (None, "Create a cinematic detective sequence with clear timed shots. Shot 1 [0-2s]: a rainy city street at night, neon signs reflected in puddles. Shot 2 [2-4s]: a detective in a dark coat enters an old building. Shot 3 [4-5s]: close-up on a clue lit by a narrow flashlight beam."),
        "seconds": (None, "5"),
        "size": (None, "1280x720"),
    },
)

result = response.json()
print(f"Response: {result}")

video_id = result.get("id") or result.get("task_id")
print(f"Video ID: {video_id}")

# Step 2: Poll for progress until 100%
print("\nChecking video generation progress...")
while True:
    try:
        status_response = requests.get(f"{base_url}/videos/{video_id}", headers=headers)
        status_result = status_response.json()

        data = status_result.get("data") or status_result
        progress = data.get("progress", "0%")
        status = data.get("status", "unknown")

        print(f"Progress: {progress}, Status: {status}")

        if status in ["FAILURE", "failed", "error"]:
            print("Video generation failed!")
            print(status_result)
            exit(1)

        if progress == "100%" or progress == 100 or status in ["completed", "success"]:
            print("Video generation completed!")
            break
    except Exception as e:
        print(f"Temporary error: {e}, retrying...")

    time.sleep(10)

# Step 3: Download the video to output directory
print(f"\nDownloading video to ./output/{video_id}.mp4...")
os.makedirs("./output", exist_ok=True)

video_response = requests.get(f"{base_url}/videos/{video_id}/content", headers=headers)

output_path = f"./output/{video_id}.mp4"
with open(output_path, "wb") as f:
    f.write(video_response.content)

if os.path.exists(output_path):
    file_size = os.path.getsize(output_path)
    print(f"Video saved to {output_path}")
    print(f"File size: {file_size} bytes")
else:
    print("Failed to download video")
    exit(1)

JavaScript Code Example

// Create a video with wan2.7 using raw HTTP requests
import fs from "fs";
import path from "path";

const apiKey = process.env.COMETAPI_KEY;
const baseUrl = "https://api.cometapi.com/v1";
const headers = { Authorization: `Bearer ${apiKey}` };

function sleep(ms) {
  return new Promise((resolve) => setTimeout(resolve, ms));
}

// Step 1: Submit the video generation request
console.log("Submitting video generation request...");
const formData = new FormData();
formData.append("model", "wan2.7");
formData.append("prompt", "Create a cinematic detective sequence with clear timed shots. Shot 1 [0-2s]: a rainy city street at night, neon signs reflected in puddles. Shot 2 [2-4s]: a detective in a dark coat enters an old building. Shot 3 [4-5s]: close-up on a clue lit by a narrow flashlight beam.");
formData.append("seconds", "5");
formData.append("size", "1280x720");

const submitResponse = await fetch(`${baseUrl}/videos`, {
  method: "POST",
  headers,
  body: formData,
});

const result = await submitResponse.json();
console.log("Response:", JSON.stringify(result, null, 2));

const videoId = result.id || result.task_id;
console.log("Video ID:", videoId);

// Step 2: Poll for progress until 100%
console.log("\nChecking video generation progress...");
while (true) {
  try {
    const statusResponse = await fetch(`${baseUrl}/videos/${videoId}`, { headers });
    const statusResult = await statusResponse.json();
    const data = statusResult.data || statusResult;
    const progress = data.progress || "0%";
    const status = data.status || "unknown";

    console.log(`Progress: ${progress}, Status: ${status}`);

    if (status === "FAILURE" || status === "failed" || status === "error") {
      console.log("Video generation failed!");
      console.log(JSON.stringify(statusResult, null, 2));
      process.exit(1);
    }

    if (progress === "100%" || progress === 100 || status === "completed" || status === "success") {
      console.log("Video generation completed!");
      break;
    }
  } catch (e) {
    console.log(`Temporary error: ${e.message}, retrying...`);
  }

  await sleep(10000);
}

// Step 3: Download the video to output directory
console.log(`\nDownloading video to ./output/${videoId}.mp4...`);
fs.mkdirSync("./output", { recursive: true });

const videoResponse = await fetch(`${baseUrl}/videos/${videoId}/content`, { headers });
const outputPath = path.join("./output", `${videoId}.mp4`);
fs.writeFileSync(outputPath, Buffer.from(await videoResponse.arrayBuffer()));

if (fs.existsSync(outputPath)) {
  const stats = fs.statSync(outputPath);
  console.log(`Video saved to ${outputPath}`);
  console.log(`File size: ${stats.size} bytes`);
} else {
  console.log("Failed to download video");
  process.exit(1);
}

Versjoner av Wan2.7

Grunnen til at Wan2.7 har flere øyeblikksbilder kan inkludere potensielle faktorer som variasjoner i utdata etter oppdateringer som krever eldre øyeblikksbilder for konsistens, å gi utviklere en overgangsperiode for tilpasning og migrering, og ulike øyeblikksbilder som tilsvarer globale eller regionale endepunkter for å optimalisere brukeropplevelsen. For detaljerte forskjeller mellom versjoner, vennligst se den offisielle dokumentasjonen.

Version
wan2.7