This commit is contained in:
arys
2026-03-26 15:10:30 +05:00
parent 46bf6adc04
commit 51bf9afe1b
@@ -747,68 +747,38 @@ public class MarketingStrategyV3Service {
String niche, String brand, String niche, String brand,
String city, String platform) { String city, String platform) {
// Первые 100 символов текста поста — для контекста сцены String speechScript = postText.length() > 250 ? postText.substring(0, 250).trim() : postText.trim();
String sceneContext = postText.length() > 100
? postText.substring(0, 100).trim() : postText.trim();
// Убираем кириллицу из контекста для промпта — оставляем только смысл
// (Переводить не нужно — Veo 3 enhance сам улучшит EN-промпт)
// Описываем тему своими словами на EN
// Определяем тип сцены по теме поста
String sceneType = resolveSceneType(theme, niche); String sceneType = resolveSceneType(theme, niche);
// Стиль и звук по платформе
String style, audio; String style, audio;
switch (platform) { switch (platform) {
case "tiktok" -> { case "tiktok" -> {
style = "dynamic TikTok Reels style, fast energetic cuts, trendy transitions, " + style = "dynamic TikTok Reels style, fast energetic cuts, trendy transitions, handheld camera movement, authentic street style";
"handheld camera movement, authentic street style"; audio = "upbeat modern music, energetic rhythm, suitable for young Kazakh audience";
audio = "upbeat modern music, energetic rhythm, suitable for young Kazakh audience, " +
"no lyrics, ambient background";
} }
case "telegram" -> { case "telegram" -> {
style = "clean professional look, steady camera, informative documentary style"; style = "clean professional look, steady camera, informative documentary style";
audio = "calm soft background music, subtle ambient sounds, professional feel"; audio = "calm soft background music, subtle ambient sounds, professional feel";
} }
default -> { // instagram default -> {
style = "cinematic Instagram Reels, smooth gimbal movement, warm color grading, " + style = "cinematic Instagram Reels, smooth gimbal movement, warm color grading, aesthetic lifestyle composition, shallow depth of field";
"aesthetic lifestyle composition, shallow depth of field"; audio = "modern soft background music, atmospheric ambient, natural environment sounds";
audio = "modern soft background music, atmospheric ambient, " +
"natural environment sounds, warm and inviting";
} }
} }
return String.format( return String.format(
// СЦЕНА
"Vertical 9:16 cinematic video for %s business in %s, Kazakhstan. " + "Vertical 9:16 cinematic video for %s business in %s, Kazakhstan. " +
"Business niche: %s. Brand: %s. " + "Business niche: %s. Brand: %s. " +
"Scene: %s. " + "Scene: %s. " +
"Visual concept: %s. " + "Visual concept: %s. " +
// ЛЮДИ "People: Kazakh appearance, natural authentic look, real emotions, perfect anatomy, photorealistic. " +
"People: Kazakh appearance, natural authentic look, " +
"real emotions, perfect anatomy, photorealistic. " +
// СТИЛЬ
"Style: %s. " + "Style: %s. " +
"Quality: 8K resolution, professional lighting, sharp focus, " + "Quality: 8K resolution, professional lighting, sharp focus, no blur, no CGI, photorealistic, commercial grade. " +
"no blur, no CGI, photorealistic, commercial grade. " +
// ЗВУК — явно для Veo 3
"Sound design: %s. " + "Sound design: %s. " +
// ЗАПРЕТЫ — критично важны "CRITICAL AUDIO INSTRUCTION: The narrator, voiceover, or characters MUST speak strictly in the RUSSIAN language with natural intonation. " +
"STRICT RULES: " + "Use the following Russian text as the exact spoken dialogue/voiceover script: \"%s\". " +
"NO text on screen. " + "STRICT RULES: NO text on screen. NO subtitles. NO captions. NO watermarks. NO on-screen graphics. NO logos overlaid. NO artificial CGI look.",
"NO subtitles. " + platform, city, niche, brand, sceneType, theme, style, audio, speechScript
"NO captions. " +
"NO watermarks. " +
"NO on-screen graphics. " +
"NO logos overlaid. " +
"NO artificial CGI look.",
platform, city,
niche, brand,
sceneType,
theme,
style,
audio
); );
} }