{"service":"ascii-converter","version":"1.0.0","baseUrl":"https://ascii.platphormnews.com","endpoints":["/","/blog","/blog/image-to-ascii-deascii-roundtrip-1-0","/docs","/i18n","/open-source","/roadmap","/web/status","/api/health","/api/v1/health","/api/v1/info","/api/v1/charsets","/api/ascii/status","/api/ascii/storage/status","/api/web/status","/api/web/manifest","/api/web/scorecard","/api/web/fingerprints","/api/docs","/openapi.yaml","/openapi.json","/llms.txt","/llms-full.txt","/llms-index.json","/robots.txt","/sitemap.xml","/sitemap-index.xml","/rss.xml","/feed.xml","/atom.xml","/manifest.webmanifest","/manifest.json","/.well-known/mcp.json","/.well-known/agents.json","/.well-known/ai-plugin.json","/.well-known/security.txt","/.well-known/trust.json","/api/mcp","/api/convert","/api/convert/url","/api/convert/browserops","/api/convert/agentui","/api/convert/chunked","/api/convert/stream","/api/artifacts","/api/webhooks"],"auth":{"platformKey":"PLATPHORM_API_KEY","acceptedHeaders":["Authorization: Bearer $PLATPHORM_API_KEY","X-PlatPhorm-API-Key: $PLATPHORM_API_KEY"],"protectedActions":["POST /api/webhooks","DELETE /api/webhooks","DELETE /api/webhooks/{id}","POST /api/v1/webhooks/test","Untrusted external image artifact URL fetches","POST /api/convert/docs","POST /api/convert/evals","POST /api/artifacts/{id}/publish/docs","POST /api/artifacts/{id}/send/agentui","POST /api/artifacts/{id}/send/evals","MCP subscribe_webhook","MCP delete_webhook","MCP test_webhook","MCP untrusted external image artifact URL fetches","MCP publish_ascii_artifact_to_docs","MCP send_ascii_artifact_to_agentui","MCP send_ascii_artifact_to_evals","MCP create_docs_report","MCP create_sheet_report","MCP create_deck_summary"]},"publicAccess":true,"charsets":[{"id":"charset_standard","slug":"standard","name":"Standard","characters":" .:-=+*#%@","description":"Classic ten-character ramp for general image-to-ASCII conversion.","category":"standard","status":"active"},{"id":"charset_detailed","slug":"detailed","name":"Detailed","characters":" .'`^\",:;Il!i><~+_-?][}{1)(|\\/tfjrxnuvczXYUJCLQ0OZmwqpdbkhao*#MW&8%B@$","description":"High-fidelity luminance ramp for photo-like gradients and deASCII round trips.","category":"detailed","status":"active"},{"id":"charset_blocks","slug":"blocks","name":"Blocks","characters":" ░▒▓█","description":"Unicode block elements for dense pixel-art style output.","category":"blocks","status":"active"},{"id":"charset_minimal","slug":"minimal","name":"Minimal","characters":" .:█","description":"Small, high-contrast set for bold text-art silhouettes.","category":"minimal","status":"active"},{"id":"charset_binary","slug":"binary","name":"Binary","characters":" 01","description":"Binary-inspired output for compact computer-art experiments.","category":"binary","status":"active"},{"id":"charset_matrix","slug":"matrix","name":"Matrix","characters":" 0123456789$+-*/=%\"'#@&_(),.;:?!\\|{}<>[]^~","description":"Symbol-heavy output for dense terminal and matrix-style art.","category":"matrix","status":"active"}],"conversionCapabilities":{"browser":{"imageTypes":["image/png","image/jpeg","image/gif","image/webp"],"status":"implemented","modes":["browser_local","browser_local_chunked"],"chromaEncoding":"rich_clipboard_html_and_compact_text_when_color_mode_enabled","deasciiHandoff":"url_fragment_for_small_payloads_clipboard_fallback_for_large_payloads"},"api":{"imageTypes":["image/png","image/jpeg","image/gif","image/webp"],"status":"implemented_with_chunked_artifact_manifest","modes":["server_streaming","server_tiled","degraded_preview"],"chromaEncoding":"chroma_sidecar_metadata_when_grayscale_false","noHard2mbOutputLimit":true,"legacyLimitBytes":2097152,"decodedImageGuardrailBytes":67108864,"inputPixelGuardrail":80000000,"renderCellGuardrail":4000000,"requestedOutputColumnGuardrail":12000,"defaultPreviewColumns":240,"defaultPreviewRows":140,"chunkLineCount":80,"publicTrustedArtifactSources":["*.platphormnews.com","*.public.blob.vercel-storage.com"],"externalArtifactSourcesRequire":"PLATPHORM_API_KEY"},"browserops":{"status":"trusted_artifact_url_public","modes":["browserops_artifact_stream","server_tiled","degraded_preview"],"publicInputs":["artifactUrl from *.platphormnews.com","Vercel Blob image artifact URL","inline image_base64"],"externalInputsRequire":"PLATPHORM_API_KEY"},"agentui":{"status":"trusted_artifact_url_public","modes":["agentui_artifact","server_tiled","degraded_preview"],"publicInputs":["artifactUrl from *.platphormnews.com","Vercel Blob image artifact URL","inline image_base64"],"outboundHandoffRequires":"PLATPHORM_API_KEY"}},"deasciiHandoff":{"status":"implemented","target":"https://deascii.platphormnews.com","transport":"url_fragment_for_small_payloads_clipboard_fallback_for_large_payloads","textEncoding":"line_preserving_compact_ascii","chromaEncoding":"exact_hex_color_grid_with_compact_16_level_references"},"exportCapabilities":["copy","compact_txt","png","markdown","html","svg","json","ndjson","rich_clipboard_chroma"],"automationTransports":[{"id":"rest_sync","label":"REST synchronous conversion","status":"implemented","routes":["/api/convert","/api/convert/url","/api/convert/browserops","/api/convert/agentui"],"use":"Small and medium conversions, trusted artifact URL intake, and standard request/response automation."},{"id":"chunked_artifacts","label":"Chunked artifact manifests","status":"implemented","routes":["/api/convert/chunked","/api/artifacts/{id}/manifest","/api/artifacts/{id}/chunks"],"use":"Large output, proof artifacts, continuation links, hashes, and export formats."},{"id":"ndjson_stream","label":"NDJSON conversion stream","status":"implemented","routes":["/api/convert/stream"],"use":"Line-delimited manifest and chunk records for agents that want progressive reads without SSE."},{"id":"mcp_json_rpc","label":"MCP JSON-RPC tools","status":"implemented","routes":["/api/mcp","/.well-known/mcp.json"],"use":"Agent tool calls, resources, prompts, conversion previews, artifact manifests, and public-safe introspection."},{"id":"atom_updates","label":"Atom/RSS update feeds","status":"implemented_for_updates","routes":["/atom.xml","/rss.xml","/feed.xml"],"use":"Public change discovery and capability updates. These feeds are not conversion transports."},{"id":"sse","label":"Server-Sent Events","status":"not_implemented_not_required","routes":[],"use":"Not needed for current conversion because NDJSON streaming, chunk manifests, and MCP cover automation needs."},{"id":"async_jobs","label":"Async queued conversion jobs","status":"planned","routes":[],"use":"Future durable jobs for long-running, persisted, or multi-step conversions once durable storage is configured."}],"webStatus":{"schemaVersion":"web.status.v1","page":"https://ascii.platphormnews.com/web/status","api":"https://ascii.platphormnews.com/api/web/status","scorecard":"https://ascii.platphormnews.com/api/web/scorecard","manifest":"https://ascii.platphormnews.com/api/web/manifest","fingerprints":"https://ascii.platphormnews.com/api/web/fingerprints"},"discoverability":{"seo":{"canonical":"https://ascii.platphormnews.com","keywords":["image to ascii converter","ASCII art generator","photo to ASCII","screenshot to ASCII","browser screenshot artifact","deASCII reconstruction","ASCII to image round trip","line preserving ASCII","chroma sidecar metadata","exact source color grid","MCP image conversion tool","Model Context Protocol ASCII","agentic web artifact","PlatPhormNews ASCII","open source ASCII converter","WCAG accessible image converter","OpenAPI ASCII conversion","LLMS.txt ASCII tool","Vercel Blob image artifact","BrowserOps screenshot conversion"],"ogImage":"https://ascii.platphormnews.com/og-image.png","twitterImage":"https://ascii.platphormnews.com/twitter-image.png","shareCard":"https://ascii.platphormnews.com/share-card.png","defaultSampleImage":"https://ascii.platphormnews.com/images/default-sample.png"},"aeo":{"structuredData":["WebApplication","HowTo","FAQPage","SoftwareSourceCode","BreadcrumbList","BlogPosting"],"answerTargets":["image to ASCII converter","ASCII to image round trip","deASCII reconstruction","MCP image conversion tool"]},"geo":{"distribution":"Global","region":"US","trustedNetwork":"*.platphormnews.com"}},"i18n":{"defaultLocale":"en-US","locales":[{"code":"en-US","slug":"","label":"English","dir":"ltr"},{"code":"es","slug":"es","label":"Espanol","dir":"ltr"},{"code":"fr","slug":"fr","label":"Francais","dir":"ltr"},{"code":"de","slug":"de","label":"Deutsch","dir":"ltr"},{"code":"pt-BR","slug":"pt-br","label":"Portugues do Brasil","dir":"ltr"},{"code":"ja","slug":"ja","label":"Japanese","dir":"ltr"}],"alternates":{"en-US":"https://ascii.platphormnews.com/","es":"https://ascii.platphormnews.com/es","fr":"https://ascii.platphormnews.com/fr","de":"https://ascii.platphormnews.com/de","pt-BR":"https://ascii.platphormnews.com/pt-br","ja":"https://ascii.platphormnews.com/ja","x-default":"https://ascii.platphormnews.com/"}},"content":{"blog":[{"title":"Image to ASCII Converter 1.0.0: compact text, exact color grids, and deASCII round trips","url":"https://ascii.platphormnews.com/blog/image-to-ascii-deascii-roundtrip-1-0","publishedAt":"2026-06-11T14:00:00.000Z","keywords":["image to ascii converter","ASCII art generator","deASCII round trip","ASCII to image","MCP image conversion","LLMS.txt","open source image converter","BrowserOps artifact"]}],"openSource":{"url":"https://ascii.platphormnews.com/open-source","repository":"https://github.com/mbarbine/image-to-ascii-webby","license":"MIT"}},"artifacts":{"list":"https://ascii.platphormnews.com/api/artifacts","convertUrl":"https://ascii.platphormnews.com/api/convert/url","convertBrowserOps":"https://ascii.platphormnews.com/api/convert/browserops","convertAgentUi":"https://ascii.platphormnews.com/api/convert/agentui","manifestTemplate":"https://ascii.platphormnews.com/api/artifacts/{id}/manifest","chunksTemplate":"https://ascii.platphormnews.com/api/artifacts/{id}/chunks","downloads":["txt","md","html","svg","json","ndjson"],"storageMode":"server_temp","noHard2mbLimit":true,"publicTrustedSources":["*.platphormnews.com","*.public.blob.vercel-storage.com"],"untrustedExternalSourcesRequire":"PLATPHORM_API_KEY"},"webhookCapabilities":{"storageMode":"ephemeral-memory","protectedMutations":true,"events":["conversion.started","conversion.completed","conversion.failed","health.degraded","health.restored"]},"tools":["convert_image","get_ascii_info","get_ascii_status","get_web_status","get_conversion_capabilities","estimate_ascii_output","convert_image_to_ascii_preview","convert_image_url_to_ascii_preview","convert_large_image_to_ascii_manifest","list_ascii_artifacts","get_ascii_artifact","get_ascii_artifact_manifest","get_ascii_artifact_chunks","get_ascii_chunk","list_charsets","get_charset","get_info","get_health","subscribe_webhook","list_webhooks","delete_webhook","test_webhook","get_route_compliance","get_discovery_compliance","create_docs_report","create_sheet_report","create_deck_summary","convert_image_to_ascii_stream","convert_browserops_screenshot_to_ascii","publish_ascii_artifact_to_docs","send_ascii_artifact_to_agentui","send_ascii_artifact_to_evals","save_as_png"],"resources":["ascii://capabilities","ascii://charsets","ascii://charset/{slug}","ascii://info","ascii://status","ascii://examples","ascii://artifacts","ascii://artifact/{id}","ascii://artifact/{id}/manifest","ascii://artifact/{id}/chunks","ascii://webhooks","ascii://openapi","ascii://llms","ascii://web-status","ascii://agent-policy","ascii://trust-policy"],"prompts":["convert_image_to_ascii","convert_screenshot_to_ascii","convert_browserops_artifact","create_ascii_docs_report","create_agentui_ascii_block","create_evals_ascii_packet","explain_ascii_settings","generate_ascii_style_recommendation","create_ascii_export_plan","debug_ascii_conversion","debug_large_ascii_conversion","create_ascii_artifact_manifest","human_machine_ascii_handoff"],"trustedDomains":{"defaultPolicy":"*.platphormnews.com","discoverySources":["https://platphormnews.com/api/network/graph","https://base.platphormnews.com/sitemap-index.xml"],"blockedTargets":["localhost","private-ip","link-local","metadata-service"]},"routeStandard":{"score":1,"status":"implemented","checkedAt":"2026-06-13T20:33:59.048Z","routes":[{"route":"/","status":"implemented","publicSafe":false},{"route":"/blog","status":"implemented","publicSafe":true},{"route":"/blog/image-to-ascii-deascii-roundtrip-1-0","status":"implemented","publicSafe":true},{"route":"/docs","status":"implemented","publicSafe":false},{"route":"/i18n","status":"implemented","publicSafe":true},{"route":"/open-source","status":"implemented","publicSafe":true},{"route":"/roadmap","status":"implemented","publicSafe":true},{"route":"/web/status","status":"implemented","publicSafe":true},{"route":"/api/health","status":"implemented","publicSafe":true},{"route":"/api/v1/health","status":"implemented","publicSafe":true},{"route":"/api/v1/info","status":"implemented","publicSafe":true},{"route":"/api/v1/charsets","status":"implemented","publicSafe":true},{"route":"/api/ascii/status","status":"implemented","publicSafe":true},{"route":"/api/ascii/storage/status","status":"implemented","publicSafe":true},{"route":"/api/web/status","status":"implemented","publicSafe":true},{"route":"/api/web/manifest","status":"implemented","publicSafe":true},{"route":"/api/web/scorecard","status":"implemented","publicSafe":true},{"route":"/api/web/fingerprints","status":"implemented","publicSafe":true},{"route":"/api/docs","status":"implemented","publicSafe":true},{"route":"/openapi.yaml","status":"implemented","publicSafe":true},{"route":"/openapi.json","status":"implemented","publicSafe":true},{"route":"/llms.txt","status":"implemented","publicSafe":true},{"route":"/llms-full.txt","status":"implemented","publicSafe":true},{"route":"/llms-index.json","status":"implemented","publicSafe":true},{"route":"/robots.txt","status":"implemented","publicSafe":true},{"route":"/sitemap.xml","status":"implemented","publicSafe":true},{"route":"/sitemap-index.xml","status":"implemented","publicSafe":true},{"route":"/rss.xml","status":"implemented","publicSafe":true},{"route":"/feed.xml","status":"implemented","publicSafe":true},{"route":"/atom.xml","status":"implemented","publicSafe":true},{"route":"/manifest.webmanifest","status":"implemented","publicSafe":true},{"route":"/manifest.json","status":"implemented","publicSafe":true},{"route":"/.well-known/mcp.json","status":"implemented","publicSafe":true},{"route":"/.well-known/agents.json","status":"implemented","publicSafe":true},{"route":"/.well-known/ai-plugin.json","status":"implemented","publicSafe":true},{"route":"/.well-known/security.txt","status":"implemented","publicSafe":true},{"route":"/.well-known/trust.json","status":"implemented","publicSafe":true},{"route":"/api/mcp","status":"implemented","publicSafe":true},{"route":"/api/convert","status":"implemented","publicSafe":false},{"route":"/api/convert/url","status":"implemented","publicSafe":true},{"route":"/api/convert/browserops","status":"implemented","publicSafe":true},{"route":"/api/convert/agentui","status":"implemented","publicSafe":true},{"route":"/api/convert/chunked","status":"implemented","publicSafe":true},{"route":"/api/convert/stream","status":"implemented","publicSafe":true},{"route":"/api/artifacts","status":"implemented","publicSafe":false},{"route":"/api/webhooks","status":"implemented","publicSafe":false}],"protectedActions":["POST /api/webhooks","DELETE /api/webhooks","DELETE /api/webhooks/{id}","POST /api/v1/webhooks/test","Untrusted external image artifact URL fetches","POST /api/convert/docs","POST /api/convert/evals","POST /api/artifacts/{id}/publish/docs","POST /api/artifacts/{id}/send/agentui","POST /api/artifacts/{id}/send/evals","MCP subscribe_webhook","MCP delete_webhook","MCP test_webhook","MCP untrusted external image artifact URL fetches","MCP publish_ascii_artifact_to_docs","MCP send_ascii_artifact_to_agentui","MCP send_ascii_artifact_to_evals","MCP create_docs_report","MCP create_sheet_report","MCP create_deck_summary"]},"integrations":[{"service":"trace","url":"https://trace.platphormnews.com","status":"trace_export_attempted"},{"service":"mcp","url":"https://mcp.platphormnews.com","status":"read_only_discovery"},{"service":"docs","url":"https://docs.platphormnews.com","status":"report_degraded_without_backend"},{"service":"evals","url":"https://evals.platphormnews.com","status":"protected_trigger_required"},{"service":"browserops","url":"https://browserops.platphormnews.com","status":"trusted_artifact_conversion_public"},{"service":"webhooks","url":"https://webhooks.platphormnews.com","status":"protected_trigger_required"},{"service":"sandbox","url":"https://sandbox.platphormnews.com","status":"protected_trigger_required"},{"service":"sheets","url":"https://sheets.platphormnews.com","status":"report_degraded_without_backend"},{"service":"decks","url":"https://decks.platphormnews.com","status":"report_degraded_without_backend"},{"service":"claws","url":"https://claws.platphormnews.com","status":"protected_remediation_required"}],"trustPolicy":"Web dashboard, public-safe discovery, browser-based operations, trusted-domain discovery, standard route compliance, Vercel metadata capture, trace inspection, and agentic workflow discovery are intentionally supported for public read-only debugging and operator workflows. ASCII browser-local conversion, preview, copy, local export, trusted *.platphormnews.com artifact conversion, and trusted Vercel Blob image artifact conversion are intentionally public to support frictionless PlatPhorm network automation. Mutating, administrative, ingestion from untrusted external sources, replay, fork, remediation, deployment, sync, test-triggering, reporting, cross-service publishing, server persistence, and write actions require PLATPHORM_API_KEY.","discovery":{"score":1,"status":"implemented","checkedAt":"2026-06-13T20:33:59.049Z","files":[{"route":"/llms.txt","status":"implemented"},{"route":"/llms-full.txt","status":"implemented"},{"route":"/llms-index.json","status":"implemented"},{"route":"/openapi.yaml","status":"implemented"},{"route":"/rss.xml","status":"implemented"},{"route":"/feed.xml","status":"implemented"},{"route":"/atom.xml","status":"implemented"},{"route":"/sitemap.xml","status":"implemented"},{"route":"/sitemap-index.xml","status":"implemented"},{"route":"/robots.txt","status":"implemented"},{"route":"/manifest.webmanifest","status":"implemented"},{"route":"/.well-known/mcp.json","status":"implemented"},{"route":"/.well-known/agents.json","status":"implemented"},{"route":"/.well-known/ai-plugin.json","status":"implemented"},{"route":"/.well-known/security.txt","status":"implemented"},{"route":"/.well-known/trust.json","status":"implemented"}],"discoverySources":["https://platphormnews.com/api/network/graph","https://base.platphormnews.com/sitemap-index.xml"]},"updatedAt":"2026-06-13T20:33:59.048Z"}