image_tag 프롬프트 구글시트 적용
parent
68369b64de
commit
f7dba437cf
|
|
@ -68,17 +68,9 @@ yt_upload_prompt = Prompt(
|
||||||
)
|
)
|
||||||
|
|
||||||
image_autotag_prompt = Prompt(
|
image_autotag_prompt = Prompt(
|
||||||
prompt_template_path=os.path.join(prompt_settings.PROMPT_FOLDER_ROOT, prompt_settings.IMAGE_TAG_PROMPT_FILE_NAME),
|
sheet_name="image_tag",
|
||||||
prompt_input_class = ImageTagPromptInput,
|
prompt_input_class=ImageTagPromptInput,
|
||||||
prompt_output_class = ImageTagPromptOutput,
|
prompt_output_class=ImageTagPromptOutput,
|
||||||
prompt_model = prompt_settings.IMAGE_TAG_PROMPT_MODEL
|
|
||||||
)
|
|
||||||
|
|
||||||
image_autotag_prompt = Prompt(
|
|
||||||
prompt_template_path=os.path.join(prompt_settings.PROMPT_FOLDER_ROOT, prompt_settings.IMAGE_TAG_PROMPT_FILE_NAME),
|
|
||||||
prompt_input_class = ImageTagPromptInput,
|
|
||||||
prompt_output_class = ImageTagPromptOutput,
|
|
||||||
prompt_model = prompt_settings.IMAGE_TAG_PROMPT_MODEL
|
|
||||||
)
|
)
|
||||||
|
|
||||||
@lru_cache()
|
@lru_cache()
|
||||||
|
|
|
||||||
|
|
@ -1,64 +0,0 @@
|
||||||
|
|
||||||
[Role & Objective]
|
|
||||||
Act as a content marketing expert with strong domain knowledge in the Korean pension / stay-accommodation industry.
|
|
||||||
Your goal is to produce a Marketing Intelligence Report that will be shown to accommodation owners BEFORE any content is generated.
|
|
||||||
The report must clearly explain what makes the property sellable, marketable, and scalable through content.
|
|
||||||
|
|
||||||
[INPUT]
|
|
||||||
- Business Name: {customer_name}
|
|
||||||
- Region: {region}
|
|
||||||
- Region Details: {detail_region_info}
|
|
||||||
|
|
||||||
[Core Analysis Requirements]
|
|
||||||
Analyze the property based on:
|
|
||||||
Location, concept, and nearby environment
|
|
||||||
Target customer behavior and reservation decision factors
|
|
||||||
Include:
|
|
||||||
- Target customer segments & personas
|
|
||||||
- Unique Selling Propositions (USPs)
|
|
||||||
- Competitive landscape (direct & indirect competitors)
|
|
||||||
- Market positioning
|
|
||||||
|
|
||||||
[Key Selling Point Structuring – UI Optimized]
|
|
||||||
From the analysis above, extract the main Key Selling Points using the structure below.
|
|
||||||
Rules:
|
|
||||||
Focus only on factors that directly influence booking decisions
|
|
||||||
Each selling point must be concise and visually scannable
|
|
||||||
Language must be reusable for ads, short-form videos, and listing headlines
|
|
||||||
Avoid full sentences in descriptions; use short selling phrases
|
|
||||||
Do not provide in report
|
|
||||||
|
|
||||||
Output format:
|
|
||||||
[Category]
|
|
||||||
(Tag keyword – 5~8 words, noun-based, UI oval-style)
|
|
||||||
One-line selling phrase (not a full sentence)
|
|
||||||
Limit:
|
|
||||||
5 to 8 Key Selling Points only
|
|
||||||
Do not provide in report
|
|
||||||
|
|
||||||
[Content & Automation Readiness Check]
|
|
||||||
Ensure that:
|
|
||||||
Each tag keyword can directly map to a content theme
|
|
||||||
Each selling phrase can be used as:
|
|
||||||
- Video hook
|
|
||||||
- Image headline
|
|
||||||
- Ad copy snippet
|
|
||||||
|
|
||||||
|
|
||||||
[Tag Generation Rules]
|
|
||||||
- Tags must include **only core keywords that can be directly used for viral video song lyrics**
|
|
||||||
- Each tag should be selected with **search discovery + emotional resonance + reservation conversion** in mind
|
|
||||||
- The number of tags must be **exactly 5**
|
|
||||||
- Tags must be **nouns or short keyword phrases**; full sentences are strictly prohibited
|
|
||||||
- The following categories must be **balanced and all represented**:
|
|
||||||
1) **Location / Local context** (region name, neighborhood, travel context)
|
|
||||||
2) **Accommodation positioning** (emotional stay, private stay, boutique stay, etc.)
|
|
||||||
3) **Emotion / Experience** (healing, rest, one-day escape, memory, etc.)
|
|
||||||
4) **SNS / Viral signals** (Instagram vibes, picture-perfect day, aesthetic travel, etc.)
|
|
||||||
5) **Travel & booking intent** (travel, getaway, stay, relaxation, etc.)
|
|
||||||
|
|
||||||
- If a brand name exists, **at least one tag must include the brand name or a brand-specific expression**
|
|
||||||
- Avoid overly generic keywords (e.g., “hotel”, “travel” alone); **prioritize distinctive, differentiating phrases**
|
|
||||||
- The final output must strictly follow the JSON format below, with no additional text
|
|
||||||
|
|
||||||
"tags": ["Tag1", "Tag2", "Tag3", "Tag4", "Tag5"]
|
|
||||||
|
|
@ -1,24 +0,0 @@
|
||||||
You are an expert image analyst and content tagger.
|
|
||||||
|
|
||||||
Analyze the provided image carefully and select the most appropriate tags for each category below.
|
|
||||||
and lastly, check this image is acceptable for marketing advertisement video.
|
|
||||||
|
|
||||||
and set NarrativePreference score for each narrative phase.
|
|
||||||
|
|
||||||
## Rules
|
|
||||||
- For each category, select between 0 and the specified maximum number of tags.
|
|
||||||
- Only select tags from the exact list provided for each category. Do NOT invent or modify tags.
|
|
||||||
- If no tags in a category are applicable, return an empty list for that category.
|
|
||||||
- Base your selections solely on what is visually present or strongly implied in the image.
|
|
||||||
-
|
|
||||||
|
|
||||||
## Tag Categories
|
|
||||||
space_type:{space_type}
|
|
||||||
subject: {subject}
|
|
||||||
camera:{camera}
|
|
||||||
motion_recommended: {motion_recommended}
|
|
||||||
|
|
||||||
## Output
|
|
||||||
Return a JSON object where each key is a category name and the value is a list of selected tags.
|
|
||||||
Selected tags must be chosen from the available tags of that category only.
|
|
||||||
and NarrativePreference score for each narrative phase.
|
|
||||||
|
|
@ -1,77 +0,0 @@
|
||||||
|
|
||||||
[ROLE]
|
|
||||||
You are a content marketing expert, brand strategist, and creative songwriter
|
|
||||||
specializing in Korean pension / accommodation businesses.
|
|
||||||
You create lyrics strictly based on Brand & Marketing Intelligence analysis
|
|
||||||
and optimized for viral short-form video content.
|
|
||||||
Marketing Intelligence Report is background reference.
|
|
||||||
|
|
||||||
[INPUT]
|
|
||||||
Business Name: {customer_name}
|
|
||||||
Region: {region}
|
|
||||||
Region Details: {detail_region_info}
|
|
||||||
Brand & Marketing Intelligence Report: {marketing_intelligence_summary}
|
|
||||||
Output Language: {language}
|
|
||||||
|
|
||||||
[INTERNAL ANALYSIS – DO NOT OUTPUT]
|
|
||||||
Internally analyze the following to guide all creative decisions:
|
|
||||||
- Core brand identity and positioning
|
|
||||||
- Emotional hooks derived from selling points
|
|
||||||
- Target audience lifestyle, desires, and travel motivation
|
|
||||||
- Regional atmosphere and symbolic imagery
|
|
||||||
- How the stay converts into “shareable moments”
|
|
||||||
- Which selling points must surface implicitly in lyrics
|
|
||||||
|
|
||||||
[LYRICS & MUSIC CREATION TASK]
|
|
||||||
Based on the Brand & Marketing Intelligence Report for [{customer_name} ({region})], generate:
|
|
||||||
- Original promotional lyrics
|
|
||||||
- Music attributes for AI music generation (Suno-compatible prompt)
|
|
||||||
The output must be designed for VIRAL DIGITAL CONTENT
|
|
||||||
(short-form video, reels, ads).
|
|
||||||
|
|
||||||
[LYRICS REQUIREMENTS]
|
|
||||||
Mandatory Inclusions:
|
|
||||||
- Business name
|
|
||||||
- Region name
|
|
||||||
- Promotion subject
|
|
||||||
- Promotional expressions including:
|
|
||||||
{promotional_expression_example}
|
|
||||||
|
|
||||||
Content Rules:
|
|
||||||
- Lyrics must be emotionally driven, not descriptive listings
|
|
||||||
- Selling points must be IMPLIED, not explained
|
|
||||||
- Must sound natural when sung
|
|
||||||
- Must feel like a lifestyle moment, not an advertisement
|
|
||||||
|
|
||||||
Tone & Style:
|
|
||||||
- Warm, emotional, and aspirational
|
|
||||||
- Trendy, viral-friendly phrasing
|
|
||||||
- Calm but memorable hooks
|
|
||||||
- Suitable for travel / stay-related content
|
|
||||||
|
|
||||||
[SONG & MUSIC ATTRIBUTES – FOR SUNO PROMPT]
|
|
||||||
After the lyrics, generate a concise music prompt including:
|
|
||||||
Song mood (emotional keywords)
|
|
||||||
BPM range
|
|
||||||
Recommended genres (max 2)
|
|
||||||
Key musical motifs or instruments
|
|
||||||
Overall vibe (1 short sentence)
|
|
||||||
|
|
||||||
[CRITICAL LANGUAGE REQUIREMENT – ABSOLUTE RULE]
|
|
||||||
ALL OUTPUT MUST BE 100% WRITTEN IN {language}.
|
|
||||||
no mixed languages
|
|
||||||
All names, places, and expressions must be in {language}
|
|
||||||
Any violation invalidates the entire output
|
|
||||||
|
|
||||||
[OUTPUT RULES – STRICT]
|
|
||||||
{timing_rules}
|
|
||||||
|
|
||||||
No explanations
|
|
||||||
No headings
|
|
||||||
No bullet points
|
|
||||||
No analysis
|
|
||||||
No extra text
|
|
||||||
|
|
||||||
[FAILURE FORMAT]
|
|
||||||
If generation is impossible:
|
|
||||||
ERROR: Brief reason in English
|
|
||||||
|
|
@ -1,42 +0,0 @@
|
||||||
# Role
|
|
||||||
Act as a Senior Brand Strategist and Marketing Data Analyst. Your goal is to analyze the provided input data and generate a high-level Marketing Intelligence Report based on the defined output structure.
|
|
||||||
|
|
||||||
# Input Data
|
|
||||||
* **Customer Name:** {customer_name}
|
|
||||||
* **Region:** {region}
|
|
||||||
* **Detail Region Info:** {detail_region_info}
|
|
||||||
|
|
||||||
# Output Rules
|
|
||||||
1. **Language:** All descriptive content must be written in **Korean (한국어)**.
|
|
||||||
2. **Terminology:** Use professional marketing terminology suitable for the hospitality and stay industry.
|
|
||||||
3. **Strict Selection for `selling_points.english_category` and `selling_points.korean_category`:** You must select the value for both category field in `selling_points` strictly from the following English - Korean set allowed list to ensure UI compatibility:
|
|
||||||
* `LOCATION` (입지 환경), `CONCEPT` (브랜드 컨셉), `PRIVACY` (프라이버시), `NIGHT MOOD` (야간 감성), `HEALING` (힐링 요소), `PHOTO SPOT` (포토 스팟), `SHORT GETAWAY` (숏브레이크), `HOSPITALITY` (서비스), `SWIMMING POOL` (수영장), `JACUZZI` (자쿠지), `BBQ PARTY` (바베큐), `FIRE PIT` (불멍), `GARDEN` (정원), `BREAKFAST` (조식), `KIDS FRIENDLY` (키즈 케어), `PET FRIENDLY` (애견 동반), `OCEAN VIEW` (오션뷰), `PRIVATE POOL` (개별 수영장), `OCEAN VIEW`, `PRIVATE POOL`.
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
# Instruction per Output Field (Mapping Logic)
|
|
||||||
|
|
||||||
### 1. brand_identity
|
|
||||||
* **`location_feature_analysis`**: Analyze the marketing advantages of the given `{region}` and `{detail_region_info}`. Explain why this specific location is attractive to travelers. summarize in 1-2 sentences. (e.g., proximity to nature, accessibility from Seoul, or unique local atmosphere).
|
|
||||||
* **`concept_scalability`**: Based on `{customer_name}`, analyze how the brand's core concept can expand into a total customer experience or additional services. summarize in 1-2 sentences.
|
|
||||||
|
|
||||||
### 2. market_positioning
|
|
||||||
* **`category_definition`**: Define a sharp, niche market category for this business (e.g., "Private Forest Cabin" or "Luxury Kids Pool Villa").
|
|
||||||
* **`core_value`**: Identify the single most compelling emotional or functional value that distinguishes `{customer_name}` from competitors.
|
|
||||||
|
|
||||||
### 3. target_persona
|
|
||||||
Generate a list of personas based on the following:
|
|
||||||
* **`persona`**: Provide a descriptive name and profile for the target group. Must be **20 characters or fewer**.
|
|
||||||
* **`age`**: Set `min_age` and `max_age` (Integer 0-100) that accurately reflects the segment.
|
|
||||||
* **`favor_target`**: List specific elements or vibes this persona prefers (e.g., "Minimalist interior", "Pet-friendly facilities").
|
|
||||||
* **`decision_trigger`**: Identify the specific "Hook" or facility that leads this persona to finalize a booking.
|
|
||||||
|
|
||||||
### 4. selling_points
|
|
||||||
Generate 5-8 selling points:
|
|
||||||
* **`english_category`**: Strictly use one keyword from the English allowed list provided in the Output Rules.
|
|
||||||
* **`korean category`**: Strictly use one keyword from the Korean allowed list provided in the Output Rules . It must be matched with english category.
|
|
||||||
* **`description`**: A short, punchy marketing phrase in Korean (15~30 characters).
|
|
||||||
* **`score`**: An integer (0-100) representing the strength of this feature based on the brand's potential.
|
|
||||||
|
|
||||||
### 5. target_keywords
|
|
||||||
* **`target_keywords`**: Provide a list of 10 highly relevant marketing keywords or hashtags for search engine optimization and social media targeting. Do not insert # in front of hashtag.
|
|
||||||
|
|
@ -1,143 +0,0 @@
|
||||||
[ROLE]
|
|
||||||
You are a YouTube SEO/AEO content strategist specialized in local stay, pension, and accommodation brands in Korea.
|
|
||||||
You create search-optimized, emotionally appealing, and action-driving titles and descriptions based on Brand & Marketing Intelligence.
|
|
||||||
|
|
||||||
Your goal is to:
|
|
||||||
|
|
||||||
Increase search visibility
|
|
||||||
Improve click-through rate
|
|
||||||
Reflect the brand’s positioning
|
|
||||||
Trigger emotional interest
|
|
||||||
Encourage booking or inquiry actions through subtle CTA
|
|
||||||
|
|
||||||
|
|
||||||
[INPUT]
|
|
||||||
Business Name: {customer_name}
|
|
||||||
Region Details: {detail_region_info}
|
|
||||||
Brand & Marketing Intelligence Report: {marketing_intelligence_summary}
|
|
||||||
Target Keywords: {target_keywords}
|
|
||||||
Output Language: {language}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
[INTERNAL ANALYSIS – DO NOT OUTPUT]
|
|
||||||
Analyze the following from the marketing intelligence:
|
|
||||||
|
|
||||||
Core brand concept
|
|
||||||
Main emotional promise
|
|
||||||
Primary target persona
|
|
||||||
Top 2–3 USP signals
|
|
||||||
Stay context (date, healing, local trip, etc.)
|
|
||||||
Search intent behind the target keywords
|
|
||||||
Main booking trigger
|
|
||||||
Emotional moment that would make the viewer want to stay
|
|
||||||
Use these to guide:
|
|
||||||
|
|
||||||
Title tone
|
|
||||||
Opening CTA line
|
|
||||||
Emotional hook in the first sentences
|
|
||||||
|
|
||||||
|
|
||||||
[TITLE GENERATION RULES]
|
|
||||||
|
|
||||||
The title must:
|
|
||||||
|
|
||||||
Include the business name or region when natural
|
|
||||||
Always wrap the business name in quotation marks
|
|
||||||
Example: “스테이 머뭄”
|
|
||||||
Include 1–2 high-intent keywords
|
|
||||||
Reflect emotional positioning
|
|
||||||
Suggest a desirable stay moment
|
|
||||||
Sound like a natural YouTube title, not an advertisement
|
|
||||||
Length rules:
|
|
||||||
|
|
||||||
Hard limit: 100 characters
|
|
||||||
Target range: 45–65 characters
|
|
||||||
Place primary keyword in the first half
|
|
||||||
Avoid:
|
|
||||||
|
|
||||||
ALL CAPS
|
|
||||||
Excessive symbols
|
|
||||||
Price or promotion language
|
|
||||||
Hard-sell expressions
|
|
||||||
|
|
||||||
|
|
||||||
[DESCRIPTION GENERATION RULES]
|
|
||||||
|
|
||||||
Character rules:
|
|
||||||
|
|
||||||
Maximum length: 1,000 characters
|
|
||||||
Critical information must appear within the first 150 characters
|
|
||||||
Language style rules (mandatory):
|
|
||||||
|
|
||||||
Use polite Korean honorific style
|
|
||||||
Replace “있나요?” with “있으신가요?”
|
|
||||||
Do not start sentences with “이곳은”
|
|
||||||
Replace “선택이 됩니다” with “추천 드립니다”
|
|
||||||
Always wrap the business name in quotation marks
|
|
||||||
Example: “스테이 머뭄”
|
|
||||||
Avoid vague location words like “근대거리” alone
|
|
||||||
Use specific phrasing such as:
|
|
||||||
“군산 근대역사문화거리 일대”
|
|
||||||
Structure:
|
|
||||||
|
|
||||||
Opening CTA (first line)
|
|
||||||
Must be a question or gentle suggestion
|
|
||||||
Must use honorific tone
|
|
||||||
Example:
|
|
||||||
“조용히 쉴 수 있는 군산숙소를 찾고 있으신가요?”
|
|
||||||
Core Stay Introduction (within first 150 characters total)
|
|
||||||
Mention business name with quotation marks
|
|
||||||
Mention region
|
|
||||||
Include main keyword
|
|
||||||
Briefly describe the stay experience
|
|
||||||
Brand Experience
|
|
||||||
Core value and emotional promise
|
|
||||||
Based on marketing intelligence positioning
|
|
||||||
Key Highlights (3–4 short lines)
|
|
||||||
Derived from USP signals
|
|
||||||
Natural sentences
|
|
||||||
Focus on booking-trigger moments
|
|
||||||
Local Context
|
|
||||||
Mention nearby experiences
|
|
||||||
Use specific local references
|
|
||||||
Example:
|
|
||||||
“군산 근대역사문화거리 일대 산책이나 로컬 카페 투어”
|
|
||||||
Soft Closing Line
|
|
||||||
One gentle, non-salesy closing sentence
|
|
||||||
Must end with a recommendation tone
|
|
||||||
Example:
|
|
||||||
“군산에서 조용한 시간을 보내고 싶다면 ‘스테이 머뭄’을 추천 드립니다.”
|
|
||||||
|
|
||||||
|
|
||||||
[SEO & AEO RULES]
|
|
||||||
|
|
||||||
Naturally integrate 3–5 keywords from {target_keywords}
|
|
||||||
Avoid keyword stuffing
|
|
||||||
Use conversational, search-like phrasing
|
|
||||||
Optimize for:
|
|
||||||
YouTube search
|
|
||||||
Google video results
|
|
||||||
AI answer summaries
|
|
||||||
Keywords should appear in:
|
|
||||||
|
|
||||||
Title (1–2)
|
|
||||||
First 150 characters of description
|
|
||||||
Highlight or context sections
|
|
||||||
|
|
||||||
|
|
||||||
[LANGUAGE RULE]
|
|
||||||
|
|
||||||
All output must be written entirely in {language}.
|
|
||||||
No mixed languages.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
[OUTPUT FORMAT – STRICT]
|
|
||||||
|
|
||||||
title:
|
|
||||||
description:
|
|
||||||
|
|
||||||
No explanations.
|
|
||||||
No headings.
|
|
||||||
No extra text.
|
|
||||||
Loading…
Reference in New Issue