{"templateId":"markdown","sharedDataIds":{"sidebar":"sidebar-sidebars.yaml"},"props":{"metadata":{"markdoc":{"tagList":[]},"type":"markdown"},"seo":{"title":"Attribution Agent and Service","description":"Generate and edit images and video with Bria's FIBO models through a REST API, Python SDK, MCP server and agent skills. Licensed training data, controllable output, provenance on every result.","siteUrl":"https://docs.bria.ai","image":"/assets/logo.4aab4827f8ef484ab0149a267109951af9b35a6e5d7ddacfc52a0cb2bf07aec6.db81178d.png","llmstxt":{"hide":false,"title":"Bria API documentation","description":"Bria's developer platform: controllable, commercially safe visual generative AI (images and video) as a REST API, Python SDK, MCP server and agent skills.","details":{"path":"_llmstxt-details.md"},"sections":[{"title":"Getting started","description":"First call, authentication, async jobs and webhooks, rate limits, inputs.","includeFiles":["index.md","getting-started/quickstart.md","getting-started/authentication.md","getting-started/async-requests.md","status.yaml","getting-started/rate-limits-and-errors.md","getting-started/working-with-images.md"]},{"title":"Integrate","description":"Python SDK, MCP server, agent skills, and machine-readable docs for agents.","includeFiles":["integration-methods/python-sdk.md","MCP-authentication.md","integration-methods/bria-skill.md","integration-methods/for-ai-agents.md"]},{"title":"Concepts","description":"Platform map, VGL and the FIBO models, safety, best practices.","includeFiles":["products-overview.md","VGL.md","safety.md","best-practices-overview.md","image-generation-best-practices.md","image-editing-best-practices.md","product-shots-best-practices.md"]},{"title":"Image Generation","description":"Generate images from text, reference images or structured (VGL) prompts with FIBO.","includeFiles":["image-generation-overview.md","image-generation.yaml"]},{"title":"Image Editing","description":"Instruction-based editing plus specialized endpoints for backgrounds, erasing, fill, expansion, upscaling and style.","includeFiles":["image-editing-overview.md","image-editing.yaml"]},{"title":"Product Shot Editing","description":"Cutouts, packshots, shadows, lifestyle scenes, product integration, holding, virtual try-on, automotive.","includeFiles":["product-shot-overview.md","product-shot-editing.yaml"]},{"title":"Video Editing","description":"Background removal (REST or real-time streaming), erasing, upscaling and masks for video; local video upload.","includeFiles":["video-editing-overview.md","local-video-upload-service.md","streaming-rmbg.md","video-editing.yaml"]},{"title":"Ad Delayer","description":"Turn a flat ad into editable layers; the guide holds the layer document contract.","includeFiles":["ad-delayer-overview.md","ad-delayer.yaml"]},{"title":"Trust and provenance","description":"Public verification of Bria provenance, and attribution of outputs to licensed training data.","includeFiles":["trust-and-provenance-overview.md","visual-verification-overview.md","visual-verification.yaml","enterprise/attribution.md","bria-attribution-service.yaml"]},{"title":"Enterprise","description":"Run Bria in your own cloud or on-premises.","includeFiles":["enterprise/deployment-options.md"]}],"excludeFiles":["_llmstxt-details.md","README.md"]}},"dynamicMarkdocComponents":[],"compilationErrors":[],"ast":{"$$mdtype":"Tag","name":"article","attributes":{},"children":[{"$$mdtype":"Tag","name":"Heading","attributes":{"level":1,"id":"attribution-agent-and-service","__idx":0},"children":["Attribution Agent and Service"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Bria's models are trained only on licensed data, and the owners of that data are paid according to how much their content contributes to what customers generate. The mechanism that makes this work is attribution: every output is matched against the training data that influenced it, and the result feeds a revenue-share program with Bria's data partners. This is also what stands behind the commercial indemnity on Bria outputs."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["When you call Bria's hosted API, attribution happens automatically and you never see it. This page explains what to do when Bria models run somewhere else, and how to use the Attribution Service API directly."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"the-attribution-agent","__idx":1},"children":["The Attribution Agent"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The Attribution Agent is a small component that runs next to a Bria model wherever the model is hosted outside Bria's cloud: in a ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/enterprise/deployment-options"},"children":["BYOC or on-premises deployment"]},", on a third-party inference platform, or in a pipeline built on Bria's published weights."]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["It processes each generated output locally, extracts an irreversible embedding (a vector that cannot be turned back into the image or video), and discards its copy of the asset."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["It sends only those embeddings to Bria's Attribution Service, in batches, so no generated content leaves your environment."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["It runs offline, on CPU or GPU, and adds no latency to generation."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Running it is a condition of the commercial license and of indemnity coverage for self-hosted models."]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Bria provides the agent in the forms that fit your stack:"]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Form"},"children":["Form"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Use it when"},"children":["Use it when"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Hosted, in the API"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["You call Bria's API. Nothing to install."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"https://github.com/Bria-AI/bria-attribution"},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["bria-attribution"]}," reference repository"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["You host a Bria model yourself and want a ready-made notebook: pull the attribution model container with your API token and post embeddings to the service."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Python package for BYOC deployments"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Your self-hosted pipeline packages include it; see ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/enterprise/deployment-options"},"children":["Deployment options"]},"."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Node or plugin integrations"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Ask your Bria contact about integrations for specific hosts and tools."]}]}]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"the-attribution-service-api","__idx":2},"children":["The Attribution Service API"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/bria-attribution-service"},"children":["Attribution Service"]}," is the hosted endpoint the agent talks to. You can also call it directly. It supports two modes for images and for video:"]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Mode"},"children":["Mode"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Endpoints"},"children":["Endpoints"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Data that reaches Bria"},"children":["Data that reaches Bria"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Send the asset (no compute on your side)"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["POST /v2/image/attribution/by_image"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["POST /v2/video/attribution/by_video"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["The image or video, processed by Bria and not retained beyond attribution"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Send embeddings (full data privacy)"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["POST /v2/image/attribution/by_embedding"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["POST /v2/video/attribution/by_embedding"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Only irreversible vectors computed by the agent in your environment"]}]}]}]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Requests are asynchronous and return a ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["request_id"]}," and ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["status_url"]}," like other v2 endpoints; track them with the ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/status"},"children":["status endpoint"]},". The ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["model_version"]}," (images) or ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["model"]}," (video) field tells the service which Bria model produced the output so the right attribution model is applied."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"provenance-for-your-users","__idx":3},"children":["Provenance for your users"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Attribution answers \"what data shaped this output\" on Bria's side. To let anyone verify that an asset came from Bria, outputs also carry a C2PA manifest and an invisible watermark that the public ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/visual-verification-overview"},"children":["Visual Verification"]}," endpoints can read."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"learn-more","__idx":4},"children":["Learn more"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/bria-attribution-service"},"children":["Attribution Service API reference"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/safety"},"children":["Safety and transparency"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/enterprise/deployment-options"},"children":["Deployment options"]}]}]}]},"headings":[{"value":"Attribution Agent and Service","id":"attribution-agent-and-service","depth":1},{"value":"The Attribution Agent","id":"the-attribution-agent","depth":2},{"value":"The Attribution Service API","id":"the-attribution-service-api","depth":2},{"value":"Provenance for your users","id":"provenance-for-your-users","depth":2},{"value":"Learn more","id":"learn-more","depth":2}],"frontmatter":{"title":"Attribution Agent and Service","description":"How Bria attributes generated outputs to licensed training data, when you need to run the Attribution Agent, and how to use the Attribution Service API.","seo":{"title":"Attribution Agent and Service"}},"lastModified":"2026-09-27T11:58:15.000Z","pagePropGetterError":{"message":"","name":""}},"slug":"/enterprise/attribution","userData":{"isAuthenticated":false,"teams":["anonymous"]},"isPublic":true}