Kısa Özet
Bolt uygulama arayüzünü oluşturabilir; CometAPI ise video üretim API’sini sağlar. CometAPI anahtarını sunucuda tutun, Vidu görevlerini POST /v1/videos ile gönderin, dönen görev kimliğini (task ID) yoklayın ve tamamlanan videoyu kimliği doğrulanmış önizleme ve indirme yolları üzerinden sunun. Bir Bolt projesine, seçilen modele erişimi olan fonlanmış bir CometAPI hesabına ve bir sunucu fonksiyon çalışma zamanına ihtiyaç vardır; aşağıdaki örnekler entegrasyonun çekirdeğini öğretir; kimlik doğrulama, kotalar, sahiplik kontrolleri ve kalıcı iş kayıtları lansmandan önce uygulanmalıdır.
Temel Noktalar
• Bolt, doğal dildeki uygulama tanımından duyarlı bir video stüdyosu arayüzü üretir.
• CometAPI, korumalı sunucu tarafı API anahtarıyla desteklenen üretim modelleri üzerinden video çıkarımı sağlar.
• Metinden videoya ile başlayın; iş döngüsünü doğruladıktan sonra görüntüden videoya’yı ekleyin.
• Üretim hazır hale getirmek için kimlik doğrulama, kotalar, görev sahiplik kontrolleri, yeniden denemeler ve dayanıklı çıktı depolama gerekir.
• Tamamlama oranı, gecikme, kabul edilen klip maliyeti ve isteme (prompt) uyumu ile gerçek değeri ölçün.
AI Video Üretimi için Bolt ve CometAPI Nedir?
Bolt arayüzü, uygulama mantığını ve yayınlama iş akışını oluşturur. Bolt Cloud, veritabanı, barındırma, kimlik doğrulama, depolama ve sunucu fonksiyonları gibi proje servisleri sağlar. CometAPI, desteklenen video modelleri ve çıkarım uç noktaları dahil olmak üzere model API erişimi sağlar. Ücretli çıkarımı kimliği doğrulanmış sunucu fonksiyonlarının arkasında tutun; kalıcı iş kayıtları, sahiplik kontrolleri ve faturalandırma kontrolleri ekleyin.
CometAPI OpenAI ile Uyumlu mu?
CometAPI, desteklenen metin ve sohbet modelleri için OpenAI uyumlu arayüzler sunar. Kullandığınız belirli SDK ve rota için uç noktayı ve modeli yapılandırın; uyumluluk, her modelin aynı istek şemasını kabul ettiği anlamına gelmez.
Vidu video API’si, OpenAI uyumlu sohbet arayüzünden ayrıdır. Video oluşturma multipart/form-data kullanan POST /v1/videos ile yapılır; bu nedenle uygulama video uç noktasını doğrudan korumalı bir sunucu tarafı fonksiyonundan çağırmalıdır.
CometAPI Vidu Video API’si Nasıl Çalışır?
Bir video görevi oluşturun
multipart/form-data kullanarak POST /v1/videos ile bir görev oluşturun. Bu eğitim viduq3 kullanır; viduq3-turbo başka bir belgelenmiş seçenektir. API anahtarınız için model erişimini doğrulayın ve dönen görev kimliğini kaydedin. Oluşturma API başvurusuna bakın.
POST /v1/videos parametreleri
Aşağıdaki tablo, oluşturma girdilerini içerir. Skaler form alanlarını string olarak gönderin. seconds için, "1" ile "16" arasında tamsayı değere sahip bir string kullanın; uygulama serileştirme öncesinde sayısal süreyi doğrulayabilir. Eğitimdeki 2.000 karakterlik istem sınırı bir uygulama ilkesidir.
| Parametre | Tür | Örnek | Amaç |
|---|---|---|---|
| model | String | viduq3 | Üretim modeli |
| prompt | String | Cinematic product shot | Metin yönlendirmesi |
| seconds | String | 1 | Klip süresi: 1–16 saniye arası tamsayı string |
| size | String | 1280x720 | Çıktı boyutları |
| input_reference | File | product.png | Opsiyonel görsel referansı |
Sunucu, görev tanımlayıcı olarak id döndürür; bu bir oluşturma parametresi değildir. Bunu istekte bulunan kullanıcının iş kaydıyla birlikte kaydedin ve sonraki durum ve içerik istekleri için kullanın. Üstü çizili id satırı, yalnızca silmeyi göstermek için tutulmuştur.
- 540p kademesi: Deneyler için 960x528 API boyut değerini kullanın.
- 720p kademesi: Web önizlemeleri için 1280x720 kullanın.
- 1080p kademesi: Daha yüksek kaliteli teslimatlar için 1920x1080 kullanın.
Sunucu tarafı doğrulama, desteklenmeyen kombinasyonları reddetmeli ve kullanıcıların sınırsız ücretli üretim talep etmesini engellemelidir.
Görev durumunu sorgulayın
Arka uçtan, iş sahipliğini doğruladıktan sonra GET /v1/videos/{task_id} kontrol edin. Görev terminal bir duruma ulaşana kadar devam edin; bir sayfa yenilemesi veya tarayıcı zaman aşımı aynı işi sürdürebilsin diye görev kimliğini saklayın.
Tamamlanan videoyu indirin
Tamamlandıktan sonra, arka uç üzerinden GET /v1/videos/{task_id}/content isteğinde bulunun ve sonucu yayın (stream) edin veya kontrollü depolamaya kalıcı olarak kaydedin. Aşağıdaki uygulama yürüyüşü, bu işlemleri Bolt’a nasıl bağlayacağınızı gösterir.
Bolt + CometAPI ile AI Video Üreteci Nasıl Kurulur?
Adım 1: Projeyi Bolt’ta oluşturun
Bolt açın ve ondan bir React + TypeScript projesi oluşturmasını isteyin. Bu özelliği giriş kutusuna yapıştırın ve ücretli üretime bağlamadan önce oluşturulan arayüzü gözden geçirin:
Build a responsive AI Video Studio using React, TypeScript, and Tailwind CSS.
Use a dark-themed layout with prompt editing, example prompts, 5/10/15-second
choices, 540p/720p/1080p options, Generate Video button, job status,
video preview and download, and a recent-generations section.
Use Bolt Cloud authentication, database, and server functions.
Require sign-in before video creation. Store COMETAPI_KEY only in server secrets.
Create authenticated generate-video and video-status server endpoints.
Connect to real CometAPI tasks; poll status every 10 seconds.
Do not use mock videos in the production path.

