Skip to main content
This guide shows you how to convert blog articles and web pages into engaging videos. Simply provide a URL and the API automatically extracts content, selects visuals, and creates a complete video - perfect for repurposing written content for social media and video platforms.

What You’ll Learn

URL to Video

Convert blog URLs to video storyboards automatically

Auto Extraction

Automatic content extraction and processing

Smart Visuals

AI-selected visuals matched to your content

Job Monitoring

Track video creation progress in real-time

Before You Begin

Make sure you have:
  • A Pictory API key (get one here)
  • Node.js or Python installed on your machine
  • A publicly accessible blog article or webpage URL
  • Basic understanding of web content structure
npm install axios

How Blog-to-Video Works

When you convert a blog URL to video:
  1. URL Access - The API accesses your provided URL
  2. Content Extraction - Text content is scraped from the web page
  3. Content Analysis - The content is analyzed for key topics and themes
  4. Scene Generation - Content is intelligently split into logical video scenes
  5. Visual Selection - Appropriate stock visuals are matched to each scene
  6. Caption Generation - Subtitles are created from the extracted text
  7. Video Rendering - The final video is assembled and rendered
The URL must be publicly accessible without requiring login, subscription, or paywall access. The API uses intelligent parsing to extract the main article content while filtering out ads and sidebars.

Complete Example

import axios from "axios";

const API_BASE_URL = "https://api.pictory.ai/pictoryapis";
const API_KEY = "YOUR_API_KEY";

// Sample blog URL - replace with your own blog URL
const BLOG_URL = "https://blog.pictory.ai/10-best-text-to-video-ai-tools/";

async function createBlogUrlToVideo() {
  try {
    console.log("Creating video from blog URL...");

    const response = await axios.post(
      `${API_BASE_URL}/v2/video/storyboard/render`,
      {
        videoName: "blog_url_to_video",
        url: BLOG_URL,                     // Blog article URL
      },
      {
        headers: {
          "Content-Type": "application/json",
          Authorization: API_KEY,
        },
      }
    );

    const jobId = response.data.data.jobId;
    console.log("✓ Video creation started!");
    console.log("Job ID:", jobId);

    // Monitor progress
    console.log("\nMonitoring video creation...");
    let jobCompleted = false;
    let jobResult = null;

    while (!jobCompleted) {
      const statusResponse = await axios.get(
        `${API_BASE_URL}/v1/jobs/${jobId}`,
        {
          headers: { Authorization: API_KEY },
        }
      );

      const status = statusResponse.data.data.status;
      console.log("Status:", status);

      if (status === "completed") {
        jobCompleted = true;
        jobResult = statusResponse.data;
        console.log("\n✓ Video from blog URL is ready!");
        console.log("Video URL:", jobResult.data.videoURL);
      } else if (status === "failed") {
        throw new Error("Video creation failed: " + JSON.stringify(statusResponse.data));
      }

      await new Promise(resolve => setTimeout(resolve, 5000));
    }

    return jobResult;
  } catch (error) {
    console.error("Error:", error.response?.data || error.message);
    throw error;
  }
}

createBlogUrlToVideo();

Understanding the Parameters

ParameterTypeRequiredDescription
videoNamestringYesA descriptive name for your video project
urlstringYesThe URL of the blog article or webpage to convert

Supported Content Types

The API can extract and convert content from:
Content TypeExamplesProcessing Notes
Blog PostsPersonal blogs, company blogs, Medium articlesBest results with 300-2000 word articles
News ArticlesOnline news sites, magazine articlesMain content extracted, ads filtered out
WordPress SitesWordPress-powered blogs and sitesClean extraction from WordPress structure
Content PlatformsMedium, Substack, LinkedIn articlesPlatform-specific parsing for best results
Static Web PagesHTML pages, landing pagesWorks with well-structured HTML content
Access Requirements: The URL must be publicly accessible without login, subscription, or paywall. Password-protected, members-only, or paywalled content cannot be extracted.

Common Use Cases

Content Marketing and Social Media

{
  videoName: "latest_blog_post_social",
  url: "https://yourblog.com/latest-marketing-tips"
}
Result: Blog content repurposed as video for social media sharing.

