• Townie
    AI
  • Blog
  • Docs
  • Pricing
  • We’re hiring!
Log inSign up
paulkinlan

paulkinlan

veo-feed

Public
Like
veo-feed
Home
Code
5
backend
3
frontend
4
shared
2
README.md
test-db.ts
Branches
1
Pull requests
Remixes
History
Environment variables
1
Val Town is a collaborative website to build and scale JavaScript apps.
Deploy APIs, crons, & store data – all from the browser, and deployed in milliseconds.
Sign up now
Code
/
Code
/
Search
index.ts
https://paulkinlan--5a85bb5e9f7911f0be2e0224a6c84d84.web.val.run
README.md

TikTok-Style Video Feed Generator

A web application that converts URLs into TikTok-style videos using AI-generated summaries and screenshots.

Features

  • Convert any URL into a video using Veo AI
  • Fetch markdown content and screenshots from URLs
  • Generate AI summaries using Gemini API
  • TikTok-style scrolling feed with scroll-snap
  • Customizable video generation prompts

Project Structure

├── backend/
│   ├── index.ts           # Main Hono server
│   ├── routes/
│   │   ├── videos.ts      # Video generation endpoints
│   │   └── static.ts      # Static file serving
│   └── database/
│       ├── migrations.ts  # SQLite schema
│       └── queries.ts     # Database operations
├── frontend/
│   ├── index.html         # Main HTML template
│   ├── index.tsx          # React app entry point
│   ├── components/
│   │   ├── App.tsx        # Main app component
│   │   ├── VideoFeed.tsx  # TikTok-style feed
│   │   ├── VideoCard.tsx  # Individual video component
│   │   └── URLInput.tsx   # URL input form
│   └── style.css          # Custom styles
└── shared/
    ├── types.ts           # Shared TypeScript types
    └── utils.ts           # Shared utility functions

API Endpoints

  • POST /api/videos/generate - Generate video from URL
  • GET /api/videos - Get all generated videos
  • GET /api/videos/:id - Get specific video
  • DELETE /api/videos/:id - Delete video

Environment Variables

  • GEMINI_API_KEY - Google Gemini API key for summaries and video generation (required)

Setup Instructions

  1. Get a Gemini API key from Google AI Studio
  2. Add the GEMINI_API_KEY environment variable in Val Town
  3. The application uses the Veo 3.0 Fast Generate Preview model for video generation
  4. The application uses external services:
    • https://markdownify.val.run/ for converting web pages to markdown
    • https://screenshot.val.run/ for taking page screenshots

Video Generation

The app uses Google's Veo 3.0 model (veo-3.0-fast-generate-preview) to create TikTok-style videos:

  1. Content Processing: Fetches markdown and screenshots from URLs
  2. AI Summary: Uses Gemini to create engaging summaries
  3. Video Generation: Uses Veo to create vertical (9:16) videos under 30 seconds
  4. Polling: Monitors video generation progress (up to 10 minutes)
  5. Fallback: Uses placeholder video if generation fails

Usage

  1. Enter URLs in the input form
  2. Videos are generated automatically using:
    • Markdown content from the URL
    • Screenshot of the page
    • AI-generated summary
    • Custom video generation prompt
  3. Scroll through the TikTok-style feed
  4. Customize video prompts in the settings
HTTP
  • index.ts
    paulkinlan--5a…84.web.val.run
Code
backendfrontendsharedREADME.mdtest-db.ts
FeaturesVersion controlCode intelligenceCLI
Use cases
TeamsAI agentsSlackGTM
ExploreDocsShowcaseTemplatesNewestTrendingAPI examplesNPM packages
PricingNewsletterBlogAboutCareers
We’re hiring!
Brandhi@val.townStatus
X (Twitter)
Discord community
GitHub discussions
YouTube channel
Bluesky
Terms of usePrivacy policyAbuse contact
© 2025 Val Town, Inc.