Dokumentiert die n8n Workflows für die TQF (The Quiet Foundry) Video-Produktion.
Datenbank: NocoDB video_queu Tabelle → NocoDB Referenz
⚠️ Namenshinweis: Die Varianten mit „(Critique Test)“ im Namen (#7, Production-Zeile „Critique Test“ in #8) sind trotz der Bezeichnung die tatsächlich aktiven Produktions-Workflows. Die gleichnamigen Varianten ohne diesen Zusatz (#6, Standard/Remotion in #8) existieren noch, sind aber inaktiv.
[Topic Suggester] → NocoDB: status=suggested
↓
[TQF Topic Enricher] → NocoDB: status=enriched
↓
[Video Short Generator V2] → Script generieren → Telegram Review
↓
[Script Approval Handler V2] ← Telegram /approve oder /reject
↓
[Video Factory — Main] → status=pending → processing
↓
[Video Factory — Production] → status=done
ID: jHEStt7cAd8KEm4L | Trigger: Manuell oder Schedule
Holt Rows mit status=suggested und brand=TQF, reichert sie an mit:
Setzt status=enriched bei Erfolg, status=enrichment_failed bei Fehler.
ID: 1j4fxPN35CBfaAhx | Trigger: Manuell | Status: ⏸️ Inaktiv (Legacy)
status=enriched, brand=TQF Rows (max 100)status=processing:8088)status=script_rejected direktTelegram Output enthält:
/approve_{id}, /revise_{id}, /reject_{id}ID: wgyVMWoTJRe3p5ca | Trigger: Webhook
Verarbeitet Telegram-Callback-Antworten:
/approve_{id} → status=script_approved/reject_{id} → status=script_rejectedID: 69ooTm8QMBAqxWBc | Trigger: Webhook
Allgemeiner Callback-Handler für Telegram-Buttons.
Setzt status=rejected bei manueller Ablehnung.
ID: 63qSRto5RxQbvu4t | Trigger: Schedule oder Manuell
Erzeugt neue Einträge in der Queue (status=suggested).
Nutzt autoMapInputData → alle Input-Felder werden als NocoDB-Row angelegt.
ID: U9G37MvtqFxGtrbd | Trigger: Schedule (täglich 06:00) | Status: ⏸️ Inaktiv (Legacy, abgelöst durch #7)
status=pending (sort by Id ASC)status=processingCode-Node "Extract First Row" (nach Get Next Pending):
Extrahiert list[0] aus NocoDB-Response → weiterreichend als {job_id, topic, brand, voice_id, source}
ID: haZ4oZEvPLoDZDJH | Trigger: Schedule (täglich 06:00) | Status: ✅ Aktiv — trotz „Test“ im Namen der echte Produktionspfad
Erweiterte Variante mit integrierter Critique-Pipeline:
status=pending Rowstatus=processing| Workflow | ID | Besonderheit | Status |
|---|---|---|---|
| Standard | V7pZxCi4zGdYW1pw |
Basis-Render | ⏸️ Inaktiv (Legacy) |
| Critique Test | rOw3mNGsKnQdSWON |
Mit Critique-Integration | ✅ Aktiv (Produktion) |
| Remotion | hexDc1QkZmHTI3S6 |
Remotion-Renderer | ⏸️ Inaktiv |
Alle drei: Holen Job per job_id, führen Render durch, setzen status=done + video_url.
ID: NihKlQKBlbyewcqx | Trigger: Webhook POST /webhook/tqf-script-generator
Standalone Script-Generator (kein Queue-Bezug):
approved_quotes not empty)ID: HarbeY5vZzJQRFcW | Trigger: Webhook
Ähnlich wie TQF Script Generator, liest ebenfalls approved_quotes aus NocoDB als Anti-Repetition-Schutz.
const body = $input.first().json;
const list = body.list || [];
if (list.length === 0) return [{ json: { id: null } }];
return [{ json: list[0] }];
PATCH https://nocodb.srv859437.hstgr.cloud/api/v1/db/data/noco/pfi05ul615g6757/mnrg8hwdw9m8imk/{{ $json.job_id }}
xc-token: <token>
Body: { "status": "processing" }
| Credential | ID | Verwendung |
|---|---|---|
NocoDB API |
3MQFoD8XB1O0jWUK |
Alle NocoDB HTTP Requests |
OpenRouter account |
5DZJptJ7AiRVB1wp |
LLM API |
Postgres account |
unYHbbych2QTduxe |
RAG-Datenbank |
Telegram Bot |
— | Review-Nachrichten |
Nach n8n-Updates: Alle Credentials in betroffenen Workflows neu verknüpfen (ab- und wieder anwählen → Save).
Alle Workflows wurden von baserow.srv859437.hstgr.cloud auf NocoDB umgestellt:
/api/database/rows/table/434/ → /api/v1/db/data/noco/{baseId}/{tableId}/Authorization: Token → xc-tokenfilter__status__eq=2117 → where=(status,eq,enriched)results[] → list[] (Code Nodes angepasst)