{"uid":"cap_43SBkb7HmAMRkzAXxuB82","slug":"relaystation-media-metadata-reader-writer-ef655e4e","name":"Relaystation Media Metadata Reader/Writer","description":"$0.0002/call. Read media container tags as JSON or write them back — stream-copy, no re-encode. 1¢ x402 min; remainder auto-credits — relaystation.ai/penny","url":"https://api.relaystation.ai/v1/media/metadata","method":"POST","headers":{},"bodySchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["input"],"properties":{"input":{"type":"object","required":["type","method","bodyType","body"],"properties":{"body":{"type":"object","properties":{"set":{"type":"object","additionalProperties":{"type":["string","number"]}},"file":{"type":"object","description":"cputools input-source: { inline: <base64 ≤ 4 MiB> } or { inputKey: <scratch key ≤ 50 MB> }. The input container must sniff (ffprobe) to the live allowlist (operator-tunable cputools.media.input_formats): 3g2, 3gp, aac, asf, avi, flac, flv, gif, m4a, m4v, matroska, mj2, mov, mov,mp4,m4a,3gp,3g2,mj2, mp3, mp4, mpeg, mpegts, mpegvideo, ogg, wav, webm, wmv. An off-list input is a free 422 UNSUPPORTED_FORMAT."}}},"type":{"type":"string","const":"http"},"method":{"enum":["POST","PUT","PATCH"],"type":"string"},"bodyType":{"enum":["json","form-data","text"],"type":"string"}},"additionalProperties":false},"output":{"type":"object","required":["type"],"properties":{"type":{"type":"string"},"example":{"type":"object"}}}}},"responseSchema":null,"example":null,"exampleRequest":null,"tags":["x402"],"displayCostAmount":"0.01","displayCostAsset":"USDC","priceDynamic":false,"priceHint":null,"priceStatus":"priced","priceSource":"registry","requiresHandshake":false,"reviewCount":0,"rating":{"score":"0.00","successRate":"0.00","reviews":0,"stars":null,"state":"unrated"},"availabilityStatus":"unknown","priceObserved":null,"sessionDeposit":null,"pricing":{"kind":"static","summary":"$0.01/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.01","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.01","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_kYjklMlwb2nhXM2hzbAMj","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.01","costPer":"request","priority":0,"asset":null,"unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Read or write media container tags (e.g. ID3, EXIF, MP4 atoms) as JSON without re-encoding the file via stream-copy","exampleAgentPrompt":"Can you read all the container tags from this MP3 file at https://example.com/track.mp3 and give them back to me as JSON — things like title, artist, album, year?","exampleUseCases":[{"title":"Podcast episode tag inspection","prompt":"Pull all the metadata tags out of this podcast MP3 at https://cdn.mypodcast.com/ep42.mp3 and show them to me as JSON — I want to see the title, author, description, and any chapter markers."},{"title":"Music library tag correction","prompt":"Update the tags on my audio file at https://storage.example.com/song.mp3 — set the title to 'Midnight Drive', the artist to 'The Nomads', and the album to 'Open Road 2024', without re-encoding the file."},{"title":"Video asset metadata audit","prompt":"Read the container metadata from this MP4 at https://assets.mysite.com/promo.mp4 and return everything as JSON — I need to see what title, description, and copyright tags are already embedded."}],"resultDescription":"Returns a JSON object containing all container tag key-value pairs read from the media file (e.g. title, artist, album, year, genre, comment, codec info), or a confirmation response after writing tags back to the file via stream-copy with no re-encoding.","failureModes":["Unsupported container format — returns error if file type has no recognized tag structure","Inaccessible file URL — returns error if the media file cannot be fetched","Malformed JSON payload on write — returns validation error if tag fields are invalid","File too large or timeout — slow remote files may cause request timeout","Insufficient x402 credit balance — payment not fulfilled causes rejection"],"whenToPreferThis":"Choose this endpoint when you need to read or write media container tags (ID3, MP4 atoms, EXIF, etc.) without transcoding or re-encoding the file. It is specifically designed for stream-copy tag operations on audio and video files, making it faster and lossless compared to FFmpeg-based re-encode workflows. Prefer it over general-purpose media pipelines when the only goal is metadata inspection or tag updating.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-09-15T00:42:56.509Z","isFirstParty":false}