generated from fahricansecer/boilerplate-be
@@ -7,6 +7,7 @@ export interface ScriptGenerationInput {
|
||||
targetDurationSeconds: number;
|
||||
language: string;
|
||||
videoStyle: string;
|
||||
cinematicReference?: string;
|
||||
aspectRatio?: string; // PORTRAIT_9_16 | LANDSCAPE_16_9 | SQUARE_1_1
|
||||
referenceUrl?: string;
|
||||
seoKeywords?: string[];
|
||||
@@ -595,7 +596,7 @@ export class VideoAiService {
|
||||
|
||||
const script = this.parseAndValidateScript(rawText);
|
||||
const humanizedScript = this.applyHumanizerPass(script);
|
||||
const enrichedScript = this.enrichVisualPrompts(humanizedScript, input.videoStyle, input.aspectRatio);
|
||||
const enrichedScript = this.enrichVisualPrompts(humanizedScript, input.videoStyle, input.cinematicReference, input.aspectRatio);
|
||||
|
||||
this.logger.log(
|
||||
`✅ Senaryo üretildi — "${enrichedScript.metadata.title}", ` +
|
||||
@@ -791,9 +792,10 @@ export class VideoAiService {
|
||||
private enrichVisualPrompts(
|
||||
script: GeneratedScript,
|
||||
videoStyle: string,
|
||||
cinematicReference?: string,
|
||||
aspectRatio?: string,
|
||||
): GeneratedScript {
|
||||
const styleDNA = this.getStyleDNA(videoStyle);
|
||||
const styleDNA = this.getStyleDNA(videoStyle, cinematicReference);
|
||||
const defaultNegative = 'Avoid: text overlays, watermarks, brand logos, recognizable celebrity faces, distorted anatomy, extra fingers, blurry faces, stock photo aesthetic, oversaturated CGI plastic look, generic clip art, UI elements';
|
||||
|
||||
for (let i = 0; i < script.scenes.length; i++) {
|
||||
@@ -885,14 +887,14 @@ export class VideoAiService {
|
||||
/**
|
||||
* Video stiline göre varsayılan görsel DNA değerlerini döndürür.
|
||||
*/
|
||||
private getStyleDNA(videoStyle: string): StyleDNA {
|
||||
private getStyleDNA(videoStyle: string, cinematicReference?: string): StyleDNA {
|
||||
const dnaMap: Record<string, StyleDNA> = {
|
||||
CINEMATIC: {
|
||||
reference: 'Denis Villeneuve and Roger Deakins cinematography',
|
||||
lighting: 'Dramatic key-and-fill lighting with a single strong motivated source casting deep sculpted shadows.',
|
||||
lens: 'Shot on 35mm anamorphic lens with shallow depth of field f/2.0 and characteristic oval bokeh.',
|
||||
color: 'Teal-and-orange blockbuster color grade with desaturated midtones and crushed blacks.',
|
||||
texture: 'Subtle Kodak Vision3 film grain, anamorphic horizontal lens flare, slight vignette darkening corners.',
|
||||
reference: cinematicReference ? `${cinematicReference} visual style and cinematography` : 'Denis Villeneuve and Roger Deakins cinematography',
|
||||
lighting: cinematicReference ? `Iconic lighting setup matching the ${cinematicReference} cinematic style` : 'Dramatic key-and-fill lighting with a single strong motivated source casting deep sculpted shadows.',
|
||||
lens: cinematicReference ? `Signature camera lens choice and depth of field suitable for ${cinematicReference}` : 'Shot on 35mm anamorphic lens with shallow depth of field f/2.0 and characteristic oval bokeh.',
|
||||
color: cinematicReference ? `Color grading and palette uniquely associated with ${cinematicReference}` : 'Teal-and-orange blockbuster color grade with desaturated midtones and crushed blacks.',
|
||||
texture: cinematicReference ? `Film grain and visual texture evoking the ${cinematicReference} experience` : 'Subtle Kodak Vision3 film grain, anamorphic horizontal lens flare, slight vignette darkening corners.',
|
||||
},
|
||||
DOCUMENTARY: {
|
||||
reference: 'National Geographic and Planet Earth II',
|
||||
|
||||
Reference in New Issue
Block a user