نقطه
چتساخت عکسساخت ویدیوساخت آهنگاستایل‌هاقیمتدانلود اپ
چتساخت عکسساخت ویدیوساخت آهنگاستایل‌هاقیمتدانلود اپبلاگآموزشپلن سازمانی
نقطه/مستندات API تولید محتوا/Kling VIDEO 4.0

ویدئو · kind=video

API Kling VIDEO 4.0کلینگ ۴ · دریافت کلید API و تولید ویدئو با کد

نسل جدید Kling: ویدیوی صدا‌دار تا ۳۰ ثانیه در 1080p با فریم شروع، میانی و پایان، ۱۰ تصویر مرجع، ۵ ویدیوی مرجع و ویرایش ویدیو. مدل Kling VIDEO 4.0 ساختهٔ Kling است. برای فراخوانی، مقدار model_slug را دقیقاً برابر kling-4 بگذارید.

از ۲۷۵ کردیت ≈ ۲۶۴٬۰۰۰ تومان · پرداخت ریالی با کردیت · بدون کارت خارجی · بدون نیاز به اشتراک پرو

ساخت کلید APIمستندات کامل API

ارسال تولید · POST /v1/media/generations

curl -sS "https://api.noqte.ai/v1/media/generations" \
  -H "Authorization: Bearer $NOQTE_MEDIA_KEY" \
  -H "Idempotency-Key: order-1042-cover-v1" \
  -H "Content-Type: application/json" \
  -d '{
  "model_slug": "kling-4",
  "prompt": "A calm cinematic scene at sunrise, soft light",
  "params": {
    "duration": "3",
    "quality": "720p"
  },
  "max_credits": 20
}'
import os
import requests

BASE = "https://api.noqte.ai/v1/media"
HEADERS = {"Authorization": f"Bearer {os.environ['NOQTE_MEDIA_KEY']}"}

payload = {
    "model_slug": "kling-4",
    "prompt": "A calm cinematic scene at sunrise, soft light",
    "params": {
        "duration": "3",
        "quality": "720p",
    },
    "max_credits": 20,
}

response = requests.post(
    f"{BASE}/generations",
    json=payload,
    headers={**HEADERS, "Idempotency-Key": "order-1042-cover-v1"},
    timeout=60,
)
data = response.json()
if not response.ok:
    raise RuntimeError(f"{response.status_code} {data['error']['code']}: {data['error']['message']}")
print(data)
const BASE = "https://api.noqte.ai/v1/media";
const headers = { Authorization: `Bearer ${process.env.NOQTE_MEDIA_KEY}` };

const response = await fetch(`${BASE}/generations`, {
  method: "POST",
  headers: { ...headers, "Content-Type": "application/json", "Idempotency-Key": "order-1042-cover-v1" },
  body: JSON.stringify({
    model_slug: "kling-4",
    prompt: "A calm cinematic scene at sunrise, soft light",
    params: {
      duration: "3",
      quality: "720p"
    },
    max_credits: 20
  }),
});
const data = await response.json();
if (!response.ok) throw new Error(`${response.status} ${data.error.code}: ${data.error.message}`);
console.log(data);
<?php
$base = "https://api.noqte.ai/v1/media";
$headers = [
    "Authorization: Bearer " . getenv("NOQTE_MEDIA_KEY"),
    "Idempotency-Key: order-1042-cover-v1",
    "Content-Type: application/json",
];

$payload = [
    "model_slug" => "kling-4",
    "prompt" => "A calm cinematic scene at sunrise, soft light",
    "params" => [
        "duration" => "3",
        "quality" => "720p",
    ],
    "max_credits" => 20,
];

$ch = curl_init("$base/generations");
curl_setopt_array($ch, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => $headers,
    CURLOPT_POST => true,
    CURLOPT_POSTFIELDS => json_encode($payload, JSON_UNESCAPED_UNICODE),
]);

$body = curl_exec($ch);
$status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);

$data = json_decode($body, true);
if ($status >= 400) {
    throw new RuntimeException("$status {$data['error']['code']}: {$data['error']['message']}");
}
print_r($data);
package main