Adım 2: CometAPI API anahtarını yapılandırın
CometAPI’de bir API anahtarı oluşturun ve ardından arka uçta COMETAPI_KEY adlı bir gizli değer ekleyin. Bunu asla frontend kaynak dosyalarında saklamayın, tarayıcı koduna maruz bırakmayın veya VITE_ önekli bir ortam değişkeni kullanmayın.
Bolt proje ayarlarınızda, COMETAPI_KEY’i projenin sunucu tarafı gizli yönetim arayüzü aracılığıyla ekleyin. Bunu frontend kaynak koduna yerleştirmeyin veya tarayıcı JavaScript’ine ifşa etmeyin. Aşağıdaki satırı bir adlandırma örneği olarak değerlendirin, bir frontend .env dosyası olarak değil.

COMETAPI_KEY=your_actual_cometapi_api_key
Adım 3: Bir video üretim görevi gönderin
Aşağıdaki Deno tarzı fonksiyon, sağlayıcı isteğinin çekirdeğini sunar. Dağıtımdan önce gerçek oturum doğrulaması, kotalar ve kullanıcıya ait iş kayıtlarıyla sarmalanmalıdır.
Bu örnek, Supabase tarzı bir Deno edge function düzeni kullanır. Bolt’tan bunu projenizin gerçekten yapılandırılmış sunucu çalışma zamanına yerleştirmesini isteyin. Kimlik doğrulama ve kalıcılık yorumları, entegrasyon noktalarıdır; bu iskeleti kamuya açık ücretli bir uç nokta olarak dağıtmayın.
// supabase/functions/generate-video/index.ts
import { serve } from "https://deno.land/std/http/server.ts";
serve(async (req: Request) => {
if (req.method !== "POST") return Response.json({error:"Method not allowed"},{status:405});
try {
// Verify the signed-in user and enforce quotas here.
const {prompt, seconds, size} = await req.json();
const sizes = ["960x528", "1280x720", "1920x1080"];
if (typeof prompt !== "string" || !prompt.trim() || prompt.length > 2000 ||
!Number.isInteger(seconds) || seconds < 1 || seconds > 16 ||
!sizes.includes(size)) {
return Response.json({error:"Invalid options"},{status:400});
}
const key = Deno.env.get("COMETAPI_KEY");
if (!key) throw new Error("Missing API key");
const form = new FormData();
form.append("model", "viduq3");
form.append("prompt", prompt.trim());
form.append("seconds", String(seconds));
form.append("size", size);
const response = await fetch("https://api.cometapi.com/v1/videos", {
method: "POST", headers: {Authorization: `Bearer ${key}`}, body: form,
signal: AbortSignal.timeout(60000)
});
if (!response.ok) throw new Error(`Provider status ${response.status}`);
const result = await response.json();
const taskId = result.id ?? result.task_id;
if (!taskId) throw new Error("Task ID missing");
// Persist taskId and owner ID in application database here.
return Response.json({taskId, status: result.status ?? "queued"});
} catch (e) {
console.error(e);
return Response.json({error:"Unable to create video"},{status:500});
}
});
Adım 4: Üretim durumunu alın
Gönderim, zaman uyumsuz bir iş kimliği döndürür. İsteği yapan kullanıcının işi sahiplenip sahiplenmediğini doğruladıktan sonra, sunucu uç noktası aracılığıyla GET /v1/videos/{task_id} kontrol edin.

