> ## Documentation Index
> Fetch the complete documentation index at: https://docs.creatify.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Create Video from URL

> APIs that convert any link to a short form video ad.

<iframe width="100%" height="400" src="https://www.youtube.com/embed/dAl8MNoW1jg" title="URL to Video Demo" frameBorder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowFullScreen style={{ borderRadius: '12px', marginBottom: '24px' }} />

## 🚀 Introduction

With Creatify's **URL-to-Video API**, you can instantly turn any webpage into a customized, short-form video ad. Just submit a URL—our system will:

* Automatically scrape content (images, descriptions, etc.)
* Allow you to **customize** the script, visuals, and more
* Output a **ready-to-publish** video in seconds

***

## ⚙️ Quickstart Guide

### ✅ Prerequisites

Before you begin, ensure you have:

* A [Creatify](https://app.creatify.ai) account with **API access**
* Your **API credentials** (see [Quickstart](/quickstart))

***

## 🔗 Step 1: Create a New Link

Use this endpoint to submit a URL and extract metadata.

<CodeGroup>
  ```bash Example Request theme={null}
  curl --request POST \
    --url https://api.creatify.ai/api/links/ \
    --header 'Content-Type: application/json' \
    --header 'X-API-ID: your-api-id' \
    --header 'X-API-KEY: your-api-key' \
    --data '{
      "url": "https://www.amazon.com/ATTITUDE-Mineral-Based-Ingredients-Cruelty-free-Moisturizer/dp/B09JZXHJM7"
    }'
  ```

  ```json Example Response [expandable] theme={null}
  {
      "id": "fb6ef50f-3c84-42a0-8b4b-55fb0a162808",
      "url": "https://www.amazon.com/ATTITUDE-Mineral-Based-Ingredients-Cruelty-free-Moisturizer/dp/B09JZXHJM7",
      "link": {
          "id": "d5ed3593-5753-4fe4-bee5-9bd89b011d7b",
          "url": "https://www.amazon.com/ATTITUDE-Mineral-Based-Ingredients-Cruelty-free-Moisturizer/dp/B09JZXHJM7",
          "title": "ATTITUDE Body Cream, EWG Verified Moisturizer, Vegan Moisturizing Products For Dry Skin, Dermatologically Tested, Olive Leaves, 8 Fl Oz (Pack of 6)",
          "description": "About this item    EWG VERIFIED: clean ingredients and full transparency    INGREDIENTS OF NATURAL ORIGIN : Formulated with 98.8% naturally sourced ingredients* including watercress and Indian cress to revitalize skin    HIGH PERFORMANCE : Enriched with olive leaves extract to soothe and improve the appearance of dry skin    DERMATOLOGICALLY TESTED    VEGAN    \n ›  See more product details",
          "image_urls": [
              "https://m.media-amazon.com/images/I/71P+UHIfT8L._SL1500_.jpg",
              "https://m.media-amazon.com/images/I/71ca2Soc2AL._SL1500_.jpg",
              "https://m.media-amazon.com/images/I/71PHtZce95L._SL1500_.jpg",
              "https://m.media-amazon.com/images/I/71xUtGqbKQL._SL1500_.jpg",
              "https://m.media-amazon.com/images/I/61YO5awH0OL._SL1500_.jpg",
              "https://m.media-amazon.com/images/I/71O3xDdrjTL.jpg",
              "https://m.media-amazon.com/images/I/91BJZbo4nAL.jpg",
              "https://m.media-amazon.com/images/I/61uAyKZ1WFL.jpg"
          ],
          "video_urls": [],
          "reviews": [
              "Fresh scent, not overpowering. Goes on smooth and soaks in and leaves skin soft, not greasy. Love that it's EWG approved so no dangerous ingredients to worry about.",
              "Lightly scented (warm, slightly musk, powdery smell - but all pleasant). Good, creamy consistency and absorbs well. My hands feel well moisturized.",
              "Smells nice. Goes on skin smooth and isn’t greasy. But requires more than other lotions I’ve used for even coverage.",
              "This is a lovely moisturizer with a fantastic, subtle scent. It is very emollient and leaves my skin soft and moisturized. It goes on white, though, and takes a while for that to soak in, so you wouldn't want to put it on right before going out in shorts or a sundress. I highly recommend!",
              "Leaves my skin so smooth and moisturized. I love how light yet still fragrant the scent is. I also love the non-toxic ingredients! Great value for the price!",
              "I have purchased this product multiple times in the past, and was a satisfied customer. It had a nice viscosity and slightly pleasant aroma. As others have noted, recent purchase was different with a viscosity slightly above water (calling this a “body cream” is laughable), and an aroma that is a little off putting, though the scent wears off after a while. Unfortunately, I will not re-order. And the search continues.",
              "Not an overwhelming scent, moisturizes my skin sufficiently, Ewg verified - all good things in my book! Will purchase again - probably in another scent just because I like to try different ones. :)",
              "I liked this a lot. It’s thick and works well on my skin.",
              "Smells great, feels nice on the skin, not greasy. Love that it's a Canadian company",
              "I was looking for something that did not have chemicals and was good for your skin additude gives you that and more",
              "It’s a nice big bottle and doesn’t leave a greasy feel like some lotions do. I use it mostly on my hands and arms, but will rub it on my face too. It’s gentle and has a very mild scent. It’s rated excellent on the Yuka app so I know it’s a healthy product. I will keep buying this.",
              "Great for hands, pleasant light smell. Cruelty free and low EWG!",
              "Works amazing for you skin. Works great to improve the appearance of my eczema. It's not a cure, but it will improve the appearance and slow the spread. Perhaps in time it will cure.  But excellent product."
          ],
          "logo_url": null,
          "ai_summary": "ATTITUDE Body Cream is an 8 Fl Oz moisturizer, available in a pack of 6, designed for dry skin with 98.8% naturally sourced ingredients, including watercress, Indian cress, and olive leaves extract to soothe, revitalize, and improve skin appearance. This vegan, dermatologically tested formula is EWG Verified for clean ingredients and full transparency, providing a high-performance, nourishing solution for moisturizing dry skin.",
          "ai_target_audiences": [
              "Eco-conscious skincare users",
              "Vegan beauty product buyers",
              "Dry skin sufferers",
              "Natural ingredient seekers",
              "Sensitive skin caretakers",
              "Health-focused consumers",
              "Cruelty-free product supporters"
          ]
      },
      "credits_used": 1
  }
  ```
</CodeGroup>

> ⚠️ Save the `id` — you'll need it to generate the video.

***

## ✏️ Step 2: (Optional) Update the Link

Improve video quality by refining metadata.

### Why Update?

* Add a **logo** for better branding and a CTA
* Remove **low-quality** images/videos
* Enhance or rewrite the **description** for clarity
* Highlight specific **features or offers**

<CodeGroup>
  ```bash Request theme={null}
  curl --request PUT \
    --url https://api.creatify.ai/api/links/{id}/ \
    --header 'Content-Type: application/json' \
    --header 'X-API-ID: your-api-id' \
    --header 'X-API-KEY: your-api-key' \
    --data '{
      "title": "Your Custom Title",
      "description": "Highlight key features or promo messages.",
      "image_urls": ["https://example.com/image.jpg"],
      "video_urls": ["https://example.com/video.mp4"],
      "logo_url": "https://example.com/logo.png"
    }'
  ```
</CodeGroup>

***

## 🎮 Step 3: Create a Video from Link

### 🛠️ Customization Options

Refer to the [URL to Video API reference](/api-reference/link_to_videos/post-apilink_to_videos) for all enum values.

> ⚠️ Costs 4 credits per 30s.

### 📄 Request

<CodeGroup>
  ```bash Example Request theme={null}
  curl --request POST \
    --url https://api.creatify.ai/api/link_to_videos/ \
    --header 'Content-Type: application/json' \
    --header 'X-API-ID: your-api-id' \
    --header 'X-API-KEY: your-api-key' \
    --data '{
      "link": "fb6ef50f-3c84-42a0-8b4b-55fb0a162808",
      "visual_style": "DynamicProductTemplate",
      "script_style": "DontWorryWriter",
      "aspect_ratio": "9x16",
      "video_length": 15,
      "language": "en",
      "target_audience": "marketing experts who believe in AI",
      "target_platform": "Tiktok",
      "model_version": "aurora_v1_fast"
    }'
  ```

  ```json Example Response [expandable] theme={null}
  {
      "id": "81123b51-aa76-467e-a6c4-0e5ca719a932",
      "name": null,
      "target_platform": "Tiktok",
      "target_audience": "marketing experts who believe in AI",
      "language": "en",
      "video_length": 15,
      "aspect_ratio": "9x16",
      "script_style": "DontWorryWriter",
      "visual_style": "DynamicProductTemplate",
      "override_avatar": null,
      "override_voice": null,
      "override_script": null,
      "background_music_url": null,
      "background_music_volume": null,
      "voiceover_volume": null,
      "webhook_url": null,
      "link": "fb6ef50f-3c84-42a0-8b4b-55fb0a162808",
      "media_job": null,
      "status": "pending",
      "failed_reason": null,
      "is_hidden": false,
      "video_output": null,
      "video_thumbnail": null,
      "credits_used": 0,
      "progress": 0,
      "no_background_music": false,
      "no_caption": false,
      "no_emotion": false,
      "no_cta": false,
      "no_stock_broll": false,
      "preview": null,
      "previews": [],
      "caption_style": null,
      "caption_offset_x": null,
      "caption_offset_y": null,
      "caption_setting": null
  }
  ```
</CodeGroup>

> ⏳ Video status starts as `pending`. You’ll will use the id (81123b51-aa76-467e-a6c4-0e5ca719a932 in this example) to check progress.

***

## 📡 Step 4: Check Video Status

Use this endpoint to check if the video is ready and retrieve the final output.

<CodeGroup>
  ```bash Example Request theme={null}
  curl --request GET \
    --url https://api.creatify.ai/api/link_to_videos/81123b51-aa76-467e-a6c4-0e5ca719a932/ \
    --header 'X-API-ID: your-api-id' \
    --header 'X-API-KEY: your-api-key'
  ```

  ```json Example Response [expandable] theme={null}
  {
      "id": "81123b51-aa76-467e-a6c4-0e5ca719a932",
      "name": null,
      "target_platform": "Tiktok",
      "target_audience": "marketing experts who believe in AI",
      "language": "en",
      "video_length": 15.0,
      "aspect_ratio": "9x16",
      "script_style": "DontWorryWriter",
      "visual_style": "DynamicProductTemplate",
      "override_avatar": null,
      "override_voice": null,
      "override_script": null,
      "background_music_url": null,
      "background_music_volume": null,
      "voiceover_volume": null,
      "webhook_url": null,
      "link": "fb6ef50f-3c84-42a0-8b4b-55fb0a162808",
      "media_job": "2b601ae6-ef8e-42f9-add3-8fccd6aa6a0d",
      "status": "done",
      "failed_reason": null,
      "is_hidden": false,
      "video_output": "https://s3.us-west-2.amazonaws.com/remotionlambda-uswest2-30tewi8y5c/renders/sqa7ihy9pb/output.mp4",
      "video_thumbnail": "https://dpbavq092lwjh.cloudfront.net/amzptv/2b601ae6-ef8e-42f9-add3-8fccd6aa6a0d-1747848597/thumbnail.jpg",
      "credits_used": 5,
      "progress": 1,
      "no_background_music": false,
      "no_caption": false,
      "no_emotion": false,
      "no_cta": false,
      "no_stock_broll": false,
      "preview": "https://app.creatify.ai/preview?layout=videos/20250521/3da0bb41-9278-4483-87d5-c26b4198b670.json",
      "previews": [],
      "caption_style": null,
      "caption_offset_x": null,
      "caption_offset_y": null,
      "caption_setting": null,
      "visual_styles": [],
      "aspect_ratios": []
  }
  ```
</CodeGroup>

> ⏳ You will find the status to be `done` when finished. Meanwhile you can find the video output in `video_output` field.

***

## 🎯 Summary

| Step          | Endpoint                                                                        |
| ------------- | ------------------------------------------------------------------------------- |
| Create Link   | `POST /api/links/`                                                              |
| Update Link   | `PUT /api/links/{id}/`                                                          |
| Create Video  | `POST /api/link_to_videos/`                                                     |
| Check Video   | `GET /api/link_to_videos/{id}/`                                                 |
| API Reference | [Link-to-Video Reference](/api-reference/link_to_videos/post-apilink_to_videos) |

***

## 🤝 Need Help?

If you run into any issues, check out our [API Reference](/api-reference) or contact [api@creatify.ai](mailto:api@creatify.ai).