import (
	"fmt"
	"io"
	"net/http"
	"os"
	"strings"
)

func main() {
	payload := `{
	  "model_slug": "kling-4",
	  "prompt": "A calm cinematic scene at sunrise, soft light",
	  "params": {
	    "duration": "3",
	    "quality": "720p"
	  },
	  "max_credits": 20
	}`

	req, err := http.NewRequest("POST", "https://api.noqte.ai/v1/media/generations", strings.NewReader(payload))
	if err != nil {
		panic(err)
	}
	req.Header.Set("Content-Type", "application/json")
	req.Header.Set("Authorization", "Bearer "+os.Getenv("NOQTE_MEDIA_KEY"))
	req.Header.Set("Idempotency-Key", "order-1042-cover-v1")

	res, err := http.DefaultClient.Do(req)
	if err != nil {
		panic(err)
	}
	defer res.Body.Close()
	data, _ := io.ReadAll(res.Body)
	fmt.Println(res.StatusCode, string(data))
}
قیمت پیش‌فرض
۲۷۵ کردیت ≈ ۲۶۴٬۰۰۰ تومان
واحد قیمت
به ازای هر ثانیه
خروجی
ویدئو
پرامپت
الزامی · تا ۲٬۵۰۰ کاراکتر

01 · Contract

قرارداد ورودی این مدل

فقط نام گروه‌ها و مقدارهای زیر برای این مدل معتبرند؛ گزینهٔ ناشناخته پیش از کسر کردیت با خطای 422 رد می‌شود. به‌روز شده در ۱ آبان ۱۴۰۵ از کاتالوگ زندهٔ نقطه؛ مرجع نهایی پاسخ GET /v1/media/models است.

params — گروه‌های گزینه و مقدارهای مجاز

گروهمقدارهای مجاز (id)قیمت با این گزینه
duration33 ثانیهپیش‌فرض44 ثانیه55 ثانیه66 ثانیه77 ثانیه88 ثانیه99 ثانیه1010 ثانیه1111 ثانیه1212 ثانیه1313 ثانیه1414 ثانیه1515 ثانیه1616 ثانیه1717 ثانیه1818 ثانیه1919 ثانیه2020 ثانیه2121 ثانیه2222 ثانیه2323 ثانیه2424 ثانیه2525 ثانیه2626 ثانیه2727 ثانیه2828 ثانیه2929 ثانیه3030 ثانیه۲۷۵ تا ۲٬۷۴۸ کردیت
quality720pHD · 720pپیش‌فرض1080pFull HD · 1080p۲۷۵ تا ۴۱۲ کردیت
size16:9پیش‌فرض9:161:121:9۲۷۵ کردیت
audioonبا صدای بومیپیش‌فرض۲۷۵ کردیت
count1یک خروجیپیش‌فرض2دو خروجی3سه خروجی4چهار خروجی۲۷۵ تا ۱٬۱۰۰ کردیت

ورودی‌ها

ورودیفیلدحداکثرالزامیقواعد
متن · پرامپتprompt۲٬۵۰۰ کاراکترالزامی—
تصویر · تصاویر مرجع شخصیت، محصول، صحنه یا استایلrefs۱۰خیرPNG، JPG، WEBP · تا ۳۰ مگابایت
ویدئو · ویدیوهای مرجع حرکت، دوربین یا استایلrefs۵خیرMP4، MOV · تا ۱۰۰ مگابایت
تصویر · فریم شروع (اختیاری)ref_slots.first_frame۱خیرPNG، JPG، WEBP · تا ۳۰ مگابایت
تصویر · فریم‌های میانی (اختیاری)ref_slots.keyframes۸خیرPNG، JPG، WEBP · تا ۳۰ مگابایت
تصویر · فریم پایانی (اختیاری)ref_slots.last_frame۱خیرPNG، JPG، WEBP · تا ۳۰ مگابایت
ویدئو · ویدیوی مبدأ برای ویرایش (اختیاری)ref_slots.source_video۱خیرMP4، MOV · تا ۱۰۰ مگابایت

