Rechercher sur MotionVideo

Rechercher vidéos, créateurs, outils, créatifs…

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

Paramètres

  • If-None-MatchstringheaderFacultatif

    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.

Exemple de requête

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

Réponses

200

The motion video catalog.

En-têtes

  • 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.

    Valeurs:public, max-age=300, s-maxage=3600, stale-while-revalidate=86400

Corps de la réponseapplication/json

  • importedAtstringdate-timeObligatoire

    When the catalog was last imported.

  • videosMotionVideo[]Obligatoire

    Every gallery video, in catalog order.

    Afficher les champs
    • slugstringObligatoire

      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}.

    • titlestringObligatoire
    • datestringdateObligatoire

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

    • tagsstring[]Obligatoire

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

      Valeurs:promptskill

    • contentTagsstring[]Obligatoire

      Gallery categories, at least one.

      Valeurs:product-uiphonechartsdiagramskinetic-typeshapesparticlescharactersphotosmusiccode

    • promptSharedbooleanObligatoire

      Whether the creator shared the prompt.

    • handlestringObligatoire

      The creator's X handle, without @.

    • creatorNamestring

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

    • avatarstringuriObligatoire

      The creator's avatar (WebP).

    • posterstringuriObligatoire

      Poster image (WebP).

    • blurstring

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

    • previewstringuriObligatoire

      Small looping preview (MP4).

    • videostringuriObligatoire

      The full video (MP4).

    • widthintegerObligatoire

      Video width in pixels.

    • heightintegerObligatoire

      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.

      Valeurs: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.

      Valeurs:mediumhighmax

    • iterationsstring

      How many rounds of feedback it took.

      Valeurs:one-shotfew-roundsmany-rounds

    • colorsstring[]

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

  • removedRemovedVideo[]Obligatoire

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

    Afficher les champs
    • slugstringObligatoire

      The removed video's slug.

    • duplicateOfstringObligatoire

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

    • tweetUrlstringuriObligatoire

Exemple

{
  "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.

En-têtes

  • ETagstring

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