• 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
4
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
/
README.md
Code
/
README.md
Search
10/2/2025
Viewing readonly version of main branch: v88
View latest version
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://markdownifyurl.val.run/ for converting web pages to markdown
    • https://screenshot.val.run/ for taking page screenshots
  5. The application requires https://www.npmjs.com/package/@google/genai

Summary Generation

The app uses Google's gemini-flash-latest

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
FeaturesVersion controlCode intelligenceCLIMCP
Use cases
TeamsAI agentsSlackGTM
DocsShowcaseTemplatesNewestTrendingAPI examplesNPM packages
PricingNewsletterBlogAboutCareers
We’re hiring!
Brandhi@val.townStatus
X (Twitter)
Discord community
GitHub discussions
YouTube channel
Bluesky
Open Source Pledge
Terms of usePrivacy policyAbuse contact
Β© 2026 Val Town, Inc.