models

Kling: Video O1

Markdown · JSON

Kling: Video O1

Kling VIDEO O1 est le modèle vidéo de Kuaishou guidé par des références pour générer et modifier des scènes à l’aide de texte, d’images, d’éléments de sujets et d’un clip source. Utilisez son profil de génération de trois à dix secondes pour la continuité visuelle, les transitions guidées entre images et les modifications ciblées de séquences existantes.

À propos du modèle

Cette description présente les capacités du modèle. Les entrées, sorties et options disponibles dans Ailoot pour la méthode sélectionnée figurent ci-dessous.

Kling VIDEO O1 est le modèle vidéo unifié de Kuaishou guidé par des références. Il combine une description textuelle avec des images, des éléments de sujets préparés ou une vidéo source pour guider de nouvelles scènes et des modifications ciblées de séquences existantes. Son interface principale est un brief visuel : identifiez les matériaux de référence, décrivez leur rôle et précisez l’apparence, l’action ou la transformation souhaitées dans la vidéo obtenue.

Un nouveau plan peut partir de texte, d’une image d’ouverture ou d’un ensemble de références visuelles. Utilisez une image pour définir un personnage ou un objet, et décrivez le décor, l’action et le point de vue avec des mots. Lorsque plusieurs références apportent des caractéristiques différentes, attribuez-leur explicitement leurs rôles. Un brief de produit peut prendre l’objet d’une image et l’environnement d’une autre, puis décrire le mouvement de l’objet dans ce décor.

Le prompt d’O1 peut désigner des images, des éléments et des vidéos avec des marqueurs de référence spécifiques, tels que <<<image_1>>> ou <<<video_1>>>. Associez ces marqueurs aux fichiers réellement fournis et expliquez ce qu’il faut en reprendre. Le producteur autorise des prompts de 2 500 caractères. Une instruction concise qui identifie le sujet et le changement est plus utile qu’une collection de termes de style sans rapport entre eux.

Pour les références basées sur des images sans entrée vidéo, la limite combinée documentée atteint sept images de référence et éléments multi-images au total. Avec une vidéo de référence, cette limite d’images et d’éléments est de quatre. Ces limites concernent les éléments basés sur des images ; les autres types d’éléments ont leurs propres règles de compatibilité. Choisissez les matériaux qui fournissent les informations essentielles sur l’apparence ou la scène, plutôt que de remplir la limite avec des vues redondantes.

Les images d’entrée utilisent JPG, JPEG ou PNG et sont fournies sous forme d’URL accessible ou de données d’image, avec des fichiers allant jusqu’à 10 Mo, des dimensions d’au moins 300 pixels et un rapport largeur/hauteur compris entre 1:2.5 et 2.5:1. Préparez des sujets nets et conservez les détails importants dans le recadrage. Si la tâche nécessite qu’un personnage ou un produit reste reconnaissable, précisez les caractéristiques à préserver et examinez-les sur toute la durée du clip terminé.

Les images de début et de fin conditionnent une transition entre des limites visuelles. Le processus documenté d’O1 pour ces images exige une image de départ lorsqu’une image de fin est fournie et ne prend pas en charge le contrôle début/fin avec plus de deux images dans le tableau. Lorsque les deux images de délimitation sont utilisées, les éléments de sujets supplémentaires ne font pas partie de cette configuration O1. Distinguez une tâche contrôlée par des images initiales et finales de la modification d’une vidéo de base fournie.

Une vidéo source peut avoir deux rôles distincts. Comme clip de base, elle est la séquence à modifier : demandez un ajout, une suppression, un traitement de style ou un changement de composition précis, tout en indiquant ce qui doit rester. La modification suit la durée du clip d’entrée et ne combine pas cette tâche sur vidéo de base avec le contrôle d’images initiales et finales ou la génération de plusieurs plans. Comme référence de caractéristiques, la vidéo fournit du contenu, du style ou des informations de caméra pour un nouveau plan.

Un prompt avec vidéo de référence peut aussi demander un plan précédent ou suivant. Identifiez le clip source et décrivez le nouvel événement visible, par exemple la poursuite de l’action du sujet ou la révélation de l’environnement autour de lui. La référence sert ici à communiquer des informations visuelles ; vérifiez le raccord et la continuité du sujet avant d’assembler le nouveau segment avec la séquence originale.

