Kling: Video O1
Kling VIDEO O1 är Kuaishous referensstyrda videomodell för att generera och redigera scener med text, bilder, motivelement och ett källklipp. Använd genereringsprofilen på tre till tio sekunder för visuell kontinuitet, styrda bildruteövergångar och fokuserade ändringar av befintligt material.
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.
Kling VIDEO O1 är Kuaishous förenade referensstyrda videomodell. Den kombinerar en textbeskrivning med bilder, förberedda motivelement eller en källvideo för att styra nya scener och fokuserade ändringar av befintligt material. Dess kärngränssnitt är ett visuellt uppdrag: identifiera referensmaterialet, beskriv dess roll och ange utseendet, handlingen eller omvandlingen du vill ha i den resulterande videon.
En ny tagning kan börja från text, en öppningsbild eller en uppsättning visuella referenser. Använd en bild för att fastställa en karaktär eller ett objekt och beskriv miljö, handling och perspektiv i ord. Tilldela rollerna uttryckligen när flera referenser bidrar med olika egenskaper. Ett ursprungligt produktuppdrag kan ta objektet från en bild och miljön från en annan och sedan beskriva objektets rörelse i miljön.
O1:s prompt kan namnge bilder, element och videor med specifika referensmarkörer, till exempel <<<image_1>>> eller <<<video_1>>>. Håll markörerna kopplade till den faktiska angivna resursen och förklara vad som ska tas från den. Tillverkarens promptutrymme är 2 500 tecken. En kortfattad instruktion som identifierar motiv och ändring är mer användbar än en samling orelaterade stiltermer.
För bildbaserade referenser utan videoindata är den dokumenterade kombinerade budgeten upp till sju referensbilder och flerbildselement. Med en referensvideo är bild-/elementbudgeten fyra. Gränserna gäller bildbaserade element; andra elementtyper har separata kompatibilitetsregler. Välj materialet som ger den väsentliga informationen om utseende eller scen i stället för att fylla budgeten med överflödiga vyer.
Bildindata använder JPG, JPEG eller PNG, angivna som en åtkomlig URL eller bilddata, med filer upp till 10 MB, dimensioner på minst 300 pixlar och ett bildförhållande mellan 1:2,5 och 2,5:1. Förbered tydliga motiv och behåll viktiga detaljer i beskärningen. Ange vilka egenskaper som ska behållas om uppgiften kräver att en karaktär eller produkt förblir igenkännbar och granska dem genom hela det färdiga klippet.
Start- och slutbildrutor styr en övergång mellan visuella gränser. Det dokumenterade O1-arbetsflödet för gränsbildrutor kräver en startbildruta när en slutbildruta anges och stöder inte start-/slutbildskontroll med fler än två bilder i arrayen. När båda gränsbildrutorna används ingår inga ytterligare motivelement i den O1-konfigurationen. Håll en bildrutestyrd uppgift separat från redigering av en angiven basvideo.
En källvideo kan ha två olika roller. Som basklipp är den materialet som redigeras: styr ett specifikt tillägg, en borttagning, stilbehandling eller kompositionsändring samtidigt som du anger vad som ska bevaras. Redigeringen följer indataklippets längd och kombinerar inte basvideouppgiften med gränsbildskontroll eller generering med flera tagningar. Som egenskapsreferens tillhandahåller videon innehåll, stil eller kamerainformation för en ny tagning.
Promptning med referensvideo kan också begära en föregående eller efterföljande tagning. Identifiera källklippet och beskriv den nya synliga händelsen, till exempel en fortsättning av motivets handling eller ett avslöjande av den omgivande miljön. Det använder referensen för att förmedla visuell information; granska skarven och motivkontinuiteten innan det nya segmentet sammanställs med originalmaterialet.
Producentens videoindataprofil accepterar en MP4- eller MOV-källa, upp till 200 MB, med en minsta längd på tre sekunder. Den detaljerade indataprofilen anger dimensioner från 720 till 2160 pixlar och bildfrekvenser från 24 till 60 fps, med ett indatabildförhållande mellan 1:2,5 och 2,5:1. Det dokumenterade källvideoarbetsflödet returnerar video vid 24 fps. Exakt tillåten klipplängd beror också på vald modellprofil. O1:s intervall för nygenerering är tre till tio sekunder, separat från den senare 3.0 Omni-versionens längdintervall.
Tillverkarens O1-lägen ger 720p Standard- eller 1080p Pro-utdata. Bildutsnitt för nya tagningar stöder dokumenterade liggande, stående och kvadratiska val där det valda arbetsflödet använder kontrollen; en basvideoredigering följer källans bildutsnitt. Källvideons ljud kan behållas eller tas bort. O1:s referens- och redigeringsarbetsflöde ska hållas separat från den senare 3.0 Omni-profilens inbyggda ljud och anpassade storyboard.
Generering skapar en uppgift vars färdiga resultat innehåller videoleveransen och faktisk längd. Tillverkarens resultatdokumentation säger att genererade videor raderas efter 30 dagar, så spara det färdiga klippet omgående. Bevara källresurser och uppdrag tillsammans med resultatet och granska sedan begärd ändring, referensanvändning och kontinuitet. Jämför det berörda området och delarna som ska behållas för en redigering. Kontrollera att varje resurs gav avsedd visuell information för en referensstyrd ny tagning. Håll det färdiga klippet tillgängligt för efterföljande redigering eller produktionssekvens.
Ailoot Ultra · Video POST /v1/videos kwaivgi/kling-video-o1
kwaivgi/kling-video-o1Start
Kling VIDEO O1 är Kuaishous referensstyrda videomodell för att generera och redigera scener med text, bilder, motivelement och ett källklipp. Använd genereringsprofilen på tre till tio sekunder för visuell kontinuitet, styrda bildruteövergångar och fokuserade ändringar av befintligt material.
- Godkända indata
- Text · Bilder
- Resultat
- Video
Tillgängligt i Ailoot · indata & metoder
Ailoot Ultra · Video POST /v1/videos
- Indatatyper
text,image- Utdatatyper
video- Utdataformat
- ursprungliga MP4-byte; ingen normalisering/omkodning
| Fält | Typ | Krav | Värden & gränser | Standard |
|---|---|---|---|---|
Fältmodel | Typstring | KravObligatoriskt | Värden & gränser kwaivgi/kling-video-o1 | Standard— |
Fältprompt | Typstring | KravObligatoriskt | Värden & gränser | Standard— |
Fältduration | Typinteger | KravObligatoriskt | Värden & gränser 5, 10 Minimum: 1 Maximum: 600 | Standard— |
Fältresolution | Typstring | KravValfritt | Värden & gränser 720p | Standard— |
Fältaspect_ratio | Typstring | KravValfritt | Värden & gränser 16:9, 9:16, 1:1 | Standard— |
Fältgenerate_audio | Typboolean | KravValfritt | Värden & gränser false, true | Standard— |
Fältframe_images | Typarray | KravValfritt | Värden & gränser Minsta antal objekt: 1 Maximalt antal objekt: 2 Indatainnehåll: Array med bildruteobjekt. Varje objekt har type=image_url, image_url som innehåller url samt frame_type. Använd en HTTPS URL till en bild och sätt frame_type till first_frame eller last_frame. Varje bildruteroll förekommer högst en gång. Exakta nycklar: type, image_url, frame_type Villkor: Dessa nycklar beskriver varje bildruteobjekt; image_url innehåller endast url. Utelämna frame_images för en begäran med enbart text. | Standard— |
Fältinput_references | Typarray | KravValfritt | Värden & gränser | Standard— |
Fältsize | Typstring | KravValfritt | Värden & gränser 1280x720, 720x1280, 720x720 Mönster: ^[1-9][0-9]*x[1-9][0-9]*$ | Standard— |
Fältcallback_url | Typstring | KravValfritt | Värden & gränser Mönster: ^https:// | Standard— |
Fältsession_id | Typstring | KravValfritt | Värden & gränser | Standard— |
Fälttrace | Typobject | KravValfritt | Värden & gränser | Standard— |
Fältuser | Typstring | KravValfritt | Värden & gränser | Standard— |
Kombinationer av indatamaterial
Text till video · En skriven prompt. · Krävs: model, prompt, duration
Ange prompt som text och längd i hela sekunder. Välj en upplösning som stöds; lägg till ett bildförhållande eller använd en angiven storlek.
model: Typ: string · kwaivgi/kling-video-o1
prompt: Typ: string · Maximalt antal UTF-8-byte: 10 000 · Minst ett tecken som inte är blanksteg krävs: Ja
Bild till video · En skriven prompt och en bild för den första bildrutan. · Krävs: model, prompt, duration, frame_images
frame_images är en array. Varje bildruteobjekt har type, image_url och frame_type; image_url innehåller url. Sätt type till image_url. Använd first_frame med valfri last_frame. Varje bildruteroll förekommer högst en gång. Ange en offentlig HTTPS URL till en bild för varje bildruta. Välj en upplösning som stöds; lägg till ett bildförhållande eller använd en angiven storlek.
Exakta nycklar: type, image_url, frame_type
model: Typ: string · kwaivgi/kling-video-o1
prompt: Typ: string · Maximalt antal UTF-8-byte: 10 000 · Minst ett tecken som inte är blanksteg krävs: Ja
Metodparametrar och livscykel
| Parameter | Avtal |
|---|---|
Parametercontent_type | Avtalapplication/json |
Parameterrequired | Avtalmodel, prompt, duration |
Parametermaterial_types | Avtaltext, image |
Parameteradditional_properties | Avtalfalse |
Parameteroptional_controls | Avtalresolution, aspect_ratio, generate_audio, frame_images, input_references, size, callback_url, session_id, trace, user |
Livscykel: submit_once_poll_original
GET /v1/videos/{public_id}
GET /v1/videos/{public_id}/content
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 | Debiteringsenhet | Debiteringsvillkor | Avgift |
|---|---|---|---|---|---|
| KonfigurationGrundpriser för token | PrislistaGrundpris | Prognostiserad mängd— | 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 |
| KonfigurationVideopris | Prislista— | Prognostiserad mängd— | Debiteringsenhetper videosekund | DebiteringsvillkorInget ytterligare villkor anges i denna prisnyckel. | Avgift Utdata · Videopris · Uppskattning endast för jämförelse $0.224 per videosekund |
| KonfigurationUppskattad genereringskostnad | Prislista— | Prognostiserad mängduppskattning för en generering | Debiteringsenhet— | Debiteringsvillkor— | Avgift Utdata · Uppskattad genereringskostnad · Uppskattning endast för jämförelse $1.12 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 →
Detaljer om referenstariffen
Referensprislistor på modellnivå ändrar inte metodval, prisuppgifter eller avgifter. Aktiva avgifter använder priserna för den valda Ailoot-metoden.
Prisreferenser för videokonfigurationer
Priser efter konfiguration
| Konfiguration | Debiteringsvillkor | Avgift |
|---|---|---|
| KonfigurationVideopris | DebiteringsvillkorInget ytterligare villkor anges i denna prisnyckel. | Avgift Utdata · Videopris $0.224 per videosekund Publicerad prisreferens för den visade konfigurationen. Den slutliga debiteringen följer den konfiguration som faktiskt debiterades. |
Exempelbegäranden
Ailoot Ultra · Video
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_REQUEST'
from pathlib import Path
Path('request.json').write_text('{"aspect_ratio":"16:9","duration":5,"model":"kwaivgi/kling-video-o1","prompt":"A serene mountain landscape at sunset","resolution":"720p"}', encoding='utf-8')
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
python3 - <<'PY_RESULT'
import json
from pathlib import Path
r=json.loads(Path('result.json').read_text())
print(json.dumps(r,ensure_ascii=False,indent=2))
print('Keep the complete JSON and response headers; do not resubmit an unknown creation.')
PY_RESULT
Ta emot och spara resultat
Ailoot Ultra · Video
signerade innehållslänkar som du äger
GET /v1/videos/{public_id}GET /v1/videos/{public_id}/content
Kontrollera jobbstatus
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_STATUS_URL'
import json
from pathlib import Path
from urllib.parse import quote
r=json.loads(Path('result.json').read_text())
if not isinstance(r.get('id'),str) or not r['id']:raise SystemExit('Keep the original response and headers for reconciliation; no returned ID')
Path('status-url.txt').write_text('https://api.ailoot.ai/v1/videos/'+quote(r['id'],safe=''))
PY_STATUS_URL
curl --fail-with-body --silent --show-error "$(cat status-url.txt)" \
-H "Authorization: Bearer $AILOOT_API_KEY" -D status-headers.txt -o status.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path
r=json.loads(Path('status.json').read_text())
print(json.dumps(r,ensure_ascii=False,indent=2))
print('Keep the complete JSON and response headers; do not resubmit an unknown creation.')
PY_RESULT
Andra innehållsläsningar
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())
if r.get('status')!='completed':raise SystemExit('Keep the original ID and read its status; never recreate an unknown job')
if not isinstance(r.get('data'),list) or not r['data']:raise SystemExit('Keep the complete original status; no completed outputs supplied')
urls=[]
for i,u in enumerate(r.get('data',[])):
if not isinstance(u,str):raise SystemExit('Keep the original response; unexpected asset shape')
urls.append((str(i),u))
for label,path in urls:
u=urljoin('https://api.ailoot.ai',path);z=urlsplit(u)
if z.scheme!='https' or z.netloc!='api.ailoot.ai' or z.username or z.password:raise SystemExit('Use the actual returned Ailoot owned content URL')
target=Path('owned-'+label+'.bin')
subprocess.run(['curl','--fail-with-body','--silent','--show-error',u,'-H','Authorization: Bearer '+os.environ['AILOOT_API_KEY'],'-D',str(target)+'.headers','-o',str(target)],check=True)
print('All returned owned URLs saved; complete metadata, timing and usage remain in the JSON.')
PY_ASSETS
Behåll alla färdiga resultat
Spara varje färdig video eller returnerad fil; hämta varje faktiskt returnerad resurs-URL.
Behåll varje faktiskt resultat som du äger och dess returnerade, uppmätta metadata.
Om det ursprungliga svaret behöver kontrolleras
503 result_pending_check + ursprungligt id + X-Should-Retry:false; upprepa aldrig originalet
Svarsfält
| Fält | Typ | Betydelse |
|---|---|---|
Fältindex | Typinteger | BetydelseNollbaserad position för denna video i utdatalistan. |
Fältcontent_url | Typstring | BetydelseSignerad HTTPS URL för hämtning av denna färdiga video. |
Fältsha256 | Typstring | null | BetydelseSHA-256-kontrollsumma för den ursprungliga videons byte; null om den inte är tillgänglig. |
Fältsize_bytes | Typinteger | null | BetydelseStorleken på den ursprungliga videofilen i byte; null om den inte är tillgänglig. |
Fältduration_ms | Typinteger | null | BetydelseUppmätt videolängd i millisekunder; null om den inte är tillgänglig. |
Fältwidth | Typinteger | null | BetydelseVideobredd i pixlar; null om den inte är tillgänglig. |
Fältheight | Typinteger | null | BetydelseVideohöjd i pixlar; null om den inte är tillgänglig. |
Fältvideo_codec | Typstring | null | BetydelseIdentifierare för videokodek; null om ingen har registrerats. |
Fälthas_audio | Typboolean | null | BetydelseOm videon innehåller ett ljudspår; null om detta inte har mätts. |
Fältaudio_codec | Typstring | null | BetydelseIdentifierare för ljudkodek; null när ingen identifierare har registrerats. |
Fel och nästa steg
| Svar | Villkor | Nästa steg |
|---|---|---|
Svar404 · not_found_error | VillkorVideoåtkomst är inte tillgänglig eller detta video-ID hittades inte. | Nästa stegKontrollera videoåtkomst. För en befintlig video använder du dess ursprungliga offentliga ID och samma API-nyckel. |
Svar401 · authentication_error | VillkorAPI-nyckeln motsvarar inte det autentiserade kontot. | Nästa stegKontrollera din API-nyckel och kontoåtkomst innan du skickar in. |
Svar400 · invalid_request_error | VillkorBegäran kunde inte läsas eller hämtningsindexet är ogiltigt. | Nästa stegKorrigera begäranskroppen. Vid hämtning väljer du ett utdataindex som returnerats av den ursprungliga uppgiften. |
Svar422 · price_unavailable | VillkorDen valda videokonfigurationen kan inte prissättas. | Nästa stegVälj en videokonfiguration som stöds och fyll i dess obligatoriska alternativ innan du skickar en korrigerad begäran. |
Svar422 · invalid_request_error | VillkorVideoindata eller den ursprungliga fortsättningsuppgiften är ogiltig. | Nästa stegAnvänd giltiga HTTPS-indata. För fortsättning använder du det färdiga originalets offentliga video-ID med samma API-nyckel. |
Svar402 · billing_error | VillkorDet tillgängliga saldot eller gränserna medger ingen reservation. | Nästa stegKontrollera ditt tillgängliga saldo och dina gränser innan du skickar en ny begäran. |
Svar503 · server_error | VillkorVideoverifiering, lagring eller tjänsteåtkomst är tillfälligt otillgänglig. | Nästa stegVänta tills tjänsten är tillgänglig. Om du redan har ett video-ID kontrollerar du den ursprungliga uppgiften i stället för att skapa en ny generering. |
Svar503 · result_pending_check | VillkorDet ursprungliga videoresultatet och debiteringen behöver kontrolleras. | Nästa stegBehåll det returnerade video-ID:t och kontrollera den uppgiften. Skicka ingen ersättande genereringsbegäran medan den kontrolleras. |
Svar503 · owned_result_unavailable | VillkorHämtningen av den befintliga videon är tillfälligt otillgänglig. | Nästa stegKontrollera samma videouppgift senare och hämta dess befintliga resultat. En ny generering skapar en separat operation. |
Svar409 · video_not_ready | VillkorVideoinnehållet har inte publicerats. | Nästa stegKontrollera den ursprungliga uppgiftens status. Hämta när den rapporterar completed; om den rapporterar failed följer du dess meddelande om debiteringskontroll. |
Alias
Modellalias
Ailoot Ultra kwaivgi/kling-video-o1
Alias för metodsökvägar
Använd metodsökvägarna som visas ovan.
Relaterade anropar-ID:n
FAQ · Kling: Video O1
- Vilka indata och resultat finns?
POST /v1/videos·kwaivgi/kling-video-o1:text,image→video- Vilka fält använder begäran?
POST /v1/videos·kwaivgi/kling-video-o1:model,prompt,duration,resolution,aspect_ratio,generate_audio,frame_images,input_references,size,callback_url,session_id,trace,user- Vilka gränser gäller?
POST /v1/videos·kwaivgi/kling-video-o1:duration.minimum:1;duration.maximum:600;frame_images.max_items:2;frame_images.min_items:1