// Server-only helper
async function getVideoStatus(taskId: string) {
const key = Deno.env.get("COMETAPI_KEY");
if (!key) throw new Error("Missing API key");
const response = await fetch(
`https://api.cometapi.com/v1/videos/${encodeURIComponent(taskId)}`,
{headers: {Authorization: `Bearer ${key}`}, signal: AbortSignal.timeout(60000)}
);
if (!response.ok) throw new Error(`Status ${response.status}`);
const task = await response.json();
return {taskId, status: task.status, progress: task.progress ?? null};
}
Görev queued ile başlar, in_progress’a geçebilir ve completed, failed veya error ile sona erer. Yalnızca completed olduktan sonra önizleme ve indirmeyi etkinleştirin; terminal hata durumları için bir hata gösterin ve yeni bir isteğe izin verin.
Adım 5: Bolt frontend’ini bağlayın
type VideoTask = {taskId: string; status: string; progress?: number | null};
async function startVideo(prompt: string, seconds: number, size: string): Promise<VideoTask> {
const res = await fetch("/api/generate-video", {
method: "POST", headers: {"Content-Type":"application/json"},
body: JSON.stringify({prompt, seconds, size})
});
if (!res.ok) throw new Error("Generation request failed");
return res.json();
}
async function checkVideo(taskId: string): Promise<VideoTask> {
const res = await fetch(`/api/video-status?id=${encodeURIComponent(taskId)}`);
if (!res.ok) throw new Error("Status request failed");
return res.json();
}
async function waitForVideo(taskId: string, onUpdate: (task: VideoTask) => void) {
const deadline = Date.now() + 20 * 60 * 1000;
while (Date.now() < deadline) {
const task = await checkVideo(taskId);
onUpdate(task);
if (task.status === "completed") return task;
if (["failed", "error"].includes(task.status)) throw new Error("Render failed");
await new Promise(resolve => setTimeout(resolve, 10000));
}
throw new Error("Polling paused; resume this task ID before submitting again");
}
/api/ yolları, yapılandırmanız gereken uygulama rotalarıdır. Bolt Cloud sunucu fonksiyonları için üretilen arka uç istemcisini ve kimliği doğrulanmış uç nokta URL’lerini kullanın. Bileşen kaldırılırken yoklamayı iptal edin ve 429/5xx yanıtları için sınırlı geri çekilme (backoff) uygulayın. Bir tarayıcı yoklama son tarihi, sağlayıcı hatasını kanıtlamaz: görev kimliğini koruyun ve başka bir ücretli görev oluşturmadan önce durum kontrollerini sürdürün.
Adım 6: Sonucu önizleyin ve indirin
Bir iş tamamlandığında arka uç GET /v1/videos/{task_id}/content alır. Veriyi kimliği doğrulanmış iş sahibine yayın (stream) edin veya kontrollü nesne depolamaya kaydedin ve yetkili bir URL sağlayın. CometAPI bearer anahtarını asla tarayıcıda ifşa etmeyin.
Uygulamanız, önizleme bileşeni için kullanıcıya ait bir içerik rotası veya yetkilendirilmiş depolama URL’si sunmalıdır. İmzalı bir URL, süresi dolana kadar elinde tutan herkes tarafından erişilebilir; süresini kısa tutun. Güvenilir indirmeler için, aynı kökenli bir rota ve uygun Content-Disposition başlığı kullanın; tarayıcılar çapraz kökenli URL’ler için download özniteliğini yok sayabilir.
type VideoPreviewProps = {videoUrl: string};
export function VideoPreview({videoUrl}: VideoPreviewProps) {
return <div className="rounded-xl p-4">
<video controls playsInline className="w-full rounded-lg" src={videoUrl}/>
<a href={videoUrl} download="ai-generated-video.mp4">Download Video</a>
</div>;
}
Adım 7: Test edin ve yayınlayın
Önce beş saniyelik 540p bir isteği test edin: “Karanlık bir masanın üzerinde gümüş bir akıllı saatin sinematik yakın planı. Kamera yavaşça soldan sağa hareket ediyor. Yumuşak sabah ışığı metalden yansıyor.” Bir isteğin bir görev oluşturduğunu, durumun ilerlediğini, sonucun oynadığını ve indirmenin başarılı olduğunu kontrol edin. Yayınlamadan önce geçersiz istemler, süresi dolmuş oturumlar, hız sınırlaması, görev sahipliği ve sağlayıcı hatalarını test edin.
Tamamlama kontrolü: İkinci bir kullanıcı olarak oturum açın ve ilk kullanıcının işinin okunamadığını veya indirilemediğini doğrulayın; render sırasında sayfayı yenileyin ve kaydedilen görevin kurtarılabildiğini doğrulayın; tarayıcı isteklerini ve oluşturulmuş varlıkları kazara anahtar sızması açısından inceleyin. Yalnızca bu üç kontrol, oynatma ve indirme ile birlikte geçtikten sonra yayınlayın.
Görüntüden Videoya Üretimi Nasıl Ekleyebilirsiniz?
Görüntüden videoya için multipart gövdeye input_reference olarak doğrulanmış bir görsel dosyası ekleyin. Geçerli rota, görsel başına maksimum 20 MB belgeliyor; gerekirse daha küçük bir uygulama limiti uygulayın ve sunucuda içerik türünü ve gerçek dosya içeriğini doğrulayın. Görseli kimliği doğrulanmış arka uçtan geçirin; CometAPI anahtarını tarayıcı yüklemesiyle göndermeyin.
const form = new FormData();
form.append("model", "viduq3");
form.append("prompt", prompt);
form.append("seconds", "5");
form.append("size", "1280x720");
form.append("input_reference", imageFile);
const response = await fetch("https://api.cometapi.com/v1/videos", {
method: "POST", headers: {Authorization: `Bearer ${apiKey}`}, body: form
});
if (!response.ok) throw new Error(`API ${response.status}`);
const result = await response.json();
console.log(result.id ?? result.task_id);
Görüntü girdileri için, yalnızca sahneyi tekrar etmek yerine istenen hareketi ve kamera aksiyonunu tanımlayın: “Karakter pencereye doğru dönüyor. Perdeler hafifçe esiyor. Yüz, kıyafet ve ışığı koruyun. İnce bir ileri kamera hareketi kullanın.”
Vidu Q3 ve Diğer AI Video Modelleri: Neleri Ölçmelisiniz?
Modelleri aynı istemler, süre, çözünürlük ve kabul kriterleri üzerinde karşılaştırın. Bu bölüm bir karşılaştırma yöntemi tanımlar; test edilmiş bir kazanan iddiasında bulunmaz. Yayınlanacak sonuçlar için model sürümünü, rotayı, test tarihini ve örnek sayısını kaydedin.
- Tamamlama oranı: Güvenilirliği ölçmek için başarılı işleri gönderilen işlere bölün.
- Gecikme: Tipik deneyimi ve daha yavaş istekleri anlamak için P50 ve P95 işlem sürelerini takip edin.
- İsteme uyum: Çıktıların istenen talimatları ne kadar yakından takip ettiğini değerlendirmek için insan incelemesi veya standartlaştırılmış değerlendirme kullanın.
- Zaman içi tutarlılık: Görsel stabiliteyi değerlendirmek için kareden kareye sürekliliği kontrol edin.
- Ses senkronu: Diyalog ve sesin zamanlamasını ve anlaşılabilirliğini değerlendirin.
- Kabul edilen klip başına maliyet: İşletme ekonomisini anlamak için toplam harcamayı onaylanan çıktılara bölün.
CometAPI Video Üretim API’sinin Maliyeti Nedir?
Aşağıdaki tablo, CometAPI’de Vidu Q3 ve Vidu Q3 Turbo API’leri için referans fiyatlandırma sağlar. Gerçek maliyetler, modele, çözünürlüğe ve üretim ayarlarına bağlı olarak değişebilir. Video üretim bütçenizi tahmin etmeden önce CometAPI hesabınızdaki en güncel fiyatlandırmayı ve model kullanılabilirliğini kontrol edin.
| CometAPI modeli | Çözünürlük | Tarihsel USD / saniye | Örnek USD / 5 saniyelik görev |
|---|---|---|---|
| Vidu Q3 | 540p | $0.056 | $0.280 |
| Vidu Q3 | 720p | $0.1232 | $0.616 |
| Vidu Q3 | 1080p | $0.1232 | $0.616 |
| Vidu Q3 Turbo | 540p | $0.028 | $0.140 |
| Vidu Q3 Turbo | 720p | $0.0616 | $0.308 |
| Vidu Q3 Turbo | 1080p | $0.0616 | $0.308 |
CometAPI’de Vidu Q3 Turbo API saniye başına $0.028’ten başlar. Fiyatlandırma, çözünürlüğe, üretim moduna ve model sürümüne göre değişebilir. Videolar üretmeden önce hesabınızdaki güncel fiyatları kontrol edin.
Yukarıdaki fiyat örnekleri, standart metinden videoya ve görüntüden videoya üretim için geçerlidir. Diğer üretim modları veya referans görsel yapılandırmaları farklı oranlara sahip olabilir. Ek maliyetler (vergiler, depolama, bant genişliği ve tekrarlanan üretim denemeleri dahil) hariç tutulmuştur.
Referans oranlara göre, beş saniyelik 720p bir video Vidu Q3 ile yaklaşık $0.616, Vidu Q3 Turbo ile $0.308 tutarındadır. 540p’de karşılık gelen tahminler $0.280 ve $0.140’tır. Bu rakamlar temsili hesaplamalardır; garanti edilen ücretler değildir. Doğru bütçeleme için tahmini maliyetleri gerçek API kullanımı ve faturalandırma kayıtlarıyla karşılaştırın.
Mevcut Bir Video Üretecini Bolt + CometAPI’ye Nasıl Taşıyabilirsiniz?
| Bileşen | Geçiş eylemi |
|---|---|
| Frontend | Uygulamayı Bolt’ta yeniden kur/aktar |
| Kimlik | Sunucu tarafı gizliye taşı |
| Üretim | CometAPI adaptörü uygula |
| Parametre | Desteklenen model alanlarını eşle |
| İş kimliği | Görev tanımlayıcılarını standartlaştır |
| Durum | Terminal durumları ve yeniden denemeleri işle |
| İndirme | Kontrollü içerik uç noktası kullan |
| Depolama | Tamamlanan sonuçları kalıcılaştır |
| Faturalama | Kotaları ve bütçeyi yeniden hesapla |
Bir sağlayıcı adaptörünün arkasında kademeli olarak geçiş yapın. İstekleri ve çıktı davranışını doğrulayın, küçük bir kullanıcı grubuyla başlayın, başarı oranlarını ve gecikmeyi karşılaştırın ve performans kabul edilebilir olana kadar geri dönüş yolu (rollback) tutun.
SSS
Onaylanmış bir görsel stili bir seri boyunca nasıl tekrarlanabilir hale getirebilirim?
Onaylanmış bir klibi yeniden üretilebilir yaratıcı bir spesifikasyon olarak ele alın: tam istemi, modeli ve rotayı, süreyi, çözünürlüğü, referans varlık sürümünü ve çıktı tanımlayıcısını kaydedin. Küçük bir referans görsel seti ve aydınlatma, lens, palet ve konu detaylarının tutarlı bir açıklamasını kullanın. Neyin yardımcı olduğunu belirleyebilmek için her yinelemede büyük değişkenlerden yalnızca birini değiştirin. Tekrarlanan bir istem aynı çıktıyı garanti etmez; rota bir seed sunuyorsa bunu kaydedin, ancak yine de her klibi bir dizilimden önce süreklilik için gözden geçirin.
Her üretim kısa bir klipken çok çekimli bir hikaye nasıl tutarlı kalır?
Senaryoyu, tek bir net eylemi olan ve tanımlı bir açılış/kapanış kompozisyonuna sahip çekimlere bölün. Karakter görünümü, kostüm, aksesuarlar, ışık ve kamera yönü için bir süreklilik sayfası tutun. Desteklendiği yerde, yalnızca metne güvenmek yerine onaylanmış bir kareyi bir sonraki çekime görsel referans olarak aktarın. Birleştirme, kesme ve sesi dengeleme işlemlerini ayrı bir düzenleme aşamasında yapın. Geçişleri bir dizi olarak gözden geçirin: tek başına güçlü görünen bir klip, yanına yerleştirildiğinde sürekliliği bozabilir.
Tarayıcı, ücretli bir gönderimden sonra zaman aşımına uğrarsa ne olmalı?
Bunu, kaydedilen sağlayıcı görev uzlaştırılana kadar belirsiz bir sonuç olarak ele alın. Yerel bir uygulama istek tanımlayıcısı ve sağlayıcı görev kimliğini saklayın, kullanıcının o işi yeniden açmasına izin verin ve durum kontrollerini sürdürün. Gönderim, kimlik döndürmeden önce zaman aşımına uğradıysa, başka bir girişimi teklif etmeden önce mevcut istek günlüklerini ve kullanım kayıtlarını inceleyin. Bir HTTP zaman aşımının ücret alınmadığı anlamına geldiğini vaat etmeyin. Her yeni ücretli girişimi açık hale getirin ve çift tıklama göndermelerini önlemek için uygulama düzeyinde bir istek kilidi kullanın.
Özel müşteri referans görsellerini kabul etmeden önce neleri gözden geçirmeliyim?
Uygulamanızın hangi varlıkları kabul etmesine izin verildiğine, yükleyicinin bunları kullanmak için izni olup olmadığına ve hangi aşağı akış servislerinin bunları alacağına karar verin. Gizlilik vaat etmeden önce geçerli sağlayıcı şartlarında saklama, günlükleme, silme ve izin verilen kullanımı kontrol edin. Paylaşılan demolar için kişisel veya gizli referans materyalinden kaçının. Sakladıklarınızı minimize edin, özel nesneleri kullanıcı bazında izole edin ve hem yüklemeler hem de oluşturulan dosyalar için bir süre sonu ve silme iş akışı tanımlayın. Özel bir uygulama depolama kovası tek başına bir model sağlayıcısının saklama politikasını açıklamaz.
Arka ucum veya video sağlayıcım değişirse projeyi nasıl taşınabilir tutabilirim?
Arayüzü, sağlayıcıya özgü istek alanları ve durum eşlemeleri ayrı bir adaptör içinde olacak şekilde uygulamaya ait bir iş şemasına bağımlı tutun. Hem dahili iş kimliğinizi hem de sağlayıcı görev kimliğini kaydedin ve bir isteği yeniden oluşturmak için gereken varlıklara referansları koruyun. Bolt tarafından üretilen uygulama kodunu ve yapılandırmayı sürüm kontrolünde tutun. Bir arka ucu değiştirirken, kullanıcı ve iş kayıtlarını taşıyın ve trafiği değiştirmeden önce erişim sınırlarını, imzalı URL’leri ve geçmiş indirmeleri test edin; yalnızca bir kod ihracı, canlı bir veritabanını veya depolanmış video dosyalarını aktarmaz.
Sonuç
Bolt + CometAPI, bir video üretim uygulaması için pratik bir temeldir: Bolt web uygulaması oluşturmayı hızlandırır ve CometAPI desteklenen video model erişimini sağlar. Güvenli bir metinden videoya iş akışıyla başlayın, iş yaşam döngüsünün ve faturalandırma kontrollerinin çalıştığını kanıtlayın, ardından görsel referanslar, üretim geçmişi, model seçimi ve gelişmiş yaratıcı araçlar ekleyin. Frontend etkileşimlerinin ücretli sunucu tarafı çıkarımdan ayrılması, güvenli ve güvenilir bir ürün için esastır.