فایل‌های مرجع اول با POST /v1/media/uploads ثبت می‌شوند و بعد شناسهٔ برگشتی در refs یا برای ورودی‌های نقش‌دار در ref_slots می‌آید؛ URL یا مسیر فایل پذیرفته نمی‌شود. فرمت و سقف حجم هر ورودی در ستون قواعد آمده و مدت و ابعاد مجاز در پاسخ کاتالوگ همین مدل است. فایل آپلودشده در حساب شما می‌ماند و در سهمیهٔ آپلود شمرده می‌شود؛ API مسیر حذف فایل ندارد.

فریم شروع و فریم پایانی جدا از تصاویر مرجع داده می‌شود و می‌توانند با هم استفاده شوند.

02 · Samples

نمونهٔ درخواست با kling-4

اول قیمت همین ورودی را بگیرید، بعد با max_credits و یک Idempotency-Key ثابت ارسال کنید و تا completed پیگیری کنید.

برآورد هزینه — بدون کسر کردیت

curl -sS "https://api.noqte.ai/v1/media/estimate" \
  -H "Authorization: Bearer $NOQTE_MEDIA_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "model_slug": "kling-4",
  "prompt": "A calm cinematic scene at sunrise, soft light",
  "params": {
    "duration": "3",
    "quality": "720p"
  }
}'
import os
import requests

BASE = "https://api.noqte.ai/v1/media"
HEADERS = {"Authorization": f"Bearer {os.environ['NOQTE_MEDIA_KEY']}"}

payload = {
    "model_slug": "kling-4",
    "prompt": "A calm cinematic scene at sunrise, soft light",
    "params": {
        "duration": "3",
        "quality": "720p",
    },
}

response = requests.post(
    f"{BASE}/estimate",
    json=payload,
    headers=HEADERS,
    timeout=60,
)
data = response.json()
if not response.ok:
    raise RuntimeError(f"{response.status_code} {data['error']['code']}: {data['error']['message']}")
print(data)
const BASE = "https://api.noqte.ai/v1/media";
const headers = { Authorization: `Bearer ${process.env.NOQTE_MEDIA_KEY}` };

const response = await fetch(`${BASE}/estimate`, {
  method: "POST",
  headers: { ...headers, "Content-Type": "application/json" },
  body: JSON.stringify({
    model_slug: "kling-4",
    prompt: "A calm cinematic scene at sunrise, soft light",
    params: {
      duration: "3",
      quality: "720p"
    }
  }),
});
const data = await response.json();
if (!response.ok) throw new Error(`${response.status} ${data.error.code}: ${data.error.message}`);
console.log(data);
<?php
$base = "https://api.noqte.ai/v1/media";
$headers = [
    "Authorization: Bearer " . getenv("NOQTE_MEDIA_KEY"),
    "Content-Type: application/json",
];

$payload = [
    "model_slug" => "kling-4",
    "prompt" => "A calm cinematic scene at sunrise, soft light",
    "params" => [
        "duration" => "3",
        "quality" => "720p",
    ],
];

$ch = curl_init("$base/estimate");
curl_setopt_array($ch, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => $headers,
    CURLOPT_POST => true,
    CURLOPT_POSTFIELDS => json_encode($payload, JSON_UNESCAPED_UNICODE),
]);

$body = curl_exec($ch);
$status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);

$data = json_decode($body, true);
if ($status >= 400) {
    throw new RuntimeException("$status {$data['error']['code']}: {$data['error']['message']}");
}
print_r($data);
package main

import (
	"fmt"
	"io"
	"net/http"
	"os"
	"strings"
)

func main() {
	payload := `{
	  "model_slug": "kling-4",
	  "prompt": "A calm cinematic scene at sunrise, soft light",
	  "params": {
	    "duration": "3",
	    "quality": "720p"
	  }
	}`

	req, err := http.NewRequest("POST", "https://api.noqte.ai/v1/media/estimate", strings.NewReader(payload))
	if err != nil {
		panic(err)
	}
	req.Header.Set("Content-Type", "application/json")
	req.Header.Set("Authorization", "Bearer "+os.Getenv("NOQTE_MEDIA_KEY"))

	res, err := http.DefaultClient.Do(req)
	if err != nil {
		panic(err)
	}
	defer res.Body.Close()
	data, _ := io.ReadAll(res.Body)
	fmt.Println(res.StatusCode, string(data))
}

