Kling: Video O1
Kling VIDEO O1 is het referentiegestuurde videomodel van Kuaishou voor het genereren en bewerken van scènes met tekst, beelden, onderwerpelementen en een bronclip. Gebruik het generatieprofiel van drie tot tien seconden voor visuele continuïteit, gestuurde frameovergangen en gerichte wijzigingen van bestaand beeldmateriaal.
Over het model
Deze beschrijving gaat over de mogelijkheden van het model. De via Ailoot beschikbare invoer, uitvoer en opties staan hieronder voor de geselecteerde methode.
Kling VIDEO O1 is het geïntegreerde referentiegestuurde videomodel van Kuaishou. Het combineert een tekstbeschrijving met beelden, voorbereide onderwerpelementen of een bronvideo om nieuwe scènes en gerichte wijzigingen van bestaand beeldmateriaal te sturen. De kerninterface is een visuele briefing: identificeer het referentiemateriaal, beschrijf de rol ervan en benoem het uiterlijk, de actie of transformatie die u in de resulterende video wilt.
Een nieuw shot kan beginnen met tekst, een openingsbeeld of een set visuele referenties. Gebruik een beeld om een personage of object vast te leggen en beschrijf omgeving, actie en gezichtspunt in woorden. Wijs de rollen expliciet toe wanneer meerdere referenties verschillende kenmerken bijdragen. Een oorspronkelijke productbriefing kan het object uit het ene beeld en de omgeving uit een ander overnemen en daarna de beweging van het object binnen die omgeving beschrijven.
De prompt van O1 kan beelden, elementen en video's benoemen met specifieke referentiemarkeringen, zoals <<<image_1>>> of <<<video_1>>>. Houd die markeringen gekoppeld aan het daadwerkelijk aangeleverde bestand en leg uit wat eruit moet worden overgenomen. De maker staat prompts van 2.500 tekens toe. Een beknopte instructie die onderwerp en wijziging identificeert, is nuttiger dan een verzameling losstaande stijltermen.
Voor beeldgebaseerde referenties zonder video-invoer is het gedocumenteerde gezamenlijke budget maximaal zeven referentiebeelden en elementen met meerdere beelden. Met een referentievideo is dat beeld-/elementbudget vier. Deze grenzen gelden voor beeldgebaseerde elementen; andere elementtypen hebben afzonderlijke compatibiliteitsregels. Kies het materiaal dat de essentiële informatie over uiterlijk of scène levert, in plaats van het budget met overbodige aanzichten te vullen.
Beeldinvoer gebruikt JPG, JPEG of PNG, aangeleverd als toegankelijke URL of beeldgegevens, met bestanden tot 10 MB, afmetingen van minimaal 300 pixels en een beeldverhouding tussen 1:2.5 en 2.5:1. Bereid duidelijke onderwerpen voor en behoud belangrijke details in de uitsnede. Als een personage of product herkenbaar moet blijven, benoem dan welke kenmerken behouden moeten blijven en controleer die in de hele voltooide clip.
Begin- en eindframes sturen een overgang tussen visuele grenzen. De gedocumenteerde O1-workflow voor grensframes vereist een beginframe wanneer een eindframe wordt aangeleverd en ondersteunt geen begin-/eindframeregeling met meer dan twee beelden in de array. Wanneer beide grensframes worden gebruikt, maken aanvullende onderwerpelementen geen deel uit van die O1-configuratie. Houd een framegestuurde taak gescheiden van het bewerken van een aangeleverde basisvideo.
Een bronvideo kan twee verschillende rollen hebben. Als basisclip is het het beeldmateriaal dat wordt bewerkt: stuur een specifieke toevoeging, verwijdering, stijlbehandeling of compositiewijziging en benoem wat behouden moet blijven. De bewerking volgt de duur van de invoerclip en combineert die basisvideotaak niet met grensframeregeling of generatie met meerdere shots. Als kenmerkenreferentie levert de video inhoud, stijl of camera-informatie voor een nieuw shot.
Prompting met een referentievideo kan ook om een voorafgaand of volgend shot vragen. Identificeer de bronclip en beschrijf de nieuwe zichtbare gebeurtenis, zoals een voortzetting van de actie van het onderwerp of een onthulling van de omliggende omgeving. Hierbij wordt de referentie gebruikt om visuele informatie over te brengen; controleer de aansluiting en onderwerpcontinuïteit voordat u het nieuwe segment met het oorspronkelijke beeldmateriaal samenvoegt.
Het video-invoerprofiel van de producent accepteert één MP4- of MOV-bron tot 200 MB, met een minimale duur van drie seconden. Het gedetailleerde invoerprofiel specificeert afmetingen van 720 tot 2160 pixels en framefrequenties van 24 tot 60 fps, met een invoerbeeldverhouding tussen 1:2.5 en 2.5:1. Die gedocumenteerde workflow met bronvideo geeft video met 24 fps terug. De exacte toegestane cliplengte hangt ook af van het geselecteerde modelprofiel. Het bereik voor nieuwe generatie van O1 is drie tot tien seconden en staat los van het duurbereik van de latere 3.0 Omni.
De O1-modi van de maker bieden 720p Standard- of 1080p Pro-uitvoer. Kadrering voor nieuwe shots ondersteunt gedocumenteerde liggende, staande en vierkante keuzes wanneer de geselecteerde workflow die regelaar gebruikt; een basisvideobewerking volgt de bronkadrering. Audio van de bronvideo kan behouden of weggegooid worden. De referentie- en bewerkingsworkflow van O1 moet gescheiden blijven van het profiel voor native audio en aangepaste storyboards van de latere 3.0 Omni.
Generatie produceert een taak waarvan het voltooide resultaat het videobestand en de daadwerkelijke duur bevat. De resultaatdocumentatie van de maker zegt dat gegenereerde video's na 30 dagen worden verwijderd, dus sla de voltooide clip snel op. Bewaar het bronmateriaal en de briefing bij dat resultaat en controleer daarna de gevraagde wijziging, het referentiegebruik en de continuïteit. Vergelijk bij een bewerking het betreffende gebied en de delen die moeten blijven. Controleer bij een referentiegestuurd nieuw shot of elk bestand de bedoelde visuele informatie heeft geleverd. Houd de voltooide clip beschikbaar voor de volgende montage of productiereeks.
Ailoot Ultra · Video POST /v1/videos kwaivgi/kling-video-o1
kwaivgi/kling-video-o1Aan de slag
Kling VIDEO O1 is het referentiegestuurde videomodel van Kuaishou voor het genereren en bewerken van scènes met tekst, beelden, onderwerpelementen en een bronclip. Gebruik het generatieprofiel van drie tot tien seconden voor visuele continuïteit, gestuurde frameovergangen en gerichte wijzigingen van bestaand beeldmateriaal.
- Toegestane invoer
- Tekst · Afbeeldingen
- Resultaten
- Video
Beschikbaar in Ailoot · invoer en methoden
Ailoot Ultra · Video POST /v1/videos
- Invoer
text,image- Uitvoer
video- Uitvoerformaat
- oorspronkelijke MP4-bytes; geen normalisatie of transcodering
| Veld | Type | Vereiste | Waarden en limieten | Standaard |
|---|---|---|---|---|
Veldmodel | Typestring | VereisteVereist | Waarden en limieten kwaivgi/kling-video-o1 | Standaard— |
Veldprompt | Typestring | VereisteVereist | Waarden en limieten | Standaard— |
Veldduration | Typeinteger | VereisteVereist | Waarden en limieten 5, 10 Minimum: 1 Maximum: 600 | Standaard— |
Veldresolution | Typestring | VereisteOptioneel | Waarden en limieten 720p | Standaard— |
Veldaspect_ratio | Typestring | VereisteOptioneel | Waarden en limieten 16:9, 9:16, 1:1 | Standaard— |
Veldgenerate_audio | Typeboolean | VereisteOptioneel | Waarden en limieten false, true | Standaard— |
Veldframe_images | Typearray | VereisteOptioneel | Waarden en limieten Minimumaantal items: 1 Maximumaantal items: 2 Invoerinhoud: Array met frameobjecten. Elk object bevat type=image_url, image_url met daarin url, en frame_type. Gebruik een HTTPS-afbeeldings-URL en stel frame_type in op first_frame of last_frame. Elke framerol komt hoogstens één keer voor. Exacte sleutels: type, image_url, frame_type Voorwaarden: Deze sleutels beschrijven elk frameobject; image_url bevat alleen url. Laat frame_images weg bij een aanvraag met uitsluitend tekst. | Standaard— |
Veldinput_references | Typearray | VereisteOptioneel | Waarden en limieten | Standaard— |
Veldsize | Typestring | VereisteOptioneel | Waarden en limieten 1280x720, 720x1280, 720x720 Patroon: ^[1-9][0-9]*x[1-9][0-9]*$ | Standaard— |
Veldcallback_url | Typestring | VereisteOptioneel | Waarden en limieten Patroon: ^https:// | Standaard— |
Veldsession_id | Typestring | VereisteOptioneel | Waarden en limieten | Standaard— |
Veldtrace | Typeobject | VereisteOptioneel | Waarden en limieten | Standaard— |
Velduser | Typestring | VereisteOptioneel | Waarden en limieten | Standaard— |
Combinaties van invoermaterialen
Tekst naar video · Een geschreven prompt. · Vereist: model, prompt, duration
Geef prompt op als tekst en duration als een geheel aantal seconden. Kies een ondersteunde resolutie; voeg een beeldverhouding toe of gebruik een vermelde grootte.
model: Type: string · kwaivgi/kling-video-o1
prompt: Type: string · Maximumaantal UTF-8-bytes: 10.000 · Ten minste één teken anders dan witruimte vereist: Ja
Afbeelding naar video · Een geschreven prompt en een afbeelding voor het eerste frame. · Vereist: model, prompt, duration, frame_images
frame_images is een array. Elk frameobject bevat type, image_url en frame_type; image_url bevat url. Stel type in op image_url. Gebruik first_frame met een optionele last_frame. Elke framerol komt hoogstens één keer voor. Geef voor elk frame een openbare HTTPS-afbeeldings-URL op. Kies een ondersteunde resolutie; voeg een beeldverhouding toe of gebruik een vermelde grootte.
Exacte sleutels: type, image_url, frame_type
model: Type: string · kwaivgi/kling-video-o1
prompt: Type: string · Maximumaantal UTF-8-bytes: 10.000 · Ten minste één teken anders dan witruimte vereist: Ja
Methodeparameters en levenscyclus
| Parameter | Contract |
|---|---|
Parametercontent_type | Contractapplication/json |
Parameterrequired | Contractmodel, prompt, duration |
Parametermaterial_types | Contracttext, image |
Parameteradditional_properties | Contractfalse |
Parameteroptional_controls | Contractresolution, aspect_ratio, generate_audio, frame_images, input_references, size, callback_url, session_id, trace, user |
Levenscyclus: submit_once_poll_original
GET /v1/videos/{public_id}
GET /v1/videos/{public_id}/content
Tarieven
Zo worden de uiteindelijke kosten berekend
De getoonde tarieven ramen de kosten vóór de generatie. De definitieve kosten worden berekend op basis van de kosten die voor de oorspronkelijke generatie zijn geregistreerd. De gemeten duur van het gegenereerde resultaat en de geraamde hoeveelheden vormen niet de definitieve factureerbare hoeveelheid.
Tariefverwijzingen voegen geen verzoekopties toe. Ondersteunde parameters staan bij de geselecteerde methode.
- Snelle modus
- Niet opgegeven Wanneer de snelle modus geselecteerd is
- Flex-modus
- Niet opgegeven Wanneer de flex-modus geselecteerd is
- Maximale redeneerinspanning
- Niet opgegeven Wanneer voor maximale redeneerinspanning de default-aanpassing wordt gebruikt
Geschatte tarieven ter vergelijking
Prijzen per configuratie
Koppel elke kostenpost aan de getoonde voorwaarden. Gebruik één tarief voor elke groep alternatieve configuraties.
| Configuratie | Tariefstaffel | Verwachte hoeveelheid | Rekeneenheid | Factureringsvoorwaarden | Kosten |
|---|---|---|---|---|---|
| ConfiguratieBasistarieven voor tokens | TariefstaffelBasistarief | Verwachte hoeveelheid— | Rekeneenheid— | Factureringsvoorwaarden— | Kosten Invoer · Invoertokens · Schatting uitsluitend ter vergelijking — / 1K tokens Uitvoer · Uitvoertokens · Schatting uitsluitend ter vergelijking — / 1K tokens Invoer · Cache lezen · Schatting uitsluitend ter vergelijking — / 1K tokens Invoer · Cache schrijven · Schatting uitsluitend ter vergelijking — / 1K tokens Invoer · Cache schrijven, 1 uur · Schatting uitsluitend ter vergelijking — / 1K tokens |
| ConfiguratieVideoprijs | Tariefstaffel— | Verwachte hoeveelheid— | Rekeneenheidper videoseconde | FactureringsvoorwaardenIn deze prijssleutel is geen bijkomende voorwaarde opgegeven. | Kosten Uitvoer · Videoprijs · Schatting uitsluitend ter vergelijking $0.224 per videoseconde |
| ConfiguratieGeschatte generatiekosten | Tariefstaffel— | Verwachte hoeveelheidschatting voor één generatie | Rekeneenheid— | Factureringsvoorwaarden— | Kosten Uitvoer · Geschatte generatiekosten · Schatting uitsluitend ter vergelijking $1.12 schatting vóór generatie Deze raming is geen extra kost of vast tarief voor de voltooide generatie. |
Ailoot reserveert vóór een verzoek een geschat bedrag. Na het resultaat worden de uiteindelijke kosten afgerekend op basis van het gemeten verbruik. Bij streaming gebeurt de afrekening op basis van de definitieve verbruiksregistratie. Zo werken reservering en afrekening →
Details van het referentietarief
Referentiestaffels op modelniveau veranderen de methodeselectie, kostenramingen of afschrijvingen niet. Voor de actieve kostenberekening gelden de tarieven van de geselecteerde Ailoot-methode.
Prijsreferenties voor videoconfiguraties
Prijzen per configuratie
| Configuratie | Factureringsvoorwaarden | Kosten |
|---|---|---|
| ConfiguratieVideoprijs | FactureringsvoorwaardenIn deze prijssleutel is geen bijkomende voorwaarde opgegeven. | Kosten Uitvoer · Videoprijs $0.224 per videoseconde Gepubliceerde prijsreferentie voor de getoonde configuratie. De definitieve kosten volgen de daadwerkelijk gefactureerde configuratie. |
Voorbeeldverzoeken
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
Resultaten ophalen en opslaan
Ailoot Ultra · Video
ondertekende inhouds-URL's die je toebehoren
GET /v1/videos/{public_id}GET /v1/videos/{public_id}/content
Taakstatus controleren
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
Lezen van andere inhoud
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
Alle voltooide resultaten bewaren
Sla elke voltooide video of elk teruggegeven bestand op; haal elke daadwerkelijk teruggegeven bestands-URL op.
Bewaar alle werkelijke uitvoer die je toebehoort en de teruggestuurde meetgegevens.
Als het oorspronkelijke antwoord moet worden gecontroleerd
503 result_pending_check + oorspronkelijke id + X-Should-Retry:false; voer de oorspronkelijke aanvraag nooit opnieuw uit
Antwoordvelden
| Veld | Type | Betekenis |
|---|---|---|
Veldindex | Typeinteger | BetekenisPositie van deze video in de uitvoerlijst, geteld vanaf nul. |
Veldcontent_url | Typestring | BetekenisOndertekende HTTPS-download-URL voor deze voltooide video. |
Veldsha256 | Typestring | null | BetekenisSHA-256-hash van de oorspronkelijke videobytes; null als die niet beschikbaar is. |
Veldsize_bytes | Typeinteger | null | BetekenisGrootte van het oorspronkelijke videobestand in bytes; null als die niet beschikbaar is. |
Veldduration_ms | Typeinteger | null | BetekenisGemeten videoduur in milliseconden; null als die niet beschikbaar is. |
Veldwidth | Typeinteger | null | BetekenisVideobreedte in pixels; null als die niet beschikbaar is. |
Veldheight | Typeinteger | null | BetekenisVideohoogte in pixels; null als die niet beschikbaar is. |
Veldvideo_codec | Typestring | null | BetekenisIdentificatiecode van de videocodec; null als die niet is vastgelegd. |
Veldhas_audio | Typeboolean | null | BetekenisOf de video een audiotrack bevat; null als dit niet is gemeten. |
Veldaudio_codec | Typestring | null | BetekenisIdentificatiecode van de audiocodec; null als er geen identificatiecode is vastgelegd. |
Fouten en vervolgstappen
| Antwoord | Voorwaarde | Volgende stap |
|---|---|---|
Antwoord404 · not_found_error | VoorwaardeToegang tot de video is niet beschikbaar, of deze video-ID werd niet gevonden. | Volgende stapControleer de toegang tot de video. Gebruik voor een bestaande video de oorspronkelijke openbare ID en dezelfde API-sleutel. |
Antwoord401 · authentication_error | VoorwaardeDe API-sleutel komt niet overeen met het geauthenticeerde account. | Volgende stapControleer je API-sleutel en accounttoegang voordat je de aanvraag indient. |
Antwoord400 · invalid_request_error | VoorwaardeDe aanvraag kon niet worden gelezen, of de downloadindex is ongeldig. | Volgende stapCorrigeer de aanvraaginhoud. Kies voor een download een uitvoerindex die door de oorspronkelijke taak is teruggestuurd. |
Antwoord422 · price_unavailable | VoorwaardeVoor de geselecteerde videoconfiguratie kan geen prijs worden bepaald. | Volgende stapKies een ondersteunde videoconfiguratie en vul alle verplichte opties in voordat je een gecorrigeerde aanvraag indient. |
Antwoord422 · invalid_request_error | VoorwaardeEen video-invoer of oorspronkelijke vervolgtaak is ongeldig. | Volgende stapGebruik geldige HTTPS-invoer. Gebruik voor een vervolg je voltooide oorspronkelijke openbare video-ID met dezelfde API-sleutel. |
Antwoord402 · billing_error | VoorwaardeHet beschikbare saldo of de limieten laten geen reservering toe. | Volgende stapControleer je beschikbare saldo en limieten voordat je een nieuwe aanvraag verstuurt. |
Antwoord503 · server_error | VoorwaardeVideocontrole, opslag of toegang tot de dienst is tijdelijk niet beschikbaar. | Volgende stapWacht tot de dienst beschikbaar is. Als je al een video-ID hebt, controleer dan die oorspronkelijke taak in plaats van een nieuwe generatie aan te maken. |
Antwoord503 · result_pending_check | VoorwaardeHet oorspronkelijke videoresultaat en de aanrekening moeten worden gecontroleerd. | Volgende stapBewaar de teruggestuurde video-ID en controleer die taak. Verstuur geen vervangende generatieaanvraag zolang de controle loopt. |
Antwoord503 · owned_result_unavailable | VoorwaardeDe bestaande videodownload is tijdelijk niet beschikbaar. | Volgende stapControleer later dezelfde videotaak en download de bestaande uitvoer ervan. Een nieuwe generatie maakt een afzonderlijke operatie aan. |
Antwoord409 · video_not_ready | VoorwaardeDe video-inhoud is niet gepubliceerd. | Volgende stapControleer de oorspronkelijke taakstatus. Download zodra de status completed is; volg bij failed de melding over de controle van de aanrekening. |
Aliasnamen
Modelaliasnamen
Ailoot Ultra kwaivgi/kling-video-o1
Aliasnamen voor methodepaden
Gebruik de hierboven getoonde methodepaden.
Gerelateerde aanroeper-ID’s
FAQ · Kling: Video O1
- Welke invoer en resultaten zijn beschikbaar?
POST /v1/videos·kwaivgi/kling-video-o1:text,image→video- Welke velden gebruikt het verzoek?
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- Welke limieten gelden?
POST /v1/videos·kwaivgi/kling-video-o1:duration.minimum:1;duration.maximum:600;frame_images.max_items:2;frame_images.min_items:1