Generation inbox

A per-URL endpoint that any AI image or video generator can call when a render is finished — Google, Kling, Replicate, fal.ai, Midjourney via automation, and so on. DesignVault never generates or pays for anything: it just receives the finished result. One ingestion seam, any provider, no per-provider integration.

Create an inbox URL

In DesignVault, go to Settings → API keys → Generation inbox → New inbox URL. Give it a label (which generator feeds it) and a default asset type. The full URL is shown once — copy it then. It looks like:

https://www.designvault.net/api/v1/inbox/dv_inbox_…

The token in the path is the credential — no Authorization header needed, because provider callbacks often can't set one. Treat the URL like a password: anyone with it can push assets into your library. Revoke it anytime from the same screen.

Point a provider at it

Wherever your generator lets you set a callback / webhook URL for finished jobs, paste your inbox URL. When the job completes, the provider POSTs the result and it lands as an asset.

If a provider's callback body doesn't match the shape below (many send their own JSON), route it through a Zapier / Make / n8n step that reshapes it into { image_url } or { video_url, poster_url } before hitting the inbox.

Request

POST /api/v1/inbox/<your-url>
Content-Type: application/json

{
  "image_url":  "https://…/result.png",   // or image_base64
  "title":      "Hero concept",
  "asset_type": "other",                    // optional; falls back to the URL's default
  "tag_names":  ["ai", "concept"]
}

For video, send a video source and (optionally) a poster frame:

{
  "video_url":  "https://…/clip.mp4",       // or video_base64
  "poster_url": "https://…/poster.jpg",     // optional — a placeholder is made if omitted
  "title":      "Product teaser"
}

Fields

  • Exactly one media kind: image_url/image_base64 or video_url/video_base64.
  • poster_url/poster_base64 — video poster. Omit and DesignVault generates a neutral placeholder (no ffmpeg needed).
  • asset_type — must be one of your org's asset types; falls back to the inbox URL's default.
  • title, description, client, product, source_url, tag_names (max 20).

Behavior

  • Images: mp4/webm/mov for video; common web image formats for images. Videos up to 200 MB, images up to 25 MB.
  • Duplicates: content-hashed — re-posting the same media returns duplicate: true and the existing asset id.
  • Assets are badged AI-created and flow through the normal auto-tagging + review pipeline, exactly like an import.
  • Rate limit: 120 posts/min per inbox URL.
  • Every capture fires an asset.created outbound webhook, so you can chain further automation.

Other ways in

The inbox is for provider callbacks. For interactive tools, the ComfyUI node pushes on each render, the Chrome Web Clipper grabs images from any web UI, and the programmatic API covers header-authed automations. All funnel into the same library.