پاسخ پذیرش — 202 application/json

202 application/json
{
  "request_id": "req_9f1c2d3e4a5b6c7d8e9f0a1b2c3d4e5f",
  "generation": {
    "id": "0f3a9c2e7b1d4a6c8e5f2b9d1c7a3e4f",
    "request_id": "req_9f1c2d3e4a5b6c7d8e9f0a1b2c3d4e5f",
    "api_key_id": 51,
    "kind": "video",
    "model_slug": "kling-4",
    "prompt": "A calm cinematic scene at sunrise, soft light",
    "params": {
      "duration": "3",
      "quality": "720p"
    },
    "texts": {},
    "status": "pending",
    "created_at": "2026-09-05T10:00:00+00:00",
    "completed_at": null,
    "charged_credits": 12,
    "refunded_credits": 0,
    "net_credits": 12,
    "billing_status": "charged",
    "outputs": [],
    "error": null
  },
  "replayed": false,
  "poll_after_seconds": 5
}

جریان کامل: برآورد ← ارسال ← پیگیری تا آماده‌شدن خروجی

# کلید را فقط در متغیر محیطی نگه دارید؛ نیازمند curl و jq
export NOQTE_MEDIA_KEY='sk-media-…'
BASE='https://api.noqte.ai/v1/media'
PAYLOAD='{"model_slug":"kling-4","prompt":"A calm cinematic scene at sunrise, soft light","params":{"duration":"3","quality":"720p"}}'

# ۱) برآورد — بدون کسر کردیت
curl -sS "$BASE/estimate" \
  -H "Authorization: Bearer $NOQTE_MEDIA_KEY" \
  -H "Content-Type: application/json" \
  -d "$PAYLOAD"

# ۲) ارسال تولید — شناسهٔ تکرار را یک‌بار بسازید و در retry همان را بفرستید
OP_ID="$(uuidgen)"
GEN_ID=$(curl -sS "$BASE/generations" \
  -H "Authorization: Bearer $NOQTE_MEDIA_KEY" \
  -H "Idempotency-Key: $OP_ID" \
  -H "Content-Type: application/json" \
  -d "$(printf '%s' "$PAYLOAD" | jq '. + {max_credits: 20}')" | jq -r '.generation.id')

# ۳) پیگیری هر ۵ ثانیه تا completed یا failed
while :; do
  STATUS=$(curl -sS "$BASE/generations/$GEN_ID" -H "Authorization: Bearer $NOQTE_MEDIA_KEY")
  STATE=$(printf '%s' "$STATUS" | jq -r '.generation.status')
  [ "$STATE" = completed ] || [ "$STATE" = failed ] && break
  sleep 5
done
printf '%s\n' "$STATUS" | jq '.generation | {status, net_credits, billing_status, outputs}'
import os
import time
import uuid

import requests

BASE = "https://api.noqte.ai/v1/media"
HEADERS = {"Authorization": f"Bearer {os.environ['NOQTE_MEDIA_KEY']}"}


def call(method, path, **kwargs):
    response = requests.request(method, f"{BASE}{path}", headers={**HEADERS, **kwargs.pop("headers", {})}, timeout=60, **kwargs)
    data = response.json()
    if not response.ok:
        raise RuntimeError(f"{response.status_code} {data['error']['code']}: {data['error']['message']}")
    return data


payload = {
    "model_slug": "kling-4",
    "prompt": "A calm cinematic scene at sunrise, soft light",
    "params": {
        "duration": "3",
        "quality": "720p",
    },
}

# ۱) برآورد — بدون کسر کردیت
estimate = call("POST", "/estimate", json=payload)
print("credits:", estimate["credits"], "wallet:", estimate["wallet_balance"])

# ۲) ارسال تولید؛ شناسهٔ تکرار را پیش از ارسال ذخیره کنید و در retry تغییر ندهید
operation_id = str(uuid.uuid4())
accepted = call(
    "POST",
    "/generations",
    json={**payload, "max_credits": estimate["credits"]},
    headers={"Idempotency-Key": operation_id},
)
generation = accepted["generation"]

# ۳) پیگیری تا completed یا failed
while generation["status"] in ("pending", "running"):
    time.sleep(accepted.get("poll_after_seconds") or 5)
    generation = call("GET", f"/generations/{generation['id']}")["generation"]

if generation["status"] == "failed":
    raise RuntimeError(f"{generation['error']['code']} — billing: {generation['billing_status']}")

for output in generation["outputs"]:
    print(output["url"])  # لینک امضاشده و زمان‌دار
import { randomUUID } from "node:crypto";

const BASE = "https://api.noqte.ai/v1/media";
const headers = { Authorization: `Bearer ${process.env.NOQTE_MEDIA_KEY}` };

async function call(path, init = {}) {
  const response = await fetch(`${BASE}${path}`, {
    ...init,
    headers: { ...headers, "Content-Type": "application/json", ...init.headers },
    signal: AbortSignal.timeout(60_000),
  });
  const data = await response.json();
  if (!response.ok) throw new Error(`${response.status} ${data.error.code}: ${data.error.message}`);
  return data;
}

const payload = {
  model_slug: "kling-4",
  prompt: "A calm cinematic scene at sunrise, soft light",
  params: {
    duration: "3",
    quality: "720p"
  }
};

// ۱) برآورد — بدون کسر کردیت
const estimate = await call("/estimate", { method: "POST", body: JSON.stringify(payload) });
console.log("credits:", estimate.credits, "wallet:", estimate.wallet_balance);

// ۲) ارسال تولید؛ شناسهٔ تکرار را پیش از ارسال ذخیره کنید و در retry تغییر ندهید
const operationId = randomUUID();
const accepted = await call("/generations", {
  method: "POST",
  headers: { "Idempotency-Key": operationId },
  body: JSON.stringify({ ...payload, max_credits: estimate.credits }),
});
let { generation } = accepted;

// ۳) پیگیری تا completed یا failed
while (generation.status === "pending" || generation.status === "running") {
  await new Promise((resolve) => setTimeout(resolve, (accepted.poll_after_seconds ?? 5) * 1000));
  ({ generation } = await call(`/generations/${generation.id}`));
}

if (generation.status === "failed") {
  throw new Error(`${generation.error.code} — billing: ${generation.billing_status}`);
}
for (const output of generation.outputs) console.log(output.url); // لینک امضاشده و زمان‌دار
<?php
$base = "https://api.noqte.ai/v1/media";
$key = getenv("NOQTE_MEDIA_KEY");

function call(string $method, string $path, ?array $json = null, array $extraHeaders = []): array
{
    global $base, $key;
    $ch = curl_init($base . $path);
    $headers = array_merge(["Authorization: Bearer $key", "Content-Type: application/json"], $extraHeaders);
    curl_setopt_array($ch, [
        CURLOPT_RETURNTRANSFER => true,
        CURLOPT_CUSTOMREQUEST => $method,
        CURLOPT_HTTPHEADER => $headers,
        CURLOPT_POSTFIELDS => $json === null ? null : json_encode($json, JSON_UNESCAPED_UNICODE),
    ]);
    $body = curl_exec($ch);
    $status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
    curl_close($ch);
    $data = json_decode($body, true);
    if ($status >= 400) {
        throw new RuntimeException("$status {$data['error']['code']}: {$data['error']['message']}");
    }
    return $data;
}

$payload = [
    "model_slug" => "kling-4",
    "prompt" => "A calm cinematic scene at sunrise, soft light",
    "params" => [
        "duration" => "3",
        "quality" => "720p",
    ],
];

// ۱) برآورد — بدون کسر کردیت
$estimate = call("POST", "/estimate", $payload);
echo "credits: {$estimate['credits']}\n";

// ۲) ارسال تولید؛ شناسهٔ تکرار را پیش از ارسال ذخیره کنید و در retry تغییر ندهید
$operationId = bin2hex(random_bytes(16));
$accepted = call("POST", "/generations", $payload + ["max_credits" => $estimate["credits"]], ["Idempotency-Key: $operationId"]);
$generation = $accepted["generation"];