Le profil d’entrée vidéo du producteur accepte une source MP4 ou MOV, jusqu’à 200 Mo, d’une durée minimale de trois secondes. Son profil détaillé précise des dimensions de 720 à 2160 pixels et des fréquences de 24 à 60 images par seconde, avec un rapport largeur/hauteur d’entrée compris entre 1:2.5 et 2.5:1. Ce processus documenté avec vidéo source renvoie une vidéo à 24 images par seconde. La durée exacte autorisée pour le clip dépend aussi du profil de modèle sélectionné. La plage de nouvelle génération d’O1 va de trois à dix secondes, et diffère de celle du modèle 3.0 Omni ultérieur.

Les modes O1 du producteur proposent des sorties 720p Standard ou 1080p Pro. Le cadrage des nouveaux plans permet les choix paysage, portrait et carré documentés lorsque la fonction choisie utilise ce contrôle ; une modification sur vidéo de base suit le cadrage source. Le son de la vidéo source peut être conservé ou supprimé. Le processus de références et de modification d’O1 doit rester distinct du profil ultérieur de 3.0 Omni avec son natif et storyboard personnalisé.

La génération produit une tâche dont le résultat terminé contient le fichier vidéo et la durée réelle. La documentation des résultats du producteur indique que les vidéos générées sont supprimées au bout de 30 jours : sauvegardez donc rapidement le clip terminé. Conservez les matériaux sources et le brief avec ce résultat, puis vérifiez la modification demandée, l’utilisation des références et la continuité. Pour une modification, comparez la zone concernée et les parties qui devaient rester. Pour un nouveau plan guidé par des références, vérifiez que chaque fichier a fourni les informations visuelles prévues. Gardez le clip terminé à disposition pour le montage ou la séquence de production suivante.

Ailoot Ultra · Vidéo POST /v1/videos kwaivgi/kling-video-o1

kwaivgi/kling-video-o1

Kuaishou /kwaivgi/kling-video-o1

Premiers pas

Kling VIDEO O1 est le modèle vidéo de Kuaishou guidé par des références pour générer et modifier des scènes à l’aide de texte, d’images, d’éléments de sujets et d’un clip source. Utilisez son profil de génération de trois à dix secondes pour la continuité visuelle, les transitions guidées entre images et les modifications ciblées de séquences existantes.

Entrées acceptées
Texte · Images
Résultats
Vidéo

Disponible dans Ailoot · entrées et méthodes

Ailoot Ultra · Vidéo POST /v1/videos
Entrée
text, image
Sortie
video
Format de sortie
Octets MP4 d’origine ; sans normalisation ni transcodage
ChampTypeExigenceValeurs et limitesPar défaut
ChampmodelTypestringExigenceObligatoireValeurs et limites
kwaivgi/kling-video-o1
Par défaut—
ChamppromptTypestringExigenceObligatoireValeurs et limitesPar défaut—
ChampdurationTypeintegerExigenceObligatoireValeurs et limites
5, 10
Minimum: 1
Maximum: 600
Par défaut—
ChampresolutionTypestringExigenceFacultatifValeurs et limites
720p
Par défaut—
Champaspect_ratioTypestringExigenceFacultatifValeurs et limites
16:9, 9:16, 1:1
Par défaut—
Champgenerate_audioTypebooleanExigenceFacultatifValeurs et limites
false, true
Par défaut—
Champframe_imagesTypearrayExigenceFacultatifValeurs et limites
Nombre minimal d’éléments: 1
Nombre maximal d’éléments: 2
Contenu en entrée: Tableau d’objets représentant les images de la séquence. Chaque objet comporte type=image_url, image_url contenant url et frame_type. Utilisez une URL d’image HTTPS et définissez frame_type sur first_frame ou last_frame. Chaque rôle d’image apparaît au plus une fois.
Clés exactes: type, image_url, frame_type
Conditions: Ces clés décrivent chaque objet représentant une image de la séquence ; image_url contient uniquement url. Omettez frame_images pour une requête contenant uniquement du texte.
Par défaut—
Champinput_referencesTypearrayExigenceFacultatifValeurs et limitesPar défaut—
ChampsizeTypestringExigenceFacultatifValeurs et limites
1280x720, 720x1280, 720x720
Motif: ^[1-9][0-9]*x[1-9][0-9]*$
Par défaut—
Champcallback_urlTypestringExigenceFacultatifValeurs et limites
Motif: ^https://
Par défaut—
Champsession_idTypestringExigenceFacultatifValeurs et limitesPar défaut—
ChamptraceTypeobjectExigenceFacultatifValeurs et limitesPar défaut—
ChampuserTypestringExigenceFacultatifValeurs et limitesPar défaut—
Combinaisons d’éléments d’entrée

