kling-v1
Το kling-v1 δημιουργεί βίντεο από κειμενική προτροπή με ρητή λειτουργία std ή pro. Ορίστε διάρκεια και ρυθμίσεις προτροπής και ανακτήστε όλα τα ολοκληρωμένα βίντεο μέσω του Ailoot.
Σχετικά με το μοντέλο
Αυτή η περιγραφή καλύπτει τις δυνατότητες του μοντέλου. Οι είσοδοι, έξοδοι και επιλογές που διατίθενται στο Ailoot παρατίθενται παρακάτω για την επιλεγμένη μέθοδο.
Χρησιμοποιήστε kling-v1 με model, prompt και mode στο /v1/videos. Επιλέξτε std ή pro και περιγράψτε το πλάνο σε prompt έως 500 χαρακτήρων. Το αίτημα παρέχει διάρκεια πέντε ή δέκα δευτερολέπτων, aspect_ratio, model_name, cfg_scale και negative_prompt έως 200 χαρακτήρων.
Χρησιμοποιήστε τον διαθέσιμο χώρο προτροπής για το κύριο θέμα, μία δράση, το περιβάλλον και την κατεύθυνση κάμερας. Βάλτε τις λεπτομέρειες που καθορίζουν τη σύνθεση πριν από τις διακοσμητικές διατυπώσεις. Το cfg_scale δέχεται τιμές από 0 έως 1· κρατήστε την επιλεγμένη ρύθμιση μαζί με τις οδηγίες για σύγκριση μεταγενέστερης παραλλαγής.
Ακολουθήστε το αρχικό αναγνωριστικό αιτήματος αντί να δημιουργήσετε δεύτερη λειτουργία για έλεγχο προόδου. Το αποτέλεσμα χρησιμοποιεί data.task_status και data.task_result.videos[].url, με το succeed να σημαίνει ολοκλήρωση. Αποθηκεύστε κάθε ολοκληρωμένο βίντεο και την πλήρη απόκρισή του και εξετάστε ολόκληρο το πλάνο βάσει του prompt.
Ailoot Ultra · Video POST /v1/videos kling-v1
kling-v1Εισαγωγή
Το kling-v1 δημιουργεί βίντεο από κειμενική προτροπή με ρητή λειτουργία std ή pro. Ορίστε διάρκεια και ρυθμίσεις προτροπής και ανακτήστε όλα τα ολοκληρωμένα βίντεο μέσω του Ailoot.
- Αποδεκτές είσοδοι
- Κείμενο
- Αποτελέσματα
- Βίντεο
Διαθέσιμα στο Ailoot · είσοδοι και μέθοδοι
Ailoot Ultra · Video POST /v1/videos
- Είσοδος
text- Έξοδος
video
| Πεδίο | Τύπος | Απαίτηση | Τιμές και όρια | Προεπιλογή |
|---|---|---|---|---|
Πεδίοmodel | Τύποςstring | ΑπαίτησηΥποχρεωτικό | Τιμές και όρια kling-v1 Συνθήκες: Χρησιμοποιήστε ακριβώς αυτόν τον επιλογέα δρομολόγησης του Ailoot. | Προεπιλογή— |
Πεδίοprompt | Τύποςstring | ΑπαίτησηΥποχρεωτικό | Τιμές και όρια Μέγιστο μήκος: 500 Συνθήκες: | Προεπιλογή— |
Πεδίοmode | Τύποςstring | ΑπαίτησηΥποχρεωτικό | Τιμές και όρια std, pro Συνθήκες: | Προεπιλογή— |
Πεδίοmodel_name | Τύποςstring | ΑπαίτησηΠροαιρετικό | Τιμές και όρια Συνθήκες: Προαιρετική εγγενής παράκαμψη. Παραλείψτε την για να χρησιμοποιηθεί αυτόματα το επιλεγμένο μοντέλο· μια ρητά καθορισμένη τιμή διατηρείται. | Προεπιλογή— |
Πεδίοcfg_scale | Τύποςnumber | ΑπαίτησηΠροαιρετικό | Τιμές και όρια Ελάχιστο: 0 Μέγιστο: 1 Συνθήκες: | Προεπιλογή— |
Πεδίοaspect_ratio | Τύποςstring | ΑπαίτησηΠροαιρετικό | Τιμές και όρια Συνθήκες: | Προεπιλογή— |
Πεδίοnegative_prompt | Τύποςstring | ΑπαίτησηΠροαιρετικό | Τιμές και όρια Μέγιστο μήκος: 200 Συνθήκες: | Προεπιλογή— |
Πεδίοduration | Τύποςinteger | ΑπαίτησηΠροαιρετικό | Τιμές και όρια 5, 10 Συνθήκες: | Προεπιλογή— |
Παράμετροι και κύκλος ζωής μεθόδου
| Παράμετρος | Σύμβαση |
|---|---|
Παράμετροςcontent_type | Σύμβασηapplication/json |
Παράμετροςrequired | Σύμβασηmodel, prompt, mode |
Παράμετροςoptional | Σύμβασηmodel_name, cfg_scale, aspect_ratio, negative_prompt, duration |
Παράμετροςmaterial_types | Σύμβασηtext |
Παράμετροςconditions | ΣύμβασηΧρησιμοποιήστε ακριβώς αυτόν τον επιλογέα δρομολόγησης του Ailoot., Προαιρετική εγγενής παράκαμψη. Παραλείψτε την για να χρησιμοποιηθεί αυτόματα το επιλεγμένο μοντέλο· μια ρητά καθορισμένη τιμή διατηρείται. |
Εναλλακτικά ονόματα μεθόδου: /v1/videos/generations
Κύκλος ζωής: 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}
Τιμολόγηση
Πώς υπολογίζεται η τελική χρέωση
Οι εμφανιζόμενες τιμές χρησιμοποιούνται για την εκτίμηση του κόστους πριν από την παραγωγή. Η τελική χρέωση υπολογίζεται από το κόστος που καταγράφηκε για την αρχική παραγωγή. Η μετρημένη διάρκεια της εξόδου και οι προβλεπόμενες ποσότητες δεν αποτελούν την τελική χρεώσιμη ποσότητα.
Οι τιμολογιακές αναφορές δεν προσθέτουν επιλογές αιτήματος. Οι υποστηριζόμενες παράμετροι αναφέρονται στην επιλεγμένη μέθοδο.
- Γρήγορη λειτουργία
- Δεν έχει οριστεί Όταν επιλέγεται η γρήγορη λειτουργία
- Λειτουργία flex
- Δεν έχει οριστεί Όταν επιλέγεται η λειτουργία flex
- Μέγιστη προσπάθεια συλλογισμού
- Δεν έχει οριστεί Όταν η μέγιστη προσπάθεια συλλογισμού χρησιμοποιεί την προσαρμογή default
Εκτιμώμενες χρεώσεις για σύγκριση
Τιμές ανά διαμόρφωση
Αντιστοιχίστε κάθε χρέωση στις συνθήκες που εμφανίζονται. Χρησιμοποιήστε μία χρέωση ανά σύνολο εναλλακτικών διαμορφώσεων.
| Διαμόρφωση | Πίνακας χρεώσεων | Προβλεπόμενη ποσότητα | Χρέωση |
|---|---|---|---|
| ΔιαμόρφωσηΒασικές χρεώσεις token | Πίνακας χρεώσεωνΒασική χρέωση | Προβλεπόμενη ποσότητα— | Χρέωση Είσοδος · Token εισόδου · Εκτίμηση μόνο για σύγκριση — / 1K token Έξοδος · Token εξόδου · Εκτίμηση μόνο για σύγκριση — / 1K token Είσοδος · Ανάγνωση από την κρυφή μνήμη · Εκτίμηση μόνο για σύγκριση — / 1K token Είσοδος · Εγγραφή στην κρυφή μνήμη · Εκτίμηση μόνο για σύγκριση — / 1K token Είσοδος · Εγγραφή στην κρυφή μνήμη, 1 ώρα · Εκτίμηση μόνο για σύγκριση — / 1K token |
| ΔιαμόρφωσηΕκτιμώμενο κόστος δημιουργίας | Πίνακας χρεώσεων— | Προβλεπόμενη ποσότηταεκτίμηση για μία δημιουργία | Χρέωση Έξοδος · Εκτιμώμενο κόστος δημιουργίας · Εκτίμηση μόνο για σύγκριση $6 εκτίμηση πριν από τη δημιουργία Αυτή η εκτίμηση δεν αποτελεί πρόσθετη χρέωση ούτε σταθερή τιμή για την ολοκληρωμένη παραγωγή. |
Το Ailoot δεσμεύει ένα εκτιμώμενο ποσό πριν από το αίτημα. Μετά το αποτέλεσμα, εκκαθαρίζει την τελική χρέωση βάσει της μετρημένης χρήσης. Η εκκαθάριση ροής χρησιμοποιεί την τελική καταγραφή χρήσης. Πώς λειτουργούν η δέσμευση και η εκκαθάριση →
Παραδείγματα αιτημάτων
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-v1", "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
Λήψη και αποθήκευση αποτελεσμάτων
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}
Διατηρήστε όλα τα ολοκληρωμένα αποτελέσματα
Αποθηκεύστε κάθε ολοκληρωμένο βίντεο ή αρχείο που επιστρέφεται· ανακτήστε κάθε πραγματικό URL αρχείου που επιστρέφεται.
Διατηρήστε ολόκληρη την απόκριση και τις κεφαλίδες, τα αρχικά αναγνωριστικά, κάθε πραγματική έξοδο και όλα τα πεδία χρήσης και λογιστικής καταγραφής. Αποθηκεύστε κάθε μοναδικό αρχείο πολυμέσων που σας ανήκει και διατηρήστε κάθε ρόλο που παραπέμπει σε αυτό.
Αν χρειάζεται έλεγχος της αρχικής απάντησης
Διατηρήστε το δημόσιο id εργασίας ή λειτουργίας που επιστρέφεται και όλες τις κεφαλίδες. Διαβάστε μόνο την αρχική εργασία· τα unknown ή result_pending_check δεν επιτρέπουν άλλη δημιουργία.
Πεδία απάντησης
| Πεδίο | Τύπος |
|---|---|
Πεδίοid | Τύποςstring |
Πεδίοpolling_url | Τύποςstring |
Πεδίοprovider_task_id | Τύποςstring |
Πεδίοdata.task_id | Τύποςstring |
Πεδίοdata.task_status | Τύποςstring |
Πεδίοdata.task_result.videos[].url | Τύποςstring |
Σφάλματα και επόμενα βήματα
| Απάντηση | Συνθήκη | Επόμενο βήμα |
|---|---|---|
Απάντηση400 · invalid_request_error | ΣυνθήκηΈνα υποχρεωτικό πεδίο, ο επιλογέας μοντέλου, ο τύπος ή η μορφή αναπαράστασης της εισόδου δεν είναι έγκυρα. | Επόμενο βήμαΕξετάστε τις λεπτομέρειες επικύρωσης που επιστράφηκαν πριν ετοιμάσετε ξεχωριστό αίτημα. |
Απάντηση | ΣυνθήκηΤο αρχικό αίτημα ή αποτέλεσμα είναι άγνωστο ή απαιτεί έλεγχο. | Επόμενο βήμαΔιατηρήστε τα αρχικά αναγνωριστικά και τις κεφαλίδες· διαβάστε μόνο τις υποστηριζόμενες εγγραφές κατάστασης ή βιβλιοθήκης. Μην υποβάλετε ξανά αίτημα δημιουργίας. |
Εναλλακτικά ονόματα
Εναλλακτικά ονόματα μοντέλου
Ailoot Ultra kling-v1
Εναλλακτικές διαδρομές μεθόδων
/v1/videos/generations
Σχετικά ID μοντέλων
FAQ · kling-v1
- Ποιες είσοδοι και αποτελέσματα διατίθενται;
POST /v1/videos·kling-v1:text→video- Ποια πεδία χρησιμοποιεί το αίτημα;
POST /v1/videos·kling-v1:model,prompt,mode,model_name,cfg_scale,aspect_ratio,negative_prompt,duration- Ποια όρια ισχύουν;
POST /v1/videos·kling-v1:prompt.maximum_length:500;cfg_scale.minimum:0;cfg_scale.maximum:1;negative_prompt.maximum_length:200