סופיה קוסטה (Sofia Costa) היא פרסונת AI עקבית: דמות בדיונית של צלמת נוודת בת 28 שהתוכן שלה, תמונות, קפשנים והאשטגים, נוצר ומתפרסם אוטומטית על ידי בוט. האתגר ההנדסי במרכז: לשמור על אותן פנים בדיוק, אותו קול כתיבה ואותו סגנון ויזואלי בכל פוסט, בלי מגע יד אדם. הפרויקט בפיתוח פעיל, עם אתר בכתובת sofia-costa.com.
מי זו סופיה
הדמות מוגדרת בקובץ persona.json מפורט: אבא איטלקי, אמא ברזילאית, נולדה במילאנו, למדה צילום בלונדון, וכיום נוודת שמטיילת עם תיק עור ומצלמת פילם 35 מ"מ. יש לה מראה מוגדר עד רמת הנמשים ונקודת החן, פלטת לבוש קבועה, וקול כתיבה משלה: אנגלית רגועה, תיאורית, עם הומור יבש ומילה איטלקית או פורטוגזית פה ושם. אפילו רשימת מה שהיא לעולם לא כותבת מוגדרת מראש.
איך זה עובד
צנרת התוכן האוטומטית רצה בשני מצבים. במצב הפרסונה, הזרימה היא:
- סצנה: נבחרת לפי לוח מסע מתוכנן (גאנט ב-SQLite בשלב הבא), עם התאמה לשעה המקומית של המיקום
- יצירת תמונה: Flux 2 Pro דרך Replicate מייצר את הסצנה, עם Gemini כ-Backend חלופי
- עקביות פנים: face_swap.py, סייד-קר Python מבוסס InsightFace, מחליף את הפנים בתמונה לפנים הקבועות של הפרסונה, כך שהזהות זהה בכל פוסט
- קפשן: Claude כותב טקסט בקול של סופיה, עם האשטגים ממאגר מוגדר כולל תיוג מיקום
- הפצה: טלגרם פעיל כיום; וורדפרס ואינסטגרם מתוכננים לשלב 3
מתזמן בודק כל שעה עגולה ומריץ מחזור חדש כשעבר מרווח הזמן המוגדר, ברירת מחדל 17 שעות.
מה מיוחד כאן
יצירת דמות AI חד-פעמית זה קל; הקושי האמיתי הוא עקביות לאורך זמן. כאן הזהות לא תלויה במודל התמונות: המודל מייצר סצנה, ושכבת ה-Face Swap כופה את הפנים הקבועות אחר כך. גם האסטרטגיה מתוכננת בקפידה: שעות פרסום מכוונות לשיא בכמה שווקים בו-זמנית, ומדיניות תוכן כתובה שמכתיבה מה הדמות מפרסמת ומה לא.
הטכנולוגיה מאחורי הקלעים
- שרת: Node.js + Express עם מתזמן Cron
- תמונות: Flux 2 Pro דרך Replicate, עם Gemini כ-fallback
- Face Swap: Python 3.11 + InsightFace בארכיטקטורת סייד-קר
- קפשנים: Anthropic Claude API
- נתונים: SQLite ללוח המסע
- פריסה: Docker רב-שלבי (Node + Python יחד) על Railway עם Volume קבוע
קישורים וסטטוס
האתר: sofia-costa.com. הפרויקט בפיתוח פעיל; הצנרת הבסיסית בנויה, ושלבי הגאנט המלא וההפצה לאינסטגרם ולוורדפרס בדרך.