Texte vers vidéo · Une consigne écrite. · Obligatoire : model, prompt, duration

Fournissez prompt sous forme de texte et duration en secondes entières. Choisissez une résolution prise en charge ; ajoutez un rapport largeur/hauteur ou utilisez une taille répertoriée.

model: Type : string · kwaivgi/kling-video-o1

prompt: Type : string · Nombre maximal d’octets UTF-8: 10 000 · Caractères autres que des espaces requis: Oui

Image vers vidéo · Une consigne écrite et une image de début de séquence. · Obligatoire : model, prompt, duration, frame_images

frame_images est un tableau. Chaque objet représentant une image de la séquence comporte type, image_url et frame_type ; image_url contient url. Définissez type sur image_url. Utilisez first_frame avec last_frame facultatif. Chaque rôle d’image apparaît au plus une fois. Fournissez une URL d’image HTTPS publique pour chaque image de la séquence. Choisissez une résolution prise en charge ; ajoutez un rapport largeur/hauteur ou utilisez une taille répertoriée.

Clés exactes : type, image_url, frame_type

model: Type : string · kwaivgi/kling-video-o1

prompt: Type : string · Nombre maximal d’octets UTF-8: 10 000 · Caractères autres que des espaces requis: Oui

Paramètres et cycle de vie de la méthode
ParamètreContrat
Paramètrecontent_typeContratapplication/json
ParamètrerequiredContratmodel, prompt, duration
Paramètrematerial_typesContrattext, image
Paramètreadditional_propertiesContratfalse
Paramètreoptional_controlsContratresolution, aspect_ratio, generate_audio, frame_images, input_references, size, callback_url, session_id, trace, user

Cycle de vie : submit_once_poll_original

GET /v1/videos/{public_id}

GET /v1/videos/{public_id}/content

Tarifs

Calcul du coût final

Les tarifs affichés servent à estimer le coût avant la génération. Le montant final est calculé à partir du coût enregistré pour la génération d’origine. La durée mesurée du résultat et les quantités prévisionnelles ne constituent pas la quantité finale facturable.

Les tarifs n’ajoutent pas d’options de requête. Les paramètres pris en charge figurent dans la méthode sélectionnée.

Mode rapide
Non précisé Lorsque le mode rapide est sélectionné
Mode Flex
Non précisé Lorsque le mode flex est sélectionné
Effort de raisonnement maximal
Non précisé Lorsque l’effort de raisonnement maximal utilise l’ajustement par défaut (default)

Tarifs estimés à des fins de comparaison

Prix par configuration

Associez chaque coût aux conditions indiquées. Utilisez un seul tarif pour chaque ensemble de configurations alternatives.

ConfigurationBarème tarifaireQuantité prévisionnelleUnité de facturationConditions de facturationCoût
ConfigurationTarifs de base des jetonsBarème tarifaireTarif de baseQuantité prévisionnelle—Unité de facturation—Conditions de facturation—Coût
Entrée · Tokens en entrée · Estimation à des fins de comparaison uniquement — / 1K tokens
Sortie · Tokens en sortie · Estimation à des fins de comparaison uniquement — / 1K tokens
Entrée · Lecture du cache · Estimation à des fins de comparaison uniquement — / 1K tokens
Entrée · Écriture dans le cache · Estimation à des fins de comparaison uniquement — / 1K tokens
Entrée · Écriture dans le cache, 1 h · Estimation à des fins de comparaison uniquement — / 1K tokens
ConfigurationTarif vidéoBarème tarifaire—Quantité prévisionnelle—Unité de facturationpar seconde de vidéoConditions de facturationCette clé de tarification ne déclare aucune condition supplémentaire.Coût
Sortie · Tarif vidéo · Estimation à des fins de comparaison uniquement $0.224 par seconde de vidéo
ConfigurationCoût estimé de la générationBarème tarifaire—Quantité prévisionnelleEstimation pour une générationUnité de facturation—Conditions de facturation—Coût
Sortie · Coût estimé de génération · Estimation à des fins de comparaison uniquement $1.12 estimation avant génération

Cette estimation ne constitue ni des frais supplémentaires ni un tarif fixe pour la génération terminée.

Ailoot réserve un montant estimé avant une requête. Après le résultat, le montant final est débité selon l’utilisation mesurée. Pour le streaming, le montant final à débiter est calculé à partir du relevé final d’utilisation. Fonctionnement de la réservation et du débit →

Détails du tarif de référence

Les barèmes de référence du modèle ne modifient ni la sélection de méthode, ni les devis, ni les coûts. Les frais actifs utilisent les tarifs de la méthode Ailoot sélectionnée.

Références tarifaires des configurations vidéo

Prix par configuration

ConfigurationConditions de facturationCoût
ConfigurationTarif vidéoConditions de facturationCette clé de tarification ne déclare aucune condition supplémentaire.Coût
Sortie · Tarif vidéo $0.224 par seconde de vidéo

Tarif publié de référence pour la configuration affichée. Les frais définitifs correspondent à la configuration réellement facturée.

Exemples de requêtes

Ailoot Ultra · Vidéo

curl · créer une vidéo
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

Recevoir et enregistrer les résultats

Ailoot Ultra · Vidéo

URL de contenu signées dont vous êtes propriétaire

  • GET /v1/videos/{public_id}
  • GET /v1/videos/{public_id}/content
Vérifier l’état de la tâche
GET état de l’opération d’origine
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
Autres lectures de contenu
Enregistrer chaque sortie terminée dont vous êtes propriétaire
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
Conserver tous les résultats terminés

Enregistrez chaque vidéo terminée ou fichier renvoyé ; récupérez chaque URL de ressource effectivement renvoyée.

Conservez chaque résultat réel dont vous êtes propriétaire ainsi que les métadonnées mesurées renvoyées avec celui-ci.

Si la réponse d’origine doit être vérifiée

503 result_pending_check + originalid + X-Should-Retry:false ; ne rejouez jamais la requête d’origine

Champs de la réponse
ChampTypeSignification
ChampindexTypeintegerSignificationPosition de cette vidéo dans la liste des résultats, avec une numérotation commençant à zéro.
Champcontent_urlTypestringSignificationURL de téléchargement HTTPS signée pour cette vidéo terminée.
Champsha256Typestring | nullSignificationEmpreinte SHA-256 des octets vidéo d’origine ; null si elle est indisponible.
Champsize_bytesTypeinteger | nullSignificationTaille du fichier vidéo d’origine en octets ; null si elle est indisponible.
Champduration_msTypeinteger | nullSignificationDurée mesurée de la vidéo en millisecondes ; null si elle est indisponible.
ChampwidthTypeinteger | nullSignificationLargeur de la vidéo en pixels ; null si elle est indisponible.
ChampheightTypeinteger | nullSignificationHauteur de la vidéo en pixels ; null si elle est indisponible.
Champvideo_codecTypestring | nullSignificationIdentifiant du codec vidéo ; null s’il n’a pas été enregistré.
Champhas_audioTypeboolean | nullSignificationIndique si la vidéo contient une piste audio ; null si cela n’a pas été mesuré.
Champaudio_codecTypestring | nullSignificationIdentifiant du codec audio ; null lorsqu’aucun identifiant n’a été enregistré.
Erreurs et étapes suivantes
RéponseConditionÉtape suivante
Réponse404 · not_found_errorConditionL’accès à la vidéo est indisponible, ou cet ID vidéo est introuvable.Étape suivanteVérifiez l’accès à la vidéo. Pour une vidéo existante, utilisez son ID public d’origine et la même clé API.
Réponse401 · authentication_errorConditionLa clé API ne correspond pas au compte authentifié.Étape suivanteVérifiez votre clé API et l’accès au compte avant de soumettre la requête.
Réponse400 · invalid_request_errorConditionLa requête n’a pas pu être lue, ou l’index de téléchargement est invalide.Étape suivanteCorrigez le corps de la requête. Pour un téléchargement, choisissez un index de sortie renvoyé par la tâche d’origine.
Réponse422 · price_unavailableConditionLa configuration vidéo sélectionnée ne peut pas être tarifée.Étape suivanteChoisissez une configuration vidéo prise en charge et renseignez ses options obligatoires avant de soumettre une requête corrigée.
Réponse422 · invalid_request_errorConditionUne entrée vidéo ou la tâche de continuation d’origine est invalide.Étape suivanteUtilisez des entrées HTTPS valides. Pour une continuation, utilisez l’ID vidéo public de votre résultat d’origine terminé avec la même clé API.
Réponse402 · billing_errorConditionLe solde disponible ou les limites ne permettent pas de réserver le montant nécessaire.Étape suivanteVérifiez votre solde disponible et vos limites avant d’envoyer une nouvelle requête.
Réponse503 · server_errorConditionLa vérification vidéo, le stockage ou l’accès au service est temporairement indisponible.Étape suivanteAttendez que le service soit disponible. Si vous disposez déjà d’un ID vidéo, vérifiez cette tâche d’origine au lieu de créer une autre génération.
Réponse503 · result_pending_checkConditionLe résultat vidéo d’origine et sa facturation doivent être vérifiés.Étape suivanteConservez l’ID vidéo renvoyé et vérifiez cette tâche. N’envoyez pas de requête de génération de remplacement pendant sa vérification.
Réponse503 · owned_result_unavailableConditionLe téléchargement de la vidéo existante est temporairement indisponible.Étape suivanteVérifiez la même tâche vidéo plus tard et téléchargez son résultat existant. Une nouvelle génération crée une opération distincte.
Réponse409 · video_not_readyConditionLe contenu vidéo n’a pas été publié.Étape suivanteVérifiez l’état de la tâche d’origine. Téléchargez lorsqu’il indique completed ; s’il indique failed, suivez son avis de vérification de facturation.

Alias

Alias du modèle

Ailoot Ultra kwaivgi/kling-video-o1

Alias des chemins de méthode

Utilisez les chemins de méthode indiqués ci-dessus.

ID d’appel associés

kwaivgi/kling-video-o1

FAQ · Kling: Video O1
Quelles entrées et quels résultats sont disponibles ?

POST /v1/videos · kwaivgi/kling-video-o1: text, image → video

Quels champs la requête utilise-t-elle ?

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

Quelles limites s’appliquent ?

POST /v1/videos · kwaivgi/kling-video-o1: duration.minimum: 1; duration.maximum: 600; frame_images.max_items: 2; frame_images.min_items: 1

Plus de détails

Connectez Ailoot à Claude Code, OpenCode, Hermes ou à votre application.

L’entreprise et son portefeuille de projets

L’entreprise et son portefeuille de projets : des millions de clients ; des ventes qui se chiffrent en milliards chaque mois.

Achetez des tokens à prix réduit.

Une remise d’abonnement pour le travail régulier. Des codes promo jusqu’à 50% sur l’achat de tokens.

Abonnement
Choisissez une offre à tarif réduit pour vos requêtes régulières.
Code promo jusqu’à 50%
Saisissez le code à l’achat. Le prix est recalculé selon la promotion en cours.
Dépenses dans l’historique
Modèle, tokens et montant sont enregistrés pour chaque requête.

Choisir un abonnement · Voir les prix des modèles

Connectez l’API au produit que vous vendez.

SaaS, applications et bots selon l’offre officielle et le contrat de licence Ailoot. Pour la revente, demandez une licence revendeur.

Application commerciale
Intégrez la génération de texte, d’images, de vidéo et de son aux fonctions payantes de votre service.
Licence revendeur
Envoyez la description du projet et le mode d’accès. Demandez des conditions écrites d’utilisation et de revente.
Documents sur le site
L’offre officielle, le contrat de licence et la politique de traitement des données sont accessibles avant connexion.

Demander une licence revendeur · Offre officielle et contrat de licence