37 lines
1.3 KiB
TypeScript
37 lines
1.3 KiB
TypeScript
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.");
|
||
}
|