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.