// ۳) پیگیری تا completed یا failed
while (in_array($generation["status"], ["pending", "running"], true)) {
    sleep($accepted["poll_after_seconds"] ?? 5);
    $generation = call("GET", "/generations/{$generation['id']}")["generation"];
}

if ($generation["status"] === "failed") {
    throw new RuntimeException($generation["error"]["code"] . " — billing: " . $generation["billing_status"]);
}
foreach ($generation["outputs"] as $output) {
    echo $output["url"], "\n"; // لینک امضاشده و زمان‌دار
}
package main

import (
	"bytes"
	"encoding/json"
	"fmt"
	"net/http"
	"os"
	"time"

	"github.com/google/uuid"
)

const base = "https://api.noqte.ai/v1/media"

func call(method, path string, body any, headers map[string]string) map[string]any {
	var reader *bytes.Reader
	if body != nil {
		raw, _ := json.Marshal(body)
		reader = bytes.NewReader(raw)
	} else {
		reader = bytes.NewReader(nil)
	}
	req, err := http.NewRequest(method, base+path, reader)
	if err != nil {
		panic(err)
	}
	req.Header.Set("Authorization", "Bearer "+os.Getenv("NOQTE_MEDIA_KEY"))
	req.Header.Set("Content-Type", "application/json")
	for k, v := range headers {
		req.Header.Set(k, v)
	}
	res, err := http.DefaultClient.Do(req)
	if err != nil {
		panic(err)
	}
	defer res.Body.Close()
	var data map[string]any
	json.NewDecoder(res.Body).Decode(&data)
	if res.StatusCode >= 400 {
		e := data["error"].(map[string]any)
		panic(fmt.Sprintf("%d %v: %v", res.StatusCode, e["code"], e["message"]))
	}
	return data
}

func main() {
	payload := map[string]any{
		"model_slug": "kling-4",
		"prompt":     "A calm cinematic scene at sunrise, soft light",
		"params":     map[string]string{"duration": "3", "quality": "720p"},
	}

	// ۱) برآورد — بدون کسر کردیت
	estimate := call("POST", "/estimate", payload, nil)
	fmt.Println("credits:", estimate["credits"])

	// ۲) ارسال تولید؛ شناسهٔ تکرار را پیش از ارسال ذخیره کنید و در retry تغییر ندهید
	payload["max_credits"] = estimate["credits"]
	accepted := call("POST", "/generations", payload, map[string]string{"Idempotency-Key": uuid.NewString()})
	generation := accepted["generation"].(map[string]any)

	// ۳) پیگیری تا completed یا failed
	for generation["status"] == "pending" || generation["status"] == "running" {
		time.Sleep(5 * time.Second)
		generation = call("GET", "/generations/"+generation["id"].(string), nil, nil)["generation"].(map[string]any)
	}
	if generation["status"] == "failed" {
		panic(fmt.Sprintf("%v — billing: %v", generation["error"], generation["billing_status"]))
	}
	for _, output := range generation["outputs"].([]any) {
		fmt.Println(output.(map[string]any)["url"]) // لینک امضاشده و زمان‌دار
	}
}

03 · API key

دریافت کلید API Kling VIDEO 4.0

یک کلید تولید محتوا برای همهٔ مدل‌های فعال نقطه کافی است؛ هزینه با کردیت کیف پول و به‌صورت ریالی پرداخت می‌شود و اشتراک پرو لازم نیست.

  1. 01

    ثبت‌نام یا ورود به نقطه

    با شمارهٔ موبایل یا ایمیل. نیازی به کارت بین‌المللی، اشتراک دلاری یا پلن پرو نیست.

  2. 02

    شارژ کیف پول با کردیت

    پرداخت ریالی؛ هزینهٔ هر تولید از همین موجودی کسر می‌شود و قبل از هر درخواست قابل برآورد است.

  3. 03

    ساخت کلید تولید محتوا

    از «کلیدهای API → تولید محتوا» یک کلید sk-media بسازید؛ در صورت نیاز آن را فقط به همین مدل محدود و برایش سقف کردیت روزانه بگذارید.

  4. 04

    اجرای اولین درخواست

    همین نمونهٔ صفحه را با کلید خود اجرا کنید: برآورد، ارسال با Idempotency-Key و پیگیری تا آماده‌شدن خروجی.