News and Updates

{
  videoName: "company_news_announcement",
  url: "https://company.com/news/quarterly-update"
}
Result: News article transformed into shareable video format.

Educational Content

{
  videoName: "tutorial_how_to_guide",
  url: "https://knowledge-base.com/how-to-use-feature"
}
Result: Tutorial article converted to video for better engagement.

Product Announcements

{
  videoName: "new_product_launch",
  url: "https://blog.company.com/introducing-new-product"
}
Result: Product announcement blog as promotional video.

Best Practices

Select articles that convert well to video:
  • Clear Structure: Articles with headings and paragraphs work best
  • Appropriate Length: 300-2000 words is ideal for video conversion
  • Rich Content: Articles with descriptive text help AI select better visuals
  • Topic Focus: Focused articles on specific topics convert better than general overviews
  • Visual Language: Descriptive, visual language helps the AI match relevant stock footage
Ensure your URL will work:
  • Public Access: URL must be accessible without login (test in incognito browser)
  • No Paywalls: Content behind paywalls cannot be extracted
  • Clean URLs: Use the article URL, not shortened or tracking URLs
  • Direct Link: Link directly to the article, not category or archive pages
  • Active Page: Ensure the page hasn’t been deleted or moved
Prepare your articles for best conversion:
  • Descriptive Text: Use visual, descriptive language in your writing
  • Logical Sections: Break content into clear sections with headings
  • Concise Paragraphs: Shorter paragraphs (3-5 sentences) work better
  • Key Points: Highlight main ideas that translate well to visual scenes
  • Active Voice: Use active voice for more engaging narration
Consider appropriate video duration:
  • Short Articles (300-500 words): 1-2 minute videos
  • Medium Articles (500-1000 words): 2-4 minute videos
  • Long Articles (1000-2000 words): 4-6 minute videos
  • Very Long Articles (2000+ words): May be automatically summarized
  • Social Media: Consider extracting key sections for shorter clips
Experiment to find what works best:
  • Start Simple: Begin with shorter, well-structured articles
  • Compare Platforms: Different blogging platforms may yield different results
  • Review Output: Check generated videos to refine your content strategy
  • Iterate: Use insights from generated videos to improve future articles
  • Document Success: Note which article types and structures work best

Troubleshooting

Problem: The API cannot access or parse content from the URL.Solution:
  • Verify the URL is publicly accessible (test in incognito/private browser)
  • Check that the page doesn’t require login or subscription
  • Ensure the URL points to an article, not a homepage or category page
  • Try removing URL parameters (everything after ? in the URL)
  • Verify the page loads correctly and contains text content
  • Check if the site has anti-scraping protection or blocking
Problem: Generated video doesn’t include all the article content.Solution:
  • Check if the article has substantial text content (300+ words)
  • Verify the URL points to the full article, not a preview or excerpt
  • Very long articles may be automatically summarized - consider this expected
  • Ensure article structure is clear (the API filters out ads and navigation)
  • Try a different article to test if it’s a page-specific issue
Problem: Selected stock visuals seem unrelated to article content.Solution:
  • Ensure article contains descriptive, visual language
  • Add more context about key concepts in the article
  • The AI selects visuals based on extracted text - review article wording
  • Consider that visuals may be thematic rather than literal
  • Try articles with clearer, more specific topics
Problem: Job status shows “in-progress” for extended periods.Solution:
  • Blog-to-video processing time depends on article length
  • Expected times:
    • Short articles (300-500 words): 5-10 minutes
    • Medium articles (500-1000 words): 10-15 minutes
    • Long articles (1000-2000 words): 15-25 minutes
  • Complex page structures may take longer to parse
  • Check status every 5-10 seconds (not more frequently)
  • If stuck for over 30 minutes, contact support with job ID
Problem: Cannot extract content from subscription or paywall-protected articles.Solution:
  • The API cannot access paywalled or protected content
  • Options:
    • Copy article text and use the Text to Video endpoint instead
    • Publish a public version of the article for video conversion
    • Use article preview/excerpt if publicly available
  • For members-only content, make it temporarily public for processing

Next Steps

Enhance your blog-to-video content with these features:

API Reference

For complete technical details, see: