version: 0.4.0 vars: {} graph: id: spring_text_image_EN description: 'Launch-driven Spring Festival content factory: plan -> parallel gen -> edit -> human review -> revise (gpt-4o).' is_majority_voting: false start: - Planner nodes: - id: Planner type: agent config: name: gpt-4o provider: openai role: | You are a Spring Festival social media strategist. The content entered at Launch is the only requirement for this task. Please output a creation Brief (Markdown) that MUST include: ## Target Audience ## Core Communication Points (3) ## Style & Taboos ## Required Elements ## Optional Creative Hooks (2) ## One-Sentence Writing Task Summary base_url: ${BASE_URL} api_key: ${API_KEY} params: temperature: 0.6 tooling: [] thinking: null memories: [] retry: null description: '' context_window: 0 log_output: true - id: Copywriter type: agent config: name: gpt-4o provider: openai role: | You are the official account copywriter. Based on the Brief, produce a Spring Festival post ready for publication (Markdown). Requirements: - 1 headline (eye-catching but not clickbait) - 4–6 short paragraphs (fast rhythm, concise) - At least 3 highly shareable punchlines (in **bold**) - 2 interaction prompts at the end (e.g., comment topic / poll / share CTA) base_url: ${BASE_URL} api_key: ${API_KEY} params: temperature: 0.7 tooling: [] thinking: null memories: [] retry: null description: '' context_window: 0 log_output: true - id: Blessing type: agent config: name: gpt-4o provider: openai role: | You are a Spring Festival greeting writer. Based on the Brief, generate 12 short greetings (Markdown list): - 4 warm - 4 humorous - 4 traditional/Chinese-style - Each greeting must be no more than 18 words - Avoid repetitive expressions base_url: ${BASE_URL} api_key: ${API_KEY} params: temperature: 0.85 tooling: [] thinking: null memories: [] retry: null description: '' context_window: 0 log_output: true - id: Storyteller type: agent config: name: gpt-4o provider: openai role: | You are a short story writer. Based on the Brief, write a 300–500 word Spring Festival short story (Markdown). Requirements: - Include one memorable element (twist / detail / punchline) - End with reunion, blessing, or a sense of new beginning base_url: ${BASE_URL} api_key: ${API_KEY} params: temperature: 0.85 tooling: [] thinking: null memories: [] retry: null description: '' context_window: 0 log_output: true - id: PosterPrompt type: agent config: name: gpt-4o provider: openai role: | Based on the "Final Publication Package", generate a prompt pack for image generation. Requirements: - 3 style directions (Traditional Chinese / Modern Minimalist / Hand-drawn Illustration) - For each direction provide: - Positive prompt - Negative prompt - Suggested aspect ratio - Main title / subtitle layout suggestions Output in Markdown. base_url: ${BASE_URL} api_key: ${API_KEY} params: temperature: 0.6 tooling: [] thinking: null memories: [] retry: null description: '' context_window: 0 log_output: true - id: Editor1 type: agent config: name: gpt-4o provider: openai role: | You are the chief editor. You will receive: Brief + Post + Greetings + Short Story. Please integrate them into an "Official Publication Package (Draft)" (Markdown), with the following fixed structure: # Headline Options (3) # Final Main Post (1) # Poster Short Lines (Select 6 from the greetings) # Visual/Layout Suggestions (5) # Comment Section Topics (3) Ensure unified tone and make it directly publishable. base_url: ${BASE_URL} api_key: ${API_KEY} params: temperature: 0.5 tooling: [] thinking: null memories: [] retry: null description: '' context_window: 10 log_output: true - id: HumanReview type: human config: description: | Please review the "Official Publication Package (Draft)": - If satisfied, enter: ACCEPT (the workflow will end) - Otherwise, provide revision feedback (be as specific as possible) description: '' context_window: 10 log_output: true - id: Editor2 type: agent config: name: gpt-4o provider: openai role: | You are the second-round polishing editor. You will receive the draft package + human revision feedback. Please output the revised final publication package (Markdown). Requirements: - Fully preserve the structure (Headline Options / Final Post / Poster Lines / Visual Suggestions / Comment Topics) - Address each revision point explicitly - Ensure consistent tone and publish-ready quality - If structure is missing or inconsistent, fix and complete it base_url: ${BASE_URL} api_key: ${API_KEY} params: temperature: 0.45 tooling: [] thinking: null memories: [] retry: null description: '' context_window: 10 log_output: true - id: ImageGen type: agent config: name: gemini-2.5-flash-image-preview provider: openai role: | Based on the provided poster prompt schemes, generate 1 Spring Festival themed poster image for each scheme. If the poster involves text, ensure text accuracy. If text accuracy cannot be guaranteed, avoid including text. If aspect ratio parameters are supported, prioritize the suggested ratio; otherwise use 1:1. Output the result directly in the system-returned format. base_url: ${BASE_URL} api_key: ${API_KEY} params: {} tooling: [] thinking: null memories: [] retry: null input_mode: messages description: '' context_window: 0 log_output: true edges: - from: Planner to: Copywriter - from: Planner to: Blessing - from: Planner to: Storyteller - from: Planner to: Editor1 - from: Copywriter to: Editor1 - from: Blessing to: Editor1 - from: Storyteller to: Editor1 - from: Editor2 to: PosterPrompt - from: PosterPrompt to: ImageGen - from: HumanReview to: Editor2 trigger: true condition: type: keyword config: any: [] none: - ACCEPT regex: [] case_sensitive: true carry_data: true keep_message: true clear_context: true clear_kept_context: false process: null dynamic: null - from: Editor1 to: HumanReview trigger: true condition: null carry_data: true keep_message: true clear_context: true clear_kept_context: false process: null dynamic: null