ساخت کلید API Kling VIDEO 4.0

04 · FAQ

پرسش‌های پرتکرار دربارهٔ API Kling VIDEO 4.0

چطور کلید API Kling VIDEO 4.0 بگیرم؟

+

در نقطه ثبت‌نام کنید، کیف پول را با کردیت شارژ کنید و از بخش «کلیدهای API → تولید محتوا» یک کلید بسازید. مدل Kling VIDEO 4.0 ساختهٔ Kling است و همان کلید برای همهٔ مدل‌های فعال نقطه کار می‌کند؛ کافی است model_slug را برابر kling-4 بگذارید.

قیمت API Kling VIDEO 4.0 چقدر است؟

+

پیکربندی پیش‌فرض Kling VIDEO 4.0 ۲۷۵ کردیت ≈ ۲۶۴٬۰۰۰ تومان هزینه دارد و به ازای هر ثانیه محاسبه می‌شود؛ گزینه‌ها (کیفیت، مدت، تعداد خروجی) می‌توانند قیمت را تغییر دهند. قیمت دقیق هر ورودی را قبل از تولید از endpoint برآورد بگیرید؛ برآورد کردیتی کسر نمی‌کند.

برای استفاده از API Kling VIDEO 4.0 به کارت خارجی یا VPN نیاز دارم؟

+

نه. پرداخت ریالی و با کردیت کیف پول نقطه انجام می‌شود و درخواست‌ها به آدرس پایهٔ نقطه ارسال می‌شوند؛ اشتراک پرو هم لازم نیست.

Kling VIDEO 4.0 چه ورودی‌هایی می‌پذیرد؟

+

علاوه بر پرامپت، تصویر (تصاویر مرجع شخصیت، محصول، صحنه یا استایل، تا ۱۰ فایل؛ PNG، JPG، WEBP · تا ۳۰ مگابایت)، ویدئو (ویدیوهای مرجع حرکت، دوربین یا استایل، تا ۵ فایل؛ MP4، MOV · تا ۱۰۰ مگابایت)، تصویر (فریم شروع (اختیاری)، تا ۱ فایل؛ PNG، JPG، WEBP · تا ۳۰ مگابایت)، تصویر (فریم‌های میانی (اختیاری)، تا ۸ فایل؛ PNG، JPG، WEBP · تا ۳۰ مگابایت)، تصویر (فریم پایانی (اختیاری)، تا ۱ فایل؛ PNG، JPG، WEBP · تا ۳۰ مگابایت)، ویدئو (ویدیوی مبدأ برای ویرایش (اختیاری)، تا ۱ فایل؛ MP4، MOV · تا ۱۰۰ مگابایت) پذیرفته می‌شود. فایل‌های مرجع اول با POST /v1/media/uploads ثبت می‌شوند و شناسهٔ برگشتی در refs یا ref_slots می‌آید.

خروجی ویدئو Kling VIDEO 4.0 را چطور دریافت کنم؟

+

پاسخ ارسال 202 است. وضعیت را از GET /v1/media/generations/{id} بخوانید و بین دو خواندن به اندازهٔ poll_after_seconds همان پاسخ صبر کنید؛ وقتی completed شد، outputs لینک امضاشده و زمان‌دار خروجی را دارد که به‌طور پیش‌فرض حدود یک ساعت معتبر است و با هر خواندن دوبارهٔ همان تولید تازه می‌شود. فایل را در فضای خودتان ذخیره کنید.

مدل‌های دیگر ویدئو

