Public
Like
veo-feed
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.
index.ts
https://paulkinlan--5a85bb5e9f7911f0be2e0224a6c84d84.web.val.run
A web application that converts URLs into TikTok-style videos using AI-generated summaries and screenshots.
- 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
├── 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
POST /api/videos/generate
- Generate video from URLGET /api/videos
- Get all generated videosGET /api/videos/:id
- Get specific videoDELETE /api/videos/:id
- Delete video
GEMINI_API_KEY
- Google Gemini API key for summaries and video generation (required)
- Get a Gemini API key from Google AI Studio
- Add the
GEMINI_API_KEY
environment variable in Val Town - The application uses the Veo 3.0 Fast Generate Preview model for video generation
- The application uses external services:
https://markdownify.val.run/
for converting web pages to markdownhttps://screenshot.val.run/
for taking page screenshots
The app uses Google's Veo 3.0 model (veo-3.0-fast-generate-preview
) to create TikTok-style videos:
- Content Processing: Fetches markdown and screenshots from URLs
- AI Summary: Uses Gemini to create engaging summaries
- Video Generation: Uses Veo to create vertical (9:16) videos under 30 seconds
- Polling: Monitors video generation progress (up to 10 minutes)
- Fallback: Uses placeholder video if generation fails
- Enter URLs in the input form
- Videos are generated automatically using:
- Markdown content from the URL
- Screenshot of the page
- AI-generated summary
- Custom video generation prompt
- Scroll through the TikTok-style feed
- Customize video prompts in the settings