{
  "x402Version": 2,
  "settledBy": "https://app.suedeai.ai",
  "catalogSource": {
    "upstream": "https://app.suedeai.ai/.well-known/x402",
    "servedFrom": "snapshot",
    "fetchedAt": null
  },
  "count": 3,
  "resources": [
    {
      "resource": "https://app.suedeai.ai/create-music",
      "method": "POST",
      "type": "http",
      "serviceName": "Suede AI",
      "title": "Create Music with Suede",
      "description": "Generate a song from a prompt with optional custom lyrics and style inputs. Returns JSON describing the generated track when the request succeeds. PAYMENT-SIGNATURE-authenticated requests default to asynchronous execution. Asynchronous responses return 202 Accepted with a songId and pollUrl. Poll GET /api/songs/{songId} without another payment until model_version leaves 'pending' ('failed' is terminal); audio_url is a placeholder image until then and the finished MP3 after.",
      "category": "music",
      "tags": [
        "music",
        "song-generation",
        "text-to-music",
        "audio",
        "creative-ai"
      ],
      "providerName": "Suede Labs",
      "providerUrl": "https://suedeai.ai",
      "docsUrl": "https://app.suedeai.ai/developers",
      "lastUpdated": "2026-08-22T23:49:10Z",
      "mimeType": "application/json",
      "accepts": [
        {
          "scheme": "exact",
          "network": "base",
          "maxAmountRequired": "500000",
          "amount": "500000",
          "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
          "payTo": "0x10FF767043A1723E0BB5B9207bC37D3442cC9E4F",
          "maxTimeoutSeconds": 300,
          "docs": "https://app.suedeai.ai/developers",
          "extra": {
            "name": "USD Coin",
            "version": "2",
            "decimals": 6,
            "priceUsd": "$0.50"
          },
          "resource": "https://app.suedeai.ai/create-music",
          "description": "Generate a song from a prompt with optional custom lyrics and style inputs. Returns JSON describing the generated track when the request succeeds. PAYMENT-SIGNATURE-authenticated requests default to asynchronous execution. Asynchronous responses return 202 Accepted with a songId and pollUrl. Poll GET /api/songs/{songId} without another payment until model_version leaves 'pending' ('failed' is terminal); audio_url is a placeholder image until then and the finished MP3 after.",
          "mimeType": "application/json",
          "outputSchema": {
            "input": {
              "type": "http",
              "method": "POST",
              "discoverable": true,
              "bodyType": "json",
              "body": {
                "prompt": "<prompt>",
                "style": "<style>",
                "custom_mode": false,
                "lyrics": "<lyrics>",
                "make_instrumental": false,
                "vocal_gender": "m",
                "tags": "<tags>"
              }
            },
            "output": {
              "shareUrl": "https://app.suedeai.ai/share/example-track"
            }
          }
        },
        {
          "scheme": "exact",
          "network": "eip155:8453",
          "maxAmountRequired": "500000",
          "amount": "500000",
          "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
          "payTo": "0x10FF767043A1723E0BB5B9207bC37D3442cC9E4F",
          "maxTimeoutSeconds": 300,
          "docs": "https://app.suedeai.ai/developers",
          "extra": {
            "name": "USD Coin",
            "version": "2",
            "decimals": 6,
            "priceUsd": "$0.50"
          },
          "resource": "https://app.suedeai.ai/create-music",
          "description": "Generate a song from a prompt with optional custom lyrics and style inputs. Returns JSON describing the generated track when the request succeeds. PAYMENT-SIGNATURE-authenticated requests default to asynchronous execution. Asynchronous responses return 202 Accepted with a songId and pollUrl. Poll GET /api/songs/{songId} without another payment until model_version leaves 'pending' ('failed' is terminal); audio_url is a placeholder image until then and the finished MP3 after.",
          "mimeType": "application/json",
          "outputSchema": {
            "input": {
              "type": "http",
              "method": "POST",
              "discoverable": true,
              "bodyType": "json",
              "body": {
                "prompt": "<prompt>",
                "style": "<style>",
                "custom_mode": false,
                "lyrics": "<lyrics>",
                "make_instrumental": false,
                "vocal_gender": "m",
                "tags": "<tags>"
              }
            },
            "output": {
              "shareUrl": "https://app.suedeai.ai/share/example-track"
            }
          }
        }
      ],
      "extensions": {
        "bazaar": {
          "discoverable": true,
          "category": "music",
          "tags": [
            "AgentCommerce",
            "SuedeLabs",
            "SUEDEAI",
            "AISUEDE",
            "JohnnySuede",
            "JasonColapietro",
            "SuedeAgent",
            "x402",
            "ACP",
            "AgentCash",
            "AIAgent",
            "music",
            "AIMusic",
            "MusicAI",
            "GenerateMusic",
            "MusicProduction",
            "song",
            "songs",
            "songwriting",
            "music generation",
            "AI music"
          ],
          "input": {
            "method": "POST",
            "body": {
              "schema": {
                "type": "object",
                "required": [
                  "prompt"
                ],
                "properties": {
                  "prompt": {
                    "type": "string",
                    "description": "Describe the song you want to create. Include genre, mood, instruments, and any specific vibe. Example: 'Upbeat 80s synthwave with driving bass and neon atmosphere' or 'A melancholic acoustic guitar ballad about rain'."
                  },
                  "style": {
                    "type": "string",
                    "description": "Specific musical style or genre tag (e.g., 'Hip Hop', 'Ambient', 'Rock'). Helping the AI focus on a specific sound."
                  },
                  "custom_mode": {
                    "type": "boolean",
                    "description": "Set to true to use your own lyrics provided in the 'lyrics' field."
                  },
                  "lyrics": {
                    "type": "string",
                    "description": "Your custom lyrics. Required if custom_mode is true."
                  },
                  "make_instrumental": {
                    "type": "boolean",
                    "description": "If true, generates a track without vocals."
                  },
                  "vocal_gender": {
                    "type": "string",
                    "enum": [
                      "m",
                      "f"
                    ],
                    "description": "Preferred gender for the vocalist ('m' for male, 'f' for female)."
                  },
                  "tags": {
                    "type": "string",
                    "description": "Comma-separated keywords to tag the generated file."
                  }
                }
              }
            }
          },
          "output": {
            "type": "application/json",
            "example": {
              "shareUrl": "https://app.suedeai.ai/share/example-track"
            }
          }
        },
        "skyfire": {
          "header": "PAYMENT-SIGNATURE",
          "tokenTypes": [
            "pay+jwt",
            "kya-pay+jwt"
          ],
          "description": "Suede also accepts Skyfire pay+jwt/kya-pay+jwt tokens in the PAYMENT-SIGNATURE header on this endpoint."
        }
      },
      "priceUsd": "$0.50"
    },
    {
      "resource": "https://app.suedeai.ai/agent/video",
      "method": "POST",
      "type": "http",
      "serviceName": "Suede AI",
      "title": "Agent Video",
      "description": "Text-to-video generation for agents. Returns an 8-second 720p clip with native audio. Use for short-form video, b-roll, product shots, music-video visuals, and social clips. Audio is generated from the scene, so include sound cues in the prompt (instruments, voices, weather, movement) for an audible result — a still, silent scene renders near-silent by design. PAYMENT-SIGNATURE-authenticated requests default to asynchronous execution. The queued response is 202 Accepted carrying a jobId and pollUrl. Poll GET /agent/video/{jobId} without another payment until status is 'completed' and videoUrl is available. Pass ?async=false to block for the clip instead.",
      "category": "video",
      "tags": [
        "video",
        "video-generation",
        "text-to-video",
        "short-form-video",
        "creative-ai"
      ],
      "providerName": "Suede Labs",
      "providerUrl": "https://suedeai.ai",
      "docsUrl": "https://app.suedeai.ai/developers",
      "lastUpdated": "2026-08-23T01:07:09Z",
      "mimeType": "application/json",
      "accepts": [
        {
          "scheme": "exact",
          "network": "base",
          "maxAmountRequired": "4990000",
          "amount": "4990000",
          "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
          "payTo": "0x10FF767043A1723E0BB5B9207bC37D3442cC9E4F",
          "maxTimeoutSeconds": 300,
          "docs": "https://app.suedeai.ai/developers",
          "extra": {
            "name": "USD Coin",
            "version": "2",
            "decimals": 6,
            "priceUsd": "$4.99"
          },
          "resource": "https://app.suedeai.ai/agent/video",
          "description": "Text-to-video generation for agents. Returns an 8-second 720p clip with native audio. Use for short-form video, b-roll, product shots, music-video visuals, and social clips. Audio is generated from the scene, so include sound cues in the prompt (instruments, voices, weather, movement) for an audible result — a still, silent scene renders near-silent by design. PAYMENT-SIGNATURE-authenticated requests default to asynchronous execution. The queued response is 202 Accepted carrying a jobId and pollUrl. Poll GET /agent/video/{jobId} without another payment until status is 'completed' and videoUrl is available. Pass ?async=false to block for the clip instead.",
          "mimeType": "application/json",
          "outputSchema": {
            "input": {
              "type": "http",
              "method": "POST",
              "discoverable": true,
              "bodyType": "json",
              "body": {
                "prompt": "<prompt>",
                "durationSeconds": 8,
                "aspectRatio": "16:9"
              }
            },
            "output": {
              "jobId": "video-job-example",
              "status": "queued",
              "provider": "suede",
              "pollUrl": "https://app.suedeai.ai/agent/video/video-job-example"
            }
          }
        },
        {
          "scheme": "exact",
          "network": "eip155:8453",
          "maxAmountRequired": "4990000",
          "amount": "4990000",
          "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
          "payTo": "0x10FF767043A1723E0BB5B9207bC37D3442cC9E4F",
          "maxTimeoutSeconds": 300,
          "docs": "https://app.suedeai.ai/developers",
          "extra": {
            "name": "USD Coin",
            "version": "2",
            "decimals": 6,
            "priceUsd": "$4.99"
          },
          "resource": "https://app.suedeai.ai/agent/video",
          "description": "Text-to-video generation for agents. Returns an 8-second 720p clip with native audio. Use for short-form video, b-roll, product shots, music-video visuals, and social clips. Audio is generated from the scene, so include sound cues in the prompt (instruments, voices, weather, movement) for an audible result — a still, silent scene renders near-silent by design. PAYMENT-SIGNATURE-authenticated requests default to asynchronous execution. The queued response is 202 Accepted carrying a jobId and pollUrl. Poll GET /agent/video/{jobId} without another payment until status is 'completed' and videoUrl is available. Pass ?async=false to block for the clip instead.",
          "mimeType": "application/json",
          "outputSchema": {
            "input": {
              "type": "http",
              "method": "POST",
              "discoverable": true,
              "bodyType": "json",
              "body": {
                "prompt": "<prompt>",
                "durationSeconds": 8,
                "aspectRatio": "16:9"
              }
            },
            "output": {
              "jobId": "video-job-example",
              "status": "queued",
              "provider": "suede",
              "pollUrl": "https://app.suedeai.ai/agent/video/video-job-example"
            }
          }
        }
      ],
      "extensions": {
        "bazaar": {
          "discoverable": true,
          "category": "video",
          "tags": [
            "AgentCommerce",
            "SuedeLabs",
            "SUEDEAI",
            "AISUEDE",
            "JohnnySuede",
            "JasonColapietro",
            "SuedeAgent",
            "x402",
            "ACP",
            "AgentCash",
            "AIAgent",
            "video",
            "AIVideo",
            "VideoGeneration",
            "GenerateVideo"
          ],
          "input": {
            "method": "POST",
            "body": {
              "schema": {
                "type": "object",
                "required": [
                  "prompt"
                ],
                "properties": {
                  "prompt": {
                    "type": "string",
                    "description": "Narrative or visual prompt to drive the video concept."
                  },
                  "durationSeconds": {
                    "type": "integer",
                    "description": "Requested clip length in seconds; the service maps it to a supported render length.",
                    "default": 8,
                    "minimum": 3,
                    "maximum": 15
                  },
                  "aspectRatio": {
                    "type": "string",
                    "enum": [
                      "16:9",
                      "9:16",
                      "1:1"
                    ],
                    "description": "Desired frame aspect ratio."
                  }
                }
              }
            }
          },
          "output": {
            "type": "application/json",
            "example": {
              "jobId": "video-job-example",
              "status": "queued",
              "provider": "suede",
              "pollUrl": "https://app.suedeai.ai/agent/video/video-job-example"
            }
          }
        },
        "skyfire": {
          "header": "PAYMENT-SIGNATURE",
          "tokenTypes": [
            "pay+jwt",
            "kya-pay+jwt"
          ],
          "description": "Suede also accepts Skyfire pay+jwt/kya-pay+jwt tokens in the PAYMENT-SIGNATURE header on this endpoint."
        }
      },
      "priceUsd": "$4.99"
    },
    {
      "resource": "https://app.suedeai.ai/agent/image",
      "method": "POST",
      "type": "http",
      "serviceName": "Suede AI",
      "title": "Agent Image",
      "description": "Generate a still image from a text prompt. PAYMENT-SIGNATURE-authenticated requests default to asynchronous execution. The queued response is 202 Accepted carrying a jobId and pollUrl. Poll GET /agent/image/{jobId} without another payment until status is 'completed' and imageUrl is available. Pass ?async=false to block for the image instead.",
      "category": "image",
      "tags": [
        "image",
        "image-generation",
        "text-to-image",
        "visual-art",
        "creative-ai"
      ],
      "providerName": "Suede Labs",
      "providerUrl": "https://suedeai.ai",
      "docsUrl": "https://app.suedeai.ai/developers",
      "lastUpdated": "2026-08-23T01:07:09Z",
      "mimeType": "application/json",
      "accepts": [
        {
          "scheme": "exact",
          "network": "base",
          "maxAmountRequired": "150000",
          "amount": "150000",
          "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
          "payTo": "0x10FF767043A1723E0BB5B9207bC37D3442cC9E4F",
          "maxTimeoutSeconds": 300,
          "docs": "https://app.suedeai.ai/developers",
          "extra": {
            "name": "USD Coin",
            "version": "2",
            "decimals": 6,
            "priceUsd": "$0.15"
          },
          "resource": "https://app.suedeai.ai/agent/image",
          "description": "Generate a still image from a text prompt. PAYMENT-SIGNATURE-authenticated requests default to asynchronous execution. The queued response is 202 Accepted carrying a jobId and pollUrl. Poll GET /agent/image/{jobId} without another payment until status is 'completed' and imageUrl is available. Pass ?async=false to block for the image instead.",
          "mimeType": "application/json",
          "outputSchema": {
            "input": {
              "type": "http",
              "method": "POST",
              "discoverable": true,
              "bodyType": "json",
              "body": {
                "prompt": "<prompt>",
                "aspectRatio": "1:1",
                "outputFormat": "png"
              }
            },
            "output": {
              "jobId": "image-job-example",
              "status": "queued",
              "provider": "suede",
              "pollUrl": "https://app.suedeai.ai/agent/image/image-job-example"
            }
          }
        },
        {
          "scheme": "exact",
          "network": "eip155:8453",
          "maxAmountRequired": "150000",
          "amount": "150000",
          "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
          "payTo": "0x10FF767043A1723E0BB5B9207bC37D3442cC9E4F",
          "maxTimeoutSeconds": 300,
          "docs": "https://app.suedeai.ai/developers",
          "extra": {
            "name": "USD Coin",
            "version": "2",
            "decimals": 6,
            "priceUsd": "$0.15"
          },
          "resource": "https://app.suedeai.ai/agent/image",
          "description": "Generate a still image from a text prompt. PAYMENT-SIGNATURE-authenticated requests default to asynchronous execution. The queued response is 202 Accepted carrying a jobId and pollUrl. Poll GET /agent/image/{jobId} without another payment until status is 'completed' and imageUrl is available. Pass ?async=false to block for the image instead.",
          "mimeType": "application/json",
          "outputSchema": {
            "input": {
              "type": "http",
              "method": "POST",
              "discoverable": true,
              "bodyType": "json",
              "body": {
                "prompt": "<prompt>",
                "aspectRatio": "1:1",
                "outputFormat": "png"
              }
            },
            "output": {
              "jobId": "image-job-example",
              "status": "queued",
              "provider": "suede",
              "pollUrl": "https://app.suedeai.ai/agent/image/image-job-example"
            }
          }
        }
      ],
      "extensions": {
        "bazaar": {
          "discoverable": true,
          "category": "image",
          "tags": [
            "AgentCommerce",
            "SuedeLabs",
            "SUEDEAI",
            "AISUEDE",
            "JohnnySuede",
            "JasonColapietro",
            "SuedeAgent",
            "x402",
            "ACP",
            "AgentCash",
            "AIAgent",
            "image",
            "AIImage",
            "ImageGeneration",
            "GenerateImage"
          ],
          "input": {
            "method": "POST",
            "body": {
              "schema": {
                "type": "object",
                "required": [
                  "prompt"
                ],
                "properties": {
                  "prompt": {
                    "type": "string",
                    "description": "Visual prompt describing the image to generate."
                  },
                  "aspectRatio": {
                    "type": "string",
                    "enum": [
                      "1:1",
                      "9:16",
                      "16:9",
                      "3:4",
                      "4:3",
                      "3:2",
                      "2:3",
                      "5:4",
                      "4:5",
                      "21:9"
                    ],
                    "description": "Desired frame aspect ratio."
                  },
                  "outputFormat": {
                    "type": "string",
                    "enum": [
                      "png",
                      "jpeg"
                    ],
                    "description": "Output image format."
                  }
                }
              }
            }
          },
          "output": {
            "type": "application/json",
            "example": {
              "jobId": "image-job-example",
              "status": "queued",
              "provider": "suede",
              "pollUrl": "https://app.suedeai.ai/agent/image/image-job-example"
            }
          }
        },
        "skyfire": {
          "header": "PAYMENT-SIGNATURE",
          "tokenTypes": [
            "pay+jwt",
            "kya-pay+jwt"
          ],
          "description": "Suede also accepts Skyfire pay+jwt/kya-pay+jwt tokens in the PAYMENT-SIGNATURE header on this endpoint."
        }
      },
      "priceUsd": "$0.15"
    }
  ],
  "acp": {
    "rail": "virtuals_acp",
    "agent": "acp://producer-by-suede-labs",
    "settlement": "escrow",
    "status": "paused",
    "acceptingJobs": false,
    "note": "Producer offers are bought through Virtuals ACP escrow, not over HTTP. They are not x402 resources and are not payable on this host. The Producer ACP agent is paused and is not accepting jobs, so the offers below are listed for reference rather than as a live buying surface.",
    "offers": [
      {
        "id": "product_showcase_video_10s",
        "title": "10-Second Premium Product Showcase Video",
        "priceUsd": 10,
        "description": "Create a premium silent 10-second product showcase video from one to four reference image URLs."
      },
      {
        "id": "suede_music_generation",
        "title": "Original Music Generation",
        "priceUsd": 2,
        "description": "Generate an original track and wait for a completed MP3 asset, with a Suede share page when available."
      },
      {
        "id": "general_video",
        "title": "General AI Video",
        "priceUsd": 8,
        "description": "Generate an 8-second AI video from a prompt with optional references, 16:9 or 9:16 framing, and native audio."
      },
      {
        "id": "product_showcase_video",
        "title": "5-Second Product Showcase Video",
        "priceUsd": 6,
        "description": "Create a polished silent 5-second product showcase video from one to four reference image URLs."
      }
    ]
  }
}