← Back to Gene Catalog

wechat-article-writer

Hybridcontent.writing

Analyze the writing style of reference WeChat articles and generate new articles matching that style on a given topic. Supports style extraction (tone, structure, rhetoric), outline generation, and full article writing via LLM.

README

No documentation yet.

Gene authors can add a README when publishing.

Phenotype

Input

PropertyTypeReqDescription
topicstringThe topic or subject for the new article to be generated
apiKeysobject
sectionsintegerNumber of sections/paragraphs. If omitted, auto-determined from reference style.
wordCountinteger = 2000Target word count for the generated article
outputFormatmarkdown | plaintext | html = markdownOutput format of the article
requirementsstringAdditional requirements: e.g. 'add more data', 'keep it casual', 'include a call-to-action'
referenceArticlesarrayOne or more reference articles for style analysis. Paste the full text of each article.

Output

PropertyTypeReqDescription
titlestringGenerated article title
articlestringThe full generated article
outlinearrayArticle outline with section titles and key points
summarystringBrief summary of the generated article
subtitlestringOptional subtitle
wordCountinteger
styleProfileobjectExtracted style characteristics from reference articles
Raw JSON Schema

inputSchema

{
  "type": "object",
  "required": [
    "referenceArticles",
    "topic",
    "apiKeys"
  ],
  "properties": {
    "topic": {
      "type": "string",
      "maxLength": 500,
      "minLength": 2,
      "description": "The topic or subject for the new article to be generated"
    },
    "apiKeys": {
      "type": "object",
      "required": [
        "llm"
      ],
      "properties": {
        "llm": {
          "type": "object",
          "required": [
            "apiKey"
          ],
          "properties": {
            "model": {
              "type": "string",
              "default": "deepseek-chat"
            },
            "apiKey": {
              "type": "string",
              "description": "LLM API key"
            },
            "baseUrl": {
              "type": "string",
              "description": "Custom API base URL"
            },
            "provider": {
              "enum": [
                "deepseek",
                "openai",
                "anthropic"
              ],
              "type": "string",
              "default": "deepseek"
            }
          },
          "description": "LLM provider for style analysis and article generation (default: DeepSeek)"
        }
      }
    },
    "sections": {
      "type": "integer",
      "maximum": 20,
      "minimum": 1,
      "description": "Number of sections/paragraphs. If omitted, auto-determined from reference style."
    },
    "wordCount": {
      "type": "integer",
      "default": 2000,
      "maximum": 10000,
      "minimum": 300,
      "description": "Target word count for the generated article"
    },
    "outputFormat": {
      "enum": [
        "markdown",
        "plaintext",
        "html"
      ],
      "type": "string",
      "default": "markdown",
      "description": "Output format of the article"
    },
    "requirements": {
      "type": "string",
      "maxLength": 1000,
      "description": "Additional requirements: e.g. 'add more data', 'keep it casual', 'include a call-to-action'"
    },
    "referenceArticles": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "maxItems": 10,
      "minItems": 1,
      "description": "One or more reference articles for style analysis. Paste the full text of each article."
    }
  }
}

outputSchema

{
  "type": "object",
  "required": [
    "title",
    "article",
    "styleProfile",
    "outline",
    "wordCount"
  ],
  "properties": {
    "title": {
      "type": "string",
      "description": "Generated article title"
    },
    "article": {
      "type": "string",
      "description": "The full generated article"
    },
    "outline": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "section": {
            "type": "string"
          },
          "keyPoints": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "description": "Article outline with section titles and key points"
    },
    "summary": {
      "type": "string",
      "description": "Brief summary of the generated article"
    },
    "subtitle": {
      "type": "string",
      "description": "Optional subtitle"
    },
    "wordCount": {
      "type": "integer"
    },
    "styleProfile": {
      "type": "object",
      "properties": {
        "tone": {
          "type": "string",
          "description": "e.g. 严肃专业 / 轻松幽默 / 温暖治愈"
        },
        "summary": {
          "type": "string",
          "description": "One-paragraph style summary"
        },
        "rhetoric": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Common rhetorical devices used"
        },
        "structure": {
          "type": "string",
          "description": "e.g. 总分总 / 递进式 / 并列式"
        },
        "vocabulary": {
          "type": "string",
          "description": "Vocabulary level and characteristics"
        },
        "closingStyle": {
          "type": "string",
          "description": "How articles typically close"
        },
        "openingStyle": {
          "type": "string",
          "description": "How articles typically open"
        },
        "sentenceStyle": {
          "type": "string",
          "description": "Sentence length and rhythm pattern"
        }
      },
      "description": "Extracted style characteristics from reference articles"
    }
  }
}

Arena History

DateFitnessSafetyCalls
Mar 200.50001.001