लोकप्रिय मॉडल
इमेज-टू-वीडियो जनरेशन आपकी इनपुट इमेज को मोशन जनरेशन के साथ संयोजित करता है। आउटपुट आपकी स्रोत इमेज के साथ विज़ुअल कंसिस्टेंसी बनाए रखता है और साथ ही यथार्थवादी मोशन जोड़ता है।
चरण 1: अपनी इमेज तैयार करें
सबसे पहले, आपको स्रोत इमेज प्रदान करनी होगी। आप या तो एक फ़ाइल अपलोड कर सकते हैं, एक URL का संदर्भ दे सकते हैं या एक base64 डेटा URI प्रदान कर सकते हैं।// npm install @krea-ai/sdk
import { openAsBlob } from "node:fs";
import { Krea } from "@krea-ai/sdk";
const krea = new Krea({ apiKey: process.env.KREA_API_KEY });
// Option 1: Upload a local file and use the hosted asset URL
const file = await openAsBlob("./input-image.jpg", { type: "image/jpeg" });
const asset = await krea.assets.upload(file, {
description: "Input image",
});
const imageUrl = asset.image_url;
// Option 2: Using image URL
// const imageUrl = "https://example.com/input-image.jpg";
import requests
API_BASE = "https://api.krea.ai"
API_TOKEN = "YOUR_API_TOKEN"
# Option 1: Upload a local file and use the hosted asset URL
with open("input-image.jpg", "rb") as image_file:
upload = requests.post(
f"{API_BASE}/assets",
headers={"Authorization": f"Bearer {API_TOKEN}"},
files={"file": ("input-image.jpg", image_file, "image/jpeg")},
data={"description": "Input image"},
)
upload.raise_for_status()
image_url = upload.json()["image_url"]
# Option 2: Using image URL
# image_url = "https://example.com/input-image.jpg"
अपने API टोकन से बदलेंऊपर दिए गए उदाहरणों में YOUR_API_TOKEN प्लेसहोल्डर को बदलने के लिए, आपको krea.ai/settings/api-tokens में एक API टोकन जनरेट करना होगा। यदि आपको सहायता चाहिए, तो API Keys & Billing पेज पर दिए गए निर्देशों का पालन करें।
चरण 2: वीडियो जनरेट करें
अपनी इमेज और मोशन पैरामीटर के साथ/generate/video/kling/kling-2.5 पर एक POST रिक्वेस्ट करें।
// npm install @krea-ai/sdk
import { Krea } from "@krea-ai/sdk";
const krea = new Krea({ apiKey: process.env.KREA_API_KEY });
const job = await krea.video("kling/kling-2.5", {
start_image: imageUrl,
prompt: "gentle camera pan from left to right, subtle depth",
duration: 5,
aspect_ratio: "16:9"
});
console.log(`Job ID: ${job.job_id}`);
curl -X POST https://api.krea.ai/generate/video/kling/kling-2.5 \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"start_image": "https://example.com/input-image.jpg",
"prompt": "gentle camera pan from left to right, subtle depth",
"duration": 5,
"aspect_ratio": "16:9"
}'
response = requests.post(
f"{API_BASE}/generate/video/kling/kling-2.5",
headers={
"Authorization": f"Bearer {API_TOKEN}",
"Content-Type": "application/json"
},
json={
"start_image": image_url,
"prompt": "gentle camera pan from left to right, subtle depth",
"duration": 5,
"aspect_ratio": "16:9"
}
)
job = response.json()
print(f"Job ID: {job['job_id']}")
package main
import (
"bytes"
"encoding/json"
"fmt"
"net/http"
)
func main() {
apiBase := "https://api.krea.ai"
apiToken := "YOUR_API_TOKEN"
payload := map[string]interface{}{
"start_image": "https://example.com/input-image.jpg",
"prompt": "gentle camera pan from left to right, subtle depth",
"duration": 5,
"aspect_ratio": "16:9",
}
jsonData, _ := json.Marshal(payload)
req, _ := http.NewRequest("POST", apiBase+"/generate/video/kling/kling-2.5", bytes.NewBuffer(jsonData))
req.Header.Set("Authorization", "Bearer "+apiToken)
req.Header.Set("Content-Type", "application/json")
client := &http.Client{}
resp, _ := client.Do(req)
defer resp.Body.Close()
var job map[string]interface{}
json.NewDecoder(resp.Body).Decode(&job)
fmt.Printf("Job ID: %s\n", job["job_id"])
}
अपने API टोकन से बदलेंऊपर दिए गए उदाहरणों में YOUR_API_TOKEN प्लेसहोल्डर को बदलने के लिए, आपको krea.ai/settings/api-tokens में एक API टोकन जनरेट करना होगा। यदि आपको सहायता चाहिए, तो API Keys & Billing पेज पर दिए गए निर्देशों का पालन करें।
{
"job_id": "550e8400-e29b-41d4-a716-446655440000",
"status": "queued",
"created_at": "2025-01-15T10:30:00.000Z",
"estimated_time": "60-120 seconds"
}
चरण 3: परिणामों के लिए पोल करें
वीडियो जनरेशन की प्रगति की जाँच करने के लिए हर 5 सेकंड में/jobs/{job_id} को पोल करें।
// npm install @krea-ai/sdk
import { Krea } from "@krea-ai/sdk";
const krea = new Krea({ apiKey: process.env.KREA_API_KEY });
async function waitForVideo(jobId) {
const completed = await krea.jobs.wait(jobId, { intervalMs: 5000 });
return completed.result.urls[0];
}
const videoUrl = await waitForVideo(job.job_id);
console.log(`Video ready: ${videoUrl}`);
curl -X GET https://api.krea.ai/jobs/YOUR_JOB_ID \
-H "Authorization: Bearer YOUR_API_TOKEN"
import time
def wait_for_video(job_id):
while True:
response = requests.get(
f"{API_BASE}/jobs/{job_id}",
headers={"Authorization": f"Bearer {API_TOKEN}"}
)
job = response.json()
if job["status"] == "completed":
return job["result"]["urls"][0]
if job["status"] in ("failed", "cancelled"):
raise Exception(f"Job failed: {job['status']}")
# Show progress if available
if "progress" in job:
print(f"Progress: {job['progress']}%")
else:
print(f"Status: {job['status']}")
time.sleep(5)
video_url = wait_for_video(job["job_id"])
print(f"Video ready: {video_url}")
func waitForVideo(jobID string) (string, error) {
for {
req, _ := http.NewRequest("GET", apiBase+"/jobs/"+jobID, nil)
req.Header.Set("Authorization", "Bearer "+apiToken)
resp, _ := client.Do(req)
var job map[string]interface{}
json.NewDecoder(resp.Body).Decode(&job)
resp.Body.Close()
switch job["status"] {
case "completed":
result := job["result"].(map[string]interface{})
urls := result["urls"].([]interface{})
return urls[0].(string), nil
case "failed", "cancelled":
return "", fmt.Errorf("job failed: %s", job["status"])
}
// Show progress if available
if progress, ok := job["progress"]; ok {
fmt.Printf("Progress: %.0f%%\n", progress)
} else {
fmt.Printf("Status: %s\n", job["status"])
}
time.Sleep(5 * time.Second)
}
}
{
"job_id": "550e8400-e29b-41d4-a716-446655440000",
"status": "completed",
"created_at": "2025-01-15T10:30:00.000Z",
"completed_at": "2025-01-15T10:31:45.000Z",
"result": {
"urls": ["https://gen.krea.ai/videos/your-video.mp4"]
}
}
वेबहुक उपलब्ध हैं!जब जॉब पूरे हो जाएँ तो सूचनाएँ प्राप्त करने के लिए वेबहुक सेट अप करें। शुरू करने के लिए Webhooks guide देखें।
सामान्य पैरामीटर
सभी मॉडलों के विस्तृत पैरामीटर की सूची के लिए, Model APIs पेज देखें।
| पैरामीटर | प्रकार | विवरण |
|---|---|---|
start_image | string | स्रोत इमेज का URL |
prompt | string | वांछित मोशन और कैमरा मूवमेंट का विवरण |
duration | number | वीडियो की लंबाई सेकंड में। समर्थित मान मॉडल पर निर्भर करते हैं। |
aspect_ratio | string | वीडियो आस्पेक्ट रेशियो, जैसे 16:9, 9:16, या 1:1 |
end_image | string | समर्थित मॉडलों के लिए वैकल्पिक एंडिंग फ्रेम URL |
mode | string | उन मॉडलों के लिए वैकल्पिक गुणवत्ता मोड जो इसे एक्सपोज़ करते हैं |
मोशन प्रॉम्प्ट सुझाव:
- कैमरा मूवमेंट का वर्णन करें (पैन, ज़ूम, डॉली, टिल्ट)
- मोशन की दिशा और गति निर्दिष्ट करें
- डेप्थ और पैरालैक्स प्रभावों का उल्लेख करें
- सूक्ष्म एनिमेशन के लिए संयमित कैमरा भाषा का प्रयोग करें
- नाटकीय प्रभावों के लिए मज़बूत क्रिया-शब्दों का प्रयोग करें