Omni Flash 1.1NaqqalWan 3.0 Video PrimeSeedance 2.5Wan 3.0 VideoMiniMax H3Seedance 2.5 DraftFLUX 3 VideoGrok Imagine VideoGrok Imagine Video 1.5Seedance 2.0 MiniMiniMax H3 MaxVeo 3.1 LiteLip SyncMiniMax H3 Max TurboWan2.7Seedance 2.0 FastKling 3.0 StandardSeedance 2.0Kling VIDEO 3.0 TurboKling VIDEO 3.0 ProKling VIDEO 3.0 Omni ProRunway Gen-4.5Veo 3.1Kling VIDEO 3.0 4KKling VIDEO 3.0 Omni 4KRunway Aleph 2.0Topaz Video UpscalerGenjutsu Motion Transfer

Kling VIDEO 4.0 را از کد صدا بزنید

کلید تولید محتوا بسازید، مجموعهٔ Postman را import کنید و همین نمونه را با کلید خودتان اجرا کنید.

ساخت کلید APIPostman
نقطه

هوش مصنوعی فارسی برای ساخت و ویرایش عکس، تولید ویدیو و صدا، ساخت سایت و نرم‌افزار، چت و امور مالی؛ همه در یک حساب، با پرداخت ریالی.

پشتیبانی: support@noqte.ai

نماد اعتماد الکترونیکی

ابزارهای عکس

  • عکس بدنسازی
  • عکس تبلیغاتی
  • آموزش ساخت عکس
  • افزایش کیفیت
  • برنامه عکس
  • هوش مصنوعی گوگل
  • متن به عکس
  • ربات عکس
  • روتوش عکس
  • ساخت عکس
  • ترمیم عکس
  • عکس عاشقانه
  • ترجمه عکس
  • جمینای و نانو بنانا
  • ساخت لوگو با هوش مصنوعی
  • ساخت پوستر و بنر

فایل و ابزارهای حقوقی

  • نمونه قرارداد
  • نوشتن دادخواست
  • نوشتن لایحه
  • ساخت پاورپوینت با هوش مصنوعی
  • اکسل با هوش مصنوعی

تولید محتوا با هوش مصنوعی

  • ساخت عکس با هوش مصنوعی
  • ساخت ویدیو با هوش مصنوعی
  • ساخت موسیقی با هوش مصنوعی
  • تبدیل متن به صدا با هوش مصنوعی
  • ساخت مدل سه‌بعدی با هوش مصنوعی
  • دانلود برنامه ویدیو
  • ادیت ویدیو
  • هوش مصنوعی کلینگ
  • ساخت کلیپ
  • نقّال · ساخت ویدیوی روایتی
  • کارگردان هوش مصنوعی
  • تبدیل عکس به مدل سه‌بعدی
  • ساخت افکت صوتی
  • افزایش کیفیت عکس
  • ساخت عکس محصول
  • ساخت تیزر تبلیغاتی
  • پرو مجازی لباس
  • شبیه‌سازی صدا

راهکارها

  • چت با هوش مصنوعی فارسی
  • هوش مصنوعی کلاد فارسی
  • هوش مصنوعی Veo 3
  • ساخت سایت با هوش مصنوعی
  • وایب کدینگ
  • هوش مصنوعی حسابداری
  • ادیت عکس با هوش مصنوعی
  • هوش مصنوعی سیدانس Seedance
  • سونو (Suno)
  • تبدیل عکس به انیمه
  • ساخت عکس پروفایل با هوش مصنوعی
  • تبدیل عکس به ویدیو

برای مشاغل و کاربردها

  • هوش مصنوعی برای اینستاگرام
  • هوش مصنوعی برای دانشجویان
  • هوش مصنوعی برای کسب‌وکار
  • هوش مصنوعی در دیجیتال مارکتینگ
  • طراحی داخلی با هوش مصنوعی
  • هوش مصنوعی برای معلمان
  • هوش مصنوعی برای فروشگاه اینترنتی

نقطه

  • قیمت‌گذاری
  • دانلود اپلیکیشن
  • پلن سازمانی
  • اتصال ابزارهای کدنویسی
  • هوش مصنوعی برنامه‌نویسی
  • Claude Code و Desktop
  • API تولید محتوا
  • بلاگ
  • آموزش
  • تماس و پشتیبانی
  • تبلیغات در نقطه

© ۱۴۰۵ نقطه. تمامی حقوق محفوظ است.

حریم خصوصیقوانین و مقررات