搜索 MotionVideo

搜索视频、创作者、工具、创意团队…

Get the catalog

Every gallery video with its prompt or skill, creator, model, stack, effort, colours and media URLs, plus the videos removed as duplicates.

GEThttps://motionvideo.xyz/api/catalog

参数

  • If-None-Matchstringheader可选

    The ETag of an earlier response. If it is still current, the response is a 304 with no body. Send the value exactly as received (one quoted value): lists, weak W/ validators and * always get a full response.

请求示例

curl -X GET 'https://motionvideo.xyz/api/catalog'

响应

200

The motion video catalog.

响应头

  • ETagstring

    Quoted SHA-256 hex digest of the response body. Changes whenever the data does.

  • Cache-Controlstring

    Browsers reuse a response for 5 minutes and shared caches for an hour, then may serve it stale for up to a day while they revalidate.

    可选值:public, max-age=300, s-maxage=3600, stale-while-revalidate=86400

响应正文application/json

  • importedAtstringdate-time必填

    When the catalog was last imported.

  • videosMotionVideo[]必填

    Every gallery video, in catalog order.

    显示字段
    • slugstring必填

      Stable ID: the creator's handle and a short hash. The video's page is /videos/{slug} under a locale, e.g. /en/videos/{slug}.

    • titlestring必填
    • datestringdate必填

      When the creator posted it (YYYY-MM-DD).

    • tagsstring[]必填

      What it shares to remake it: a prompt, a skill, or both.

      可选值:promptskill

    • contentTagsstring[]必填

      Gallery categories, at least one.

      可选值:product-uiphonechartsdiagramskinetic-typeshapesparticlescharactersphotosmusiccode

    • promptSharedboolean必填

      Whether the creator shared the prompt.

    • handlestring必填

      The creator's X handle, without @.

    • creatorNamestring

      The creator's display name on X, when known.

    • avatarstringuri必填

      The creator's avatar (WebP).

    • posterstringuri必填

      Poster image (WebP).

    • blurstring

      A tiny version of the poster as a data: URI, to show while media loads.

    • previewstringuri必填

      Small looping preview (MP4).

    • videostringuri必填

      The full video (MP4).

    • widthinteger必填

      Video width in pixels.

    • heightinteger必填

      Video height in pixels.

    • promptstring

      The prompt the creator used, when shared.

    • skillUrlstringuri

      The agent skill the video was made with.

    • skillInstallstring

      The command that installs the skill, e.g. npx skills add ….

    • tweetUrlstringuri

      The source post on X.

    • descriptionstring
    • modelstring

      The model it was made with, as the creator reported it.

      可选值:Opus 5.5Fable 5.5Gemini 4 ArgonGPT-6 Astra

    • stackstring

      What rendered it, as the creator reported it, e.g. Remotion or HTML + Playwright.

    • effortstring

      The reasoning effort the model ran at.

      可选值:mediumhighmax

    • iterationsstring

      How many rounds of feedback it took.

      可选值:one-shotfew-roundsmany-rounds

    • colorsstring[]

      Dominant colours as hex without #, the largest share of the frame first.

  • removedRemovedVideo[]必填

    Videos removed as duplicates. Their old page URLs redirect to the video they duplicated.

    显示字段
    • slugstring必填

      The removed video's slug.

    • duplicateOfstring必填

      Slug of the video it duplicated (which may itself be removed later).

    • tweetUrlstringuri必填

示例

{
  "importedAt": "2026-10-24T21:04:06.396Z",
  "videos": [
    {
      "slug": "stephanlivera-df17a2",
      "title": "Claude motion designer showreel",
      "date": "2026-09-25",
      "tags": [
        "prompt"
      ],
      "contentTags": [
        "kinetic-type",
        "shapes",
        "music"
      ],
      "promptShared": true,
      "handle": "stephanlivera",
      "prompt": "make a dynamic 15-second motion graphics video that shows what an incredible motion designer you are, like it's your showreel for a résumé. go all out.",
      "avatar": "https://assets.motionvideo.xyz/avatars/stephanlivera-b812a8857d.webp",
      "poster": "https://assets.motionvideo.xyz/motion/stephanlivera-df17a2/poster-f2e1162434.webp",
      "blur": "data:image/webp;base64,UklGRjwAAABXRUJQVlA4IDAAAAAwAQCdASoQAAkAAoBCJZwAA3AA/vhFoHeXAMvl50Xzx1TOS+ixn4fsDcDIAjAsAAA=",
      "preview": "https://assets.motionvideo.xyz/motion/stephanlivera-df17a2/preview-b43ead41b8.mp4",
      "video": "https://assets.motionvideo.xyz/motion/stephanlivera-df17a2/video-5f45198f0d.mp4",
      "width": 1920,
      "height": 1080,
      "tweetUrl": "https://x.com/stephanlivera/status/2103315922098470926",
      "model": "Opus 5.5",
      "effort": "max",
      "creatorName": "Stephan Livera",
      "colors": [
        "0d0d10",
        "ed4938",
        "8b0703"
      ]
    }
  ],
  "removed": [
    {
      "slug": "rossaxbt-94583b",
      "duplicateOf": "rossaxbt-4e066d",
      "tweetUrl": "https://x.com/rossaxbt/status/2108933141406638456"
    }
  ]
}

304

Not modified: If-None-Match matched the current ETag. No body; reuse the copy you have.

响应头

  • ETagstring

    Quoted SHA-256 hex digest of the response body. Changes whenever the data does.