Kling v2.1 Master
Kling v2.1 Master génère des vidéos à partir d’un texte ou d’un brief reposant sur une image. Utilisez-le pour un événement visuel défini, en préparant le sujet, l’action, les indications de caméra et la fin comme les éléments d’un même court plan cohérent.
À 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 v2.1 Master est une édition vidéo Kling dont le catalogue documenté indique la prise en charge de la génération de vidéos à partir de texte et d’images. Choisissez un brief écrit décrivant la scène pour développer une idée visuelle à partir de texte, ou un brief reposant sur une image lorsque le sujet et la composition sont déjà définis. Dans les deux cas, précisez l’événement que le plan terminé doit montrer.
Pour une création à partir de texte, décrivez le sujet, le décor et l’action dans un ordre clair. Une danseuse traversant un studio, un véhicule passant sous des arbres ou un objet en verre captant une lumière changeante donnent chacun un objectif précis à la séquence. Incluez les détails qui déterminent l’apparence de la scène et veillez à leur cohérence dans tout le brief.
Pour une création à partir d’une image, préparez une référence montrant les caractéristiques que le plan doit préserver. Gardez visibles les visages, les contours des objets et les matériaux distinctifs. Décrivez ce qui change par rapport à cette vue initiale : le geste du sujet, un mouvement dans l’environnement ou la position de la caméra. Gardez l’image source à portée de main lors de l’examen du résultat.
Préparez l’action en fonction de sa fin. Une personne qui pose un objet doit terminer avec cet objet à un endroit identifiable ; une révélation doit se conclure avec la caractéristique importante visible. Il sera ainsi plus facile de choisir un point de coupe et d’évaluer si le mouvement a rempli son objectif.
La fiche documentée du modèle comprend des durées de cinq et dix secondes, les modes std et pro, ainsi que des formats d’image paysage, portrait et carré. Choisissez les commandes disponibles dans le processus sélectionné et conservez les valeurs effectivement utilisées. Évaluez le clip obtenu par rapport à l’action et au cadrage souhaités plutôt qu’au nom de l’édition du modèle.
Décrivez séparément le mouvement du sujet et celui de la caméra. Pour un travelling d’accompagnement, précisez quel sujet la caméra suit et quels éléments de l’environnement doivent défiler dans le cadre. Pour un plan fixe, indiquez le mouvement qui s’y déroule. Reliez les indications de caméra à ce que le spectateur doit remarquer.
Examinez la continuité de l’ensemble de la séquence. Vérifiez que le sujet important reste reconnaissable, que les interactions sont cohérentes dans l’espace et que le rythme laisse la place à la coupe prévue. Observez les changements dans les mains, les visages, les détails des surfaces et les objets qui se chevauchent. Évaluez le mouvement autant que la meilleure image prise isolément.
Conservez chaque vidéo terminée avec son prompt, sa référence et ses réglages. Utilisez le même brief pour comparer une scène entre plusieurs éditions, et notez les différences visuelles réelles. Pour corriger une proposition, décrivez le problème observé et révisez la consigne correspondante tout en conservant les éléments utiles de la scène.
Ailoot Ultra · Video POST /v1/videos kling-v2-1-master
kling-v2-1-masterPremiers pas
Kling v2.1 Master génère des vidéos à partir d’un texte ou d’un brief reposant sur une image. Utilisez-le pour un événement visuel défini, en préparant le sujet, l’action, les indications de caméra et la fin comme les éléments d’un même court plan cohérent.
- Entrées acceptées
- Texte
- Résultats
- Vidéo
Disponible dans Ailoot · entrées et méthodes
Ailoot Ultra · Video POST /v1/videos
- Types d’entrée
text- Types de sortie
video
| Champ | Type | Exigence | Valeurs et limites | Par défaut |
|---|---|---|---|---|
Champmodel | Typestring | ExigenceObligatoire | Valeurs et limites kling-v2-1-master Conditions: Utilisez exactement ce sélecteur de routage Ailoot. | Par défaut— |
Champprompt | Typestring | ExigenceObligatoire | Valeurs et limites Longueur maximale: 500 Conditions: | Par défaut— |
Champmode | Typestring | ExigenceObligatoire | Valeurs et limites std, pro Conditions: | Par défaut— |
Champmodel_name | Typestring | ExigenceFacultatif | Valeurs et limites Conditions: Remplacement natif facultatif. Omettez-le pour utiliser automatiquement le modèle sélectionné ; toute valeur explicite est conservée. | Par défaut— |
Champcfg_scale | Typenumber | ExigenceFacultatif | Valeurs et limites Minimum: 0 Maximum: 1 Conditions: | Par défaut— |
Champaspect_ratio | Typestring | ExigenceFacultatif | Valeurs et limites Conditions: | Par défaut— |
Champnegative_prompt | Typestring | ExigenceFacultatif | Valeurs et limites Longueur maximale: 200 Conditions: | Par défaut— |
Champduration | Typeinteger | ExigenceFacultatif | Valeurs et limites 5, 10 Conditions: | Par défaut— |
Paramètres et cycle de vie de la méthode
| Paramètre | Contrat |
|---|---|
Paramètrecontent_type | Contratapplication/json |
Paramètrerequired | Contratmodel, prompt, mode |
Paramètreoptional | Contratmodel_name, cfg_scale, aspect_ratio, negative_prompt, duration |
Paramètrematerial_types | Contrattext |
Paramètreconditions | ContratUtilisez exactement ce sélecteur de routage Ailoot., Remplacement natif facultatif. Omettez-le pour utiliser automatiquement le modèle sélectionné ; toute valeur explicite est conservée. |
Alias de méthode : /v1/videos/generations
Cycle de vie : 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}
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.
| Configuration | Barème tarifaire | Quantité prévisionnelle | Coût |
|---|---|---|---|
| ConfigurationTarifs de base par jeton | Barème tarifaireTarif de base | Quantité prévisionnelle— | 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 |
| ConfigurationCoût de génération estimé | Barème tarifaire— | Quantité prévisionnelleEstimation pour une génération | Coût Sortie · Coût estimé de génération · Estimation à des fins de comparaison uniquement $6 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 →
Exemples de requêtes
Ailoot Ultra · Video
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
export AILOOT_API_KEY
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model": "kling-v2-1-master", "prompt": "A happy holiday scene at the beach.", "mode": "pro"}')
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
Recevoir et enregistrer les résultats
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}
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 la réponse et les en-têtes complets, les identifiants d’origine, chaque sortie réelle et tous les champs d’utilisation et de comptabilisation. Enregistrez chaque ressource unique vous appartenant et conservez chaque rôle qui y fait référence.
Si la réponse d’origine doit être vérifiée
Conservez l’id public renvoyé pour la tâche ou l’opération ainsi que tous les en-têtes. Consultez uniquement la tâche d’origine ; unknown ou result_pending_check n’autorise pas une nouvelle création.
Champs de la réponse
| Champ | Type |
|---|---|
Champid | Typestring |
Champpolling_url | Typestring |
Champprovider_task_id | Typestring |
Champdata.task_id | Typestring |
Champdata.task_status | Typestring |
Champdata.task_result.videos[].url | Typestring |
Erreurs et étapes suivantes
| Réponse | Condition | Étape suivante |
|---|---|---|
Réponse400 · invalid_request_error | ConditionUn champ obligatoire, un sélecteur de modèle, un type ou une représentation des données d’entrée est invalide. | Étape suivanteExaminez les détails de validation renvoyés avant de préparer une demande distincte. |
Réponse | ConditionLa demande d’origine ou son résultat est inconnu ou nécessite une vérification. | Étape suivanteConservez les identifiants et les en-têtes d’origine ; consultez uniquement les enregistrements d’état ou de la bibliothèque pris en charge. Ne renvoyez pas la demande de création. |
Alias
Alias du modèle
Ailoot Ultra kling-v2-1-master
Alias des chemins de méthode
/v1/videos/generations
ID d’appel associés
FAQ · Kling v2.1 Master
- Quelles entrées et quels résultats sont disponibles ?
POST /v1/videos·kling-v2-1-master:text→video- Quels champs la requête utilise-t-elle ?
POST /v1/videos·kling-v2-1-master:model,prompt,mode,model_name,cfg_scale,aspect_ratio,negative_prompt,duration- Quelles limites s’appliquent ?
POST /v1/videos·kling-v2-1-master:prompt.maximum_length:500;cfg_scale.minimum:0;cfg_scale.maximum:1;negative_prompt.maximum_length:200