migrate to root dir
This commit is contained in:
36
lib/pipeline/uploader.ts
Normal file
36
lib/pipeline/uploader.ts
Normal file
@@ -0,0 +1,36 @@
|
||||
import { StoryConfig } from "./config";
|
||||
|
||||
export interface YouTubeMetadata {
|
||||
title: string;
|
||||
description: string;
|
||||
tags: string[];
|
||||
}
|
||||
|
||||
export function generateYouTubeMetadata(storyConfig: StoryConfig): YouTubeMetadata {
|
||||
const title = `Bedtime Story • ${storyConfig.metadata.title} (Clean Kids’ Version) | Read-Along Text + AI Voice`;
|
||||
const description = `A kid-friendly, clean version of the classic story, "${storyConfig.metadata.title}" by ${storyConfig.metadata.author}. This read-aloud audiobook features an AI-generated voice and illustrations, with on-screen text to help children read along.
|
||||
|
||||
This content is made for kids and is COPPA-compliant.
|
||||
|
||||
Public domain proof: ${storyConfig.metadata.public_domain_proof_url}`;
|
||||
const tags = [
|
||||
"bedtime story",
|
||||
"read along",
|
||||
"audiobook",
|
||||
"kids story",
|
||||
storyConfig.metadata.title,
|
||||
storyConfig.metadata.author,
|
||||
"clean version",
|
||||
"AI voice",
|
||||
"AI generated",
|
||||
];
|
||||
|
||||
return { title, description, tags };
|
||||
}
|
||||
|
||||
export async function uploadToYouTube(videoPath: string, metadata: YouTubeMetadata): Promise<void> {
|
||||
console.log("Uploading to YouTube...");
|
||||
console.log("Video path:", videoPath);
|
||||
console.log("Metadata:", metadata);
|
||||
console.log("This is a placeholder. YouTube upload is not yet implemented.");
|
||||
}
|
Reference in New Issue
Block a user