Kling v2.1 Master
Kling v2.1 Master génère des vidéos à partir d’un texte ou d’un descriptif accompagné d’une image. Utilisez-le pour représenter un événement visuel précis, en préparant le sujet, l’action, les indications de caméra et la fin pour former un 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 descriptif écrit décrivant la scène pour développer une idée visuelle à partir de texte, ou un descriptif 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 personne qui danse en 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 descriptif.
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; un dévoilement 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 réglages proposés dans le flux de travail 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.
Vérifiez la continuité sur 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 descriptif pour comparer une scène entre plusieurs éditions, et notez les différences visuelles réelles. Pour corriger une version, 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 descriptif accompagné d’une image. Utilisez-le pour représenter un événement visuel précis, en préparant le sujet, l’action, les indications de caméra et la fin pour former un 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
- Entrée
text- 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: Valeur native de remplacement facultative. Omettez-la 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., Valeur native de remplacement facultative. Omettez-la 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 des jetons | 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 estimé de la génération | 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 complète et les en-têtes, les identifiants d’origine, chaque résultat réel et tous les champs de consommation et de comptabilisation. Enregistrez chaque ressource unique dont vous êtes propriétaire et conservez tous les rôles qui y font référence.
Si la réponse d’origine doit être vérifiée
Conservez l’identifiant public id de la tâche ou de l’opération renvoyée, 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 requête distincte. |
Réponse | ConditionLa requête d’origine ou son résultat est inconnu ou nécessite un contrôle. | Étape suivanteConservez les identifiants et les en-têtes d’origine ; consultez uniquement les enregistrements d’état ou de bibliothèque pris en charge. Ne soumettez pas une nouvelle fois la requête 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