wan2.7-i2v
Wan 2.7 I2V skapar en video från en obligatorisk bild med valfri skriftlig regi och slutbildsvägledning. Välj längd, upplösning och ratio via Ailoot.
Om modellen
Den här beskrivningen omfattar modellens förmågor. Tillgängliga indata, utdata och alternativ i Ailoot anges nedan för den valda metoden.
Använd wan2.7-i2v med model och image på /v1/videos. Begäran erbjuder prompt, negative_prompt, end_image, driving_audio, prompt_extend och watermark. Välj en längd på två till femton sekunder, upplösningen 720P eller 1080P och ratio som 16:9, 9:16, 1:1, 4:3 eller 3:4.
Beskriv handlingen som ska växa fram ur källbilden och vilka detaljer scenen ska behålla. Håll motivets rörelse skild från kamerabanan. En slutbild kan identifiera avsedd slutkomposition, medan ljudindata ska förbli kopplade till begäran för senare granskning. Bevara bilden, valfri slutbild och valda kontroller tillsammans med det färdiga klippet.
Skicka in klippet en gång via /v1/videos och behåll det returnerade begärans-ID:t. Kontrollera regelbundet statusen för samma operation via /v1/videos/{request_id} och spara sedan alla färdiga videoutdata och hela svaret. Granska hela handlingen och slutkompositionen mot det bifogade materialet och beskrivningen.
Ailoot Ultra · Video POST /v1/videos wan2.7-i2v
wan2.7-i2vStart
Wan 2.7 I2V skapar en video från en obligatorisk bild med valfri skriftlig regi och slutbildsvägledning. Välj längd, upplösning och ratio via Ailoot.
- Godkända indata
- Text · Bilder
- Resultat
- Video
Tillgängligt i Ailoot · indata & metoder
Ailoot Ultra · Video POST /v1/videos
- Indatatyper
text,image- Utdatatyper
video
| Fält | Typ | Krav | Värden & gränser | Standard |
|---|---|---|---|---|
Fältmodel | Typstring | KravObligatoriskt | Värden & gränser wan2.7-i2v Villkor: Använd exakt denna routningsväljare för Ailoot. | Standard— |
Fältprompt | Typstring | KravValfritt | Värden & gränser Villkor: Använd det dokumenterade fältet och de angivna alternativen för den valda modellen; utelämna ett valfritt värde som inte har angetts. | Standard |
Fältnegative_prompt | Typstring | KravValfritt | Värden & gränser Villkor: Använd det dokumenterade fältet och de angivna alternativen för den valda modellen; utelämna ett valfritt värde som inte har angetts. | Standard |
Fältimage | Typstring | KravObligatoriskt | Värden & gränser Villkor: Ange bildens verkliga, tillgängliga URL. En lista godtas endast där parameterschemat anger en array. | Standard— |
Fältend_image | Typstring | KravValfritt | Värden & gränser Villkor: Använd det dokumenterade fältet och de angivna alternativen för den valda modellen; utelämna ett valfritt värde som inte har angetts. | Standard— |
Fältdriving_audio | Typstring | KravValfritt | Värden & gränser Villkor: Använd det dokumenterade fältet och de angivna alternativen för den valda modellen; utelämna ett valfritt värde som inte har angetts. | Standard— |
Fältresolution | Typstring | KravValfritt | Värden & gränser 720P, 1080P Villkor: Använd det dokumenterade fältet och de angivna alternativen för den valda modellen; utelämna ett valfritt värde som inte har angetts. | Standard— |
Fältratio | Typstring | KravValfritt | Värden & gränser 16:9, 9:16, 1:1, 4:3, 3:4 Villkor: Använd det dokumenterade fältet och de angivna alternativen för den valda modellen; utelämna ett valfritt värde som inte har angetts. | Standard— |
Fältduration | Typinteger | KravValfritt | Värden & gränser 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 Villkor: Använd det dokumenterade fältet och de angivna alternativen för den valda modellen; utelämna ett valfritt värde som inte har angetts. | Standard— |
Fältprompt_extend | Typboolean | KravValfritt | Värden & gränser Villkor: Använd det dokumenterade fältet och de angivna alternativen för den valda modellen; utelämna ett valfritt värde som inte har angetts. | Standard— |
Fältwatermark | Typboolean | KravValfritt | Värden & gränser Villkor: Använd det dokumenterade fältet och de angivna alternativen för den valda modellen; utelämna ett valfritt värde som inte har angetts. | Standard— |
Metodparametrar och livscykel
| Parameter | Avtal |
|---|---|
Parametercontent_type | Avtalapplication/json |
Parameterrequired | Avtalmodel, image |
Parameteroptional | Avtalprompt, negative_prompt, end_image, driving_audio, resolution, ratio, duration, prompt_extend, watermark |
Parametermaterial_types | Avtaltext, image |
Parameterconditions | AvtalAnvänd exakt denna routningsväljare för Ailoot., Använd det dokumenterade fältet och de angivna alternativen för den valda modellen; utelämna ett valfritt värde som inte har angetts., Använd det dokumenterade fältet och de angivna alternativen för den valda modellen; utelämna ett valfritt värde som inte har angetts., Ange bildens verkliga, tillgängliga URL. En lista godtas endast där parameterschemat anger en array., Använd det dokumenterade fältet och de angivna alternativen för den valda modellen; utelämna ett valfritt värde som inte har angetts., Använd det dokumenterade fältet och de angivna alternativen för den valda modellen; utelämna ett valfritt värde som inte har angetts., Använd det dokumenterade fältet och de angivna alternativen för den valda modellen; utelämna ett valfritt värde som inte har angetts., Använd det dokumenterade fältet och de angivna alternativen för den valda modellen; utelämna ett valfritt värde som inte har angetts., Använd det dokumenterade fältet och de angivna alternativen för den valda modellen; utelämna ett valfritt värde som inte har angetts., Använd det dokumenterade fältet och de angivna alternativen för den valda modellen; utelämna ett valfritt värde som inte har angetts., Använd det dokumenterade fältet och de angivna alternativen för den valda modellen; utelämna ett valfritt värde som inte har angetts. |
Metodalias: /v1/videos/generations
Livscykel: submit_once_poll_original
GET /v1/videos/{request_id}
GET /v1/videos/generations/{request_id}
GET /v1/videos/{request_id}/content
GET /v1/media/assets
GET /v1/media/assets/{asset_id}
Priser
Så beräknas slutavgiften
De visade priserna används för att uppskatta kostnaden före genereringen. Den slutliga debiteringen beräknas utifrån den kostnad som registrerats för den ursprungliga genereringen. Uppmätt längd på resultatet och uppskattade mängder utgör inte den slutliga debiterbara mängden.
Tariffuppgifter lägger inte till begäransalternativ. Parametrar som stöds anges för den valda metoden.
- Snabbt läge
- Ej angivet När snabbt läge är valt
- Flex-läge
- Ej angivet När läget flex är valt
- Högsta resonemangsnivå
- Ej angivet När den högsta resonemangsnivån använder standardjusteringen (default)
Uppskattade priser för jämförelse
Priser efter konfiguration
Matcha varje avgift mot de visade villkoren. Använd ett pris för varje uppsättning alternativa konfigurationer.
| Konfiguration | Prislista | Prognostiserad mängd | Utdataupplösning | Debiteringsenhet | Debiteringsvillkor | Avgift |
|---|---|---|---|---|---|---|
| KonfigurationGrundpriser för token | PrislistaGrundpris | Prognostiserad mängd— | Utdataupplösning— | Debiteringsenhet— | Debiteringsvillkor— | Avgift Indata · Indatatoken · Uppskattning endast för jämförelse — / 1K token Utdata · Utdatatoken · Uppskattning endast för jämförelse — / 1K token Indata · Cacheläsning · Uppskattning endast för jämförelse — / 1K token Indata · Skrivning till cache · Uppskattning endast för jämförelse — / 1K token Indata · Skrivning till cache, 1 tim · Uppskattning endast för jämförelse — / 1K token |
| KonfigurationGenererad video | Prislista— | Prognostiserad mängd— | Utdataupplösning1080P | Debiteringsenhetper videosekund | DebiteringsvillkorVägledande uppskattning för genererad video med upplösningen 1080P. Den slutliga debiteringen följer den registrerade originalfakturan. | Avgift Utdata · Utgående video · Uppskattning endast för jämförelse $0.3 per videosekund Endast en vägledande uppskattning; den slutliga debiteringen följer den registrerade originalfakturan. |
| KonfigurationGenererad video | Prislista— | Prognostiserad mängd— | Utdataupplösning720P | Debiteringsenhetper videosekund | DebiteringsvillkorVägledande uppskattning för genererad video med upplösningen 720P. Den slutliga debiteringen följer den registrerade originalfakturan. | Avgift Utdata · Utgående video · Uppskattning endast för jämförelse $0.2 per videosekund Endast en vägledande uppskattning; den slutliga debiteringen följer den registrerade originalfakturan. |
| KonfigurationUppskattad genereringskostnad | Prislista— | Prognostiserad mängduppskattning för en generering | Utdataupplösning— | Debiteringsenhet— | Debiteringsvillkor— | Avgift Utdata · Uppskattad genereringskostnad · Uppskattning endast för jämförelse $0.2 uppskattning före generering Denna uppskattning är varken en extra avgift eller ett fast pris för den slutförda genereringen. |
Ailoot reserverar ett uppskattat belopp före en begäran. Efter resultatet slutregleras avgiften utifrån uppmätt förbrukning. Slutreglering för strömning använder den slutliga förbrukningsposten. Så fungerar reservation och slutreglering →
Exempelbegäranden
Ailoot Ultra · Video
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
export AILOOT_API_KEY
: "${AILOOT_IMAGE_URL:?Set an actual customer material or documented value}"
export AILOOT_IMAGE_URL
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model": "wan2.7-i2v", "image": "YOUR_ACCESSIBLE_IMAGE_URL"}')
p['image']=os.environ['AILOOT_IMAGE_URL']
Path("request.json").write_text(json.dumps(p,ensure_ascii=False))
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/videos \
-H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
--data-binary @request.json -D response-headers.txt -o result.json
# Submit once. Retain the complete result, original identifiers and every response header.
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
export AILOOT_API_KEY
python3 - <<'PY_STATUS'
import json,os,subprocess
from pathlib import Path
from urllib.parse import urljoin,urlsplit
r=json.loads(Path("result.json").read_text())
u=urljoin("https://api.ailoot.ai",r["polling_url"])
p=urlsplit(u)
if p.scheme!="https" or p.netloc!="api.ailoot.ai" or p.username or p.password:
raise SystemExit("Unexpected returned polling URL; preserve the response")
subprocess.run(["curl","--fail-with-body","--silent","--show-error",u,"-H","Authorization: Bearer "+os.environ["AILOOT_API_KEY"],"-D","status-headers.txt","-o","status.json"],check=True)
# Read this same original polling_url again while pending.
# Preserve unknown/result_pending_check; do not repeat creation.
PY_STATUS
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
export AILOOT_API_KEY
python3 - <<'PY_ASSETS'
import json,os,subprocess
from pathlib import Path
from urllib.parse import urljoin,urlsplit
r=json.loads(Path("status.json").read_text())
roles={}
def visit(v,path=""):
if isinstance(v,dict):
for k,x in v.items(): visit(x,path+"/"+k)
elif isinstance(v,list):
for i,x in enumerate(v): visit(x,path+"/"+str(i))
elif isinstance(v,str):
u=urljoin("https://api.ailoot.ai",v); p=urlsplit(u)
if p.scheme=="https" and p.netloc=="api.ailoot.ai" and not p.username and not p.password and p.path.startswith("/v1/media/assets/") and p.path.endswith("/content"):
roles.setdefault(u,[]).append(path)
visit(r)
if not roles: raise SystemExit("No completed owned assets; retain the original status")
manifest=[]
for i,(u,paths) in enumerate(roles.items()):
target=Path(f"asset-{i}.bin")
subprocess.run(["curl","--fail-with-body","--silent","--show-error",u,"-H","Authorization: Bearer "+os.environ["AILOOT_API_KEY"],"-o",str(target)],check=True)
raw=target.read_bytes()
if not raw: raise SystemExit("Empty asset; retain original status and metadata")
ext="glb" if raw[:4]==b"glTF" else "png" if raw[:8]==b"\x89PNG\r\n\x1a\n" else "jpg" if raw[:3]==b"\xff\xd8\xff" else "webp" if raw[:4]==b"RIFF" and raw[8:12]==b"WEBP" else "mp4" if raw[4:8]==b"ftyp" else "bin"
name=f"asset-{i}.{ext}"
if target.name!=name: target.rename(name)
manifest.append({"file":name,"response_paths":paths,"bytes":len(raw)})
Path("asset-manifest.json").write_text(json.dumps(manifest,indent=2))
print("Saved",len(manifest),"unique owned assets; every response role retained")
PY_ASSETS
Ta emot och spara resultat
Ailoot Ultra · Video
GET /v1/videos/{request_id}GET /v1/videos/generations/{request_id}GET /v1/videos/{request_id}/contentGET /v1/media/assetsGET /v1/media/assets/{asset_id}
Behåll alla färdiga resultat
Spara varje färdig video eller returnerad fil; hämta varje faktiskt returnerad resurs-URL.
Behåll hela svaret och svarshuvudena, ursprungliga identifierare, varje faktiskt resultat och alla förbruknings- och redovisningsfält. Spara varje unik tillgång som du äger och behåll varje roll som pekar på den.
Om det ursprungliga svaret behöver kontrolleras
Behåll det returnerade offentliga uppgifts- eller operations-id:t och samtliga svarshuvuden. Läs endast den ursprungliga uppgiften; unknown eller result_pending_check ger inte tillstånd att skapa på nytt.
Svarsfält
| Fält | Typ |
|---|---|
Fältid | Typstring |
Fältpolling_url | Typstring |
Fältprovider_task_id | Typstring |
Fälttask_id | Typstring |
Fältstatus | Typstring |
Fältvideo_url | Typstring |
Fel och nästa steg
| Svar | Villkor | Nästa steg |
|---|---|---|
Svar400 · invalid_request_error | VillkorEtt obligatoriskt fält, en modellväljare, en typ eller en representation av indata är ogiltig. | Nästa stegGranska den returnerade valideringsinformationen innan du förbereder en separat begäran. |
Svar | VillkorDen ursprungliga begäran eller resultatet är okänt eller behöver kontrolleras. | Nästa stegBehåll ursprungliga identifierare och huvuden; läs endast status- eller biblioteksposter som stöds. Skicka inte skapandebegäran igen. |
Alias
Modellalias
Ailoot Ultra wan2.7-i2v
Alias för metodsökvägar
/v1/videos/generations
Relaterade anropar-ID:n
FAQ · wan2.7-i2v
- Vilka indata och resultat finns?
POST /v1/videos·wan2.7-i2v:text,image→video- Vilka fält använder begäran?
POST /v1/videos·wan2.7-i2v:model,prompt,negative_prompt,image,end_image,driving_audio,resolution,ratio,duration,prompt_extend,watermark