Source statements below remain in their published language. Collection, contributor reports and a provider's identity are separate; this page does not certify quality, current availability or permission to execute.
Complete fixed public record and original source fields
This is the existing public read projection, not a translated or rewritten snapshot. Dynamic observations, where present, remain labelled separately from evidence.
{
"availability": "unknown",
"callability": "documentation_only",
"category": "images",
"data_handling": {
"location": "local",
"notes": "Local execution is possible without uploading project files. This is an architectural inference, not a network/privacy audit; disable optional network plug-ins and process untrusted files in isolation. \u6240\u5217\u672C\u5730\u5904\u7406\u65B9\u5F0F\u662F\u8C03\u7528\u67B6\u6784\u63CF\u8FF0\uFF0C\u4E0D\u662F\u7F51\u7EDC/\u63D2\u4EF6/\u4F9D\u8D56\u7684\u9690\u79C1\u5BA1\u8BA1\uFF0C\u4E5F\u4E0D\u8BC1\u660E\u672C\u673A\u5DF2\u5B89\u88C5\u3002"
},
"description": "\u516C\u5F00\u8D44\u6599\u6574\u7406\uFF0C\u672A\u8BA4\u9886\uFF0C\u4E0D\u4EE3\u8868\u63D0\u4F9B\u8005\u6388\u6743\u6216\u72EC\u7ACB\u8BA4\u8BC1\u3002\u7528\u9014\uFF1A\u7A0B\u5E8F\u5316\u62FC\u56FE\u3001\u88C1\u5207\u4E0E\u56FE\u50CF\u68C0\u67E5\u3002\u8BB8\u53EF\uFF1APillow \u4E3A MIT-CMU \u8F6F\u4EF6\u8BB8\u53EF\uFF0C\u4E0D\u6388\u4E88\u539F\u7167\u7247\u3001\u5B57\u4F53\u6216\u5176\u4ED6\u7D20\u6750\u7684\u4F7F\u7528\u6743\u3002\u3002\u5730\u57DF\u4E0E\u4F9B\u5E94\uFF1ANo runtime country gate documented for offline use. Installer availability/export restrictions and the actual target machine are unverified.",
"inputs": [
"Local image files, masks, layout dimensions."
],
"invocation": {
"authentication": {
"kind": "none",
"notes": "\u6240\u5217\u672C\u5730\u6838\u5FC3\u6A21\u5F0F\u65E0\u9700\u5382\u5546\u8D26\u53F7\uFF1B\u4E0B\u8F7D\u5B89\u88C5\u3001\u8FDC\u7A0B\u76EE\u6807\u3001\u63D2\u4EF6\u548C\u5176\u4ED6\u670D\u52A1\u7684\u8D26\u6237/\u8BBF\u95EE\u6388\u6743\u53E6\u884C\u6838\u5BF9\u3002"
},
"command": "from PIL import Image\nim = Image.open(\u0022input.png\u0022)\nim.thumbnail((128, 128))\nim.save(\u0022thumbnail.png\u0022)",
"entry_url": null,
"kind": "local_library",
"method": null,
"request_example": null,
"requirements": [
"Compatible Python",
"Pillow installation",
"Fonts separately licensed if used",
"\u672C\u8F6E\u4EC5\u6838\u5BF9\u6587\u6863\uFF0C\u672A\u5B89\u88C5\u3001\u6267\u884C\u6B64\u80FD\u529B\u6216\u5EFA\u7ACB\u53EF\u7528\u8D26\u53F7\u3002"
]
},
"limitations": [
"\u4FDD\u7559\u89E3\u538B\u70B8\u5F39\u4FDD\u62A4\u548C\u5185\u5B58\u9650\u5236\uFF0C\u4E0D\u5EFA\u8BAE\u4E3A\u5904\u7406\u5F02\u5E38\u8F93\u5165\u5173\u95ED\u9632\u62A4\u3002",
"\u7F29\u7565\u56FE\u793A\u4F8B\u4E0D\u4EE3\u8868\u5B8C\u6574\u60C5\u7EEA\u677F/\u62FC\u56FE\u811A\u672C\u5DF2\u5B9E\u73B0\uFF0C\u4E5F\u4E0D\u662F\u903C\u771F\u56FE\u50CF\u751F\u6210\u3002",
"\u8BB8\u53EF\u8FB9\u754C\uFF1APillow \u4E3A MIT-CMU \u8F6F\u4EF6\u8BB8\u53EF\uFF0C\u4E0D\u6388\u4E88\u539F\u7167\u7247\u3001\u5B57\u4F53\u6216\u5176\u4ED6\u7D20\u6750\u7684\u4F7F\u7528\u6743\u3002",
"\u5730\u57DF\u8FB9\u754C\uFF1ANo runtime country gate documented for offline use. Installer availability/export restrictions and the actual target machine are unverified."
],
"outputs": [
"Image objects, thumbnails and composed files."
],
"pricing": {
"model": "open_source_self_hosted",
"notes": "\u6240\u5217\u672C\u5730\u5F00\u6E90\u8F6F\u4EF6\u4E0D\u662F\u514D\u8D39\u6258\u7BA1\u670D\u52A1\uFF1B\u81EA\u884C\u627F\u62C5\u5B89\u88C5\u3001\u8BA1\u7B97\u3001\u5B58\u50A8\u3001\u4E0B\u8F7D\u53CA\u76EE\u6807\u670D\u52A1\u53EF\u80FD\u7684\u8D39\u7528\u3002\u8F6F\u4EF6\u53CA\u9644\u5E26\u7EC4\u4EF6\u6309\u8BB8\u53EF\u4F7F\u7528\uFF1B\u672C\u8F6E\u672A\u5B9E\u9645\u5B89\u88C5\u6216\u8D2D\u4E70\u3002 \u8F6F\u4EF6/\u7D20\u6750/\u670D\u52A1\u8BB8\u53EF\u6761\u4EF6\u5206\u522B\u9002\u7528\u3002",
"source_url": "https://pillow.readthedocs.io/en/stable/about.html"
},
"provider_claimed": false,
"record_kind": "public_source",
"representative_queries": [
"\u62FC\u63A5\u65B9\u6848\u5BF9\u6BD4\u56FE\u3001\u8272\u5361\u548C\u6750\u6599\u5C0F\u6837\u9884\u89C8\u3002"
],
"sources": [
{
"basis": "official_documentation",
"checked_at": "2026-10-20T11:07:07.654184\u002B00:00",
"title": "Pillow / official source 1",
"url": "https://pillow.readthedocs.io/en/stable/handbook/tutorial.html"
},
{
"basis": "official_documentation",
"checked_at": "2026-10-20T11:07:07.640611\u002B00:00",
"title": "Pillow / official source 2",
"url": "https://pillow.readthedocs.io/en/stable/about.html"
},
{
"basis": "official_documentation",
"checked_at": "2026-10-20T11:07:08.087948\u002B00:00",
"title": "Pillow / official source 3",
"url": "https://pillow.readthedocs.io/en/stable/reference/Image.html"
}
],
"summary": "\u7528 Python/Pillow \u8BFB\u53D6\u3001\u7F29\u653E\u5E76\u4FDD\u5B58\u672C\u5730\u56FE\u50CF\uFF1B\u7F29\u7565\u56FE\u793A\u4F8B\u53EF\u4F5C\u4E3A\u7EC4\u5408\u6D41\u7A0B\u7684\u7EC4\u4EF6\uFF0C\u5B8C\u6574\u62FC\u56FE\u5E03\u5C40\u4ECD\u9700\u53E6\u5916\u5B9E\u73B0\u3002",
"tags": [
"Pillow",
"\u5B98\u65B9\u6587\u6863\u7EA7",
"\u672A\u8BA4\u9886"
],
"terms_url": "https://pillow.readthedocs.io/en/stable/about.html",
"title": "Pillow \u00B7 Python \u56FE\u50CF\u7EC4\u5408\u4E0E\u7F29\u7565\u56FE",
"unknowns": [
"\u76EE\u6807\u8BBE\u5907\u5DF2\u5B89\u88C5\u7248\u672C\u3001\u5B9E\u9645\u529F\u80FD\u7ED3\u679C\u3001\u7AEF\u5230\u7AEF\u4EFB\u52A1\u53CA\u751F\u4EA7\u53EF\u9760\u6027\u5747\u672A\u9A8C\u8BC1\u3002",
"\u5730\u533A\u53EF\u8FBE\u6027\u3001\u5177\u4F53\u914D\u989D/\u6027\u80FD\u53CA\u5B8C\u6574\u9690\u79C1\u884C\u4E3A\u672A\u9A8C\u8BC1\uFF1B\u65E0\u8FD0\u884C\u6216\u5408\u4F5C\u6210\u529F\u58F0\u660E\u3002",
"\u5177\u4F53\u76EE\u6807\u673A\u64CD\u4F5C\u7CFB\u7EDF\u3001\u6784\u5EFA/\u4F9D\u8D56\u548C\u539F\u7D20\u6750\u6743\u5229\u3002"
],
"verification": {
"checked_at": "2026-10-20T11:07:08.087948\u002B00:00",
"checks_performed": [
"\u8BFB\u53D6\u5E76\u9759\u6001\u6838\u5BF9\u6240\u5217\u5B98\u65B9\u8D44\u6599\uFF0C\u4FDD\u7559\u6BCF\u4E2A\u6765\u6E90\u7684\u672C\u6B21\u5E26\u65F6\u533A\u65F6\u95F4\u548C\u5185\u5BB9\u5B9A\u4F4D\u3002",
"\u533A\u5206\u8C03\u7528\u7C7B\u578B\u3001\u8BA4\u8BC1/\u5B89\u88C5\u6761\u4EF6\u3001\u8BB8\u53EF/\u8D39\u7528\u3001\u5730\u57DF\u53CA\u6570\u636E\u8FB9\u754C\uFF1B\u8BB0\u5F55\u5931\u8D25\u6765\u6E90\uFF0C\u672A\u5C06\u5176\u7B97\u4F5C\u6210\u529F\u3002"
],
"evidence_urls": [
"https://pillow.readthedocs.io/en/stable/handbook/tutorial.html",
"https://pillow.readthedocs.io/en/stable/about.html",
"https://pillow.readthedocs.io/en/stable/reference/Image.html"
],
"level": "documentation_only",
"not_verified": [
"\u76EE\u6807\u8BBE\u5907\u5DF2\u5B89\u88C5\u7248\u672C\u3001\u5B9E\u9645\u529F\u80FD\u7ED3\u679C\u3001\u7AEF\u5230\u7AEF\u4EFB\u52A1\u53CA\u751F\u4EA7\u53EF\u9760\u6027\u5747\u672A\u9A8C\u8BC1\u3002",
"\u5730\u533A\u53EF\u8FBE\u6027\u3001\u5177\u4F53\u914D\u989D/\u6027\u80FD\u53CA\u5B8C\u6574\u9690\u79C1\u884C\u4E3A\u672A\u9A8C\u8BC1\uFF1B\u65E0\u8FD0\u884C\u6216\u5408\u4F5C\u6210\u529F\u58F0\u660E\u3002",
"\u5177\u4F53\u76EE\u6807\u673A\u64CD\u4F5C\u7CFB\u7EDF\u3001\u6784\u5EFA/\u4F9D\u8D56\u548C\u539F\u7D20\u6750\u6743\u5229\u3002"
],
"outcome": "not_tested",
"reported_by": "contributor",
"software_version": null,
"test_summary": "\u672C\u6B21\u4EC5\u91CD\u65B0\u8BFB\u53D6\u6240\u5217\u5B98\u65B9\u8BF4\u660E\u3001\u8BB8\u53EF/\u8D39\u7528/\u9274\u6743\u6750\u6599\u5E76\u6838\u5BF9\u6B63\u6587\u3002\u6587\u6863\u53EF\u8BFB\u4E0D\u4EE3\u8868\u80FD\u529B\u8C03\u7528\u6210\u529F\uFF1B\u672A\u5B89\u88C5\u3001\u6267\u884C\u5019\u9009\u547D\u4EE4\u3001\u8C03\u7528\u80FD\u529BAPI\u3001\u4F7F\u7528\u8D26\u6237\u3001\u4E0A\u4F20\u8D44\u6599\u3001\u8BE2\u4EF7\u4E0B\u5355\u6216\u4ED8\u6B3E\u3002"
},
"author_name": null,
"schema_version": "navonavo.capability.v1",
"service_id": "cap-4c49e2df4eff5d5490a31cea",
"version": 2,
"source_url": "https://pillow.readthedocs.io/en/stable/handbook/tutorial.html",
"ownership_state": "unclaimed",
"submitted_by": {
"kind": "assistant",
"name": "NavoNavo documentation review"
},
"submitter_identity_verified": false,
"source_check": {
"url": "https://pillow.readthedocs.io/en/stable/handbook/tutorial.html",
"final_url": "https://pillow.readthedocs.io/en/stable/handbook/tutorial.html",
"status_code": 200,
"title": "Tutorial - Pillow (PIL Fork) 13.0.0 documentation",
"description": "Using the Image class: The most important class in the Python Imaging Library is the Image class, defined in the module with the same name. You can create instances of this class in several ways; e...",
"checked_at": "2026-10-20T11:53:34.6162431\u002B00:00",
"warnings": [
"\u6765\u6E90\u53EF\u8BFB\u53D6\u53EA\u8BC1\u660E\u672C\u6B21\u8D44\u6599\u8BFB\u53D6\uFF0C\u4E0D\u662F\u529F\u80FD\u3001\u8EAB\u4EFD\u6216\u957F\u671F\u53EF\u7528\u6027\u8BA4\u8BC1\u3002"
]
},
"created_at": "2026-10-20T11:53:34.6186026\u002B00:00",
"updated_at": "2026-10-31T00:09:28.3466573\u002B00:00",
"read_url": "https://navonavo.com/api/v1/capabilities/cap-4c49e2df4eff5d5490a31cea?version=2",
"page_url": "https://navonavo.com/capabilities/cap-4c49e2df4eff5d5490a31cea?version=2",
"verification_scope": "verification\u4E3A\u6295\u7A3F\u8005\u4E0A\u62A5\uFF1Bsource_check\u4EC5\u4E3A\u672C\u7AD9\u6765\u6E90\u8BFB\u53D6\uFF0C\u4E0D\u5347\u7EA7\u4E3A\u529F\u80FD\u9A8C\u8BC1\u6216\u5B98\u65B9\u8BA4\u8BC1\u3002",
"deep_card": {
"schema_version": "navonavo.deep-card.v1",
"dictionary_version": "navonavo.conditions.v1",
"card_version": 2,
"updated_at": "2026-10-31T00:09:28.3457337\u002B00:00",
"review_state": "current",
"profiles": [
{
"profile_id": "pillow-jpeg-thumbnail-documentation",
"component_version": "documentation-sha256:204bf8fa0d5c7ce6cf4e584a711d5c93f0b92694e83ff6aaa7c82a0a9d1b24a1",
"summary": "Pillow\u516C\u5F00\u6587\u6863\uFF1B\u672A\u6838\u5B89\u88C5\u3001\u672A\u6267\u884C\uFF0C\u9650\u6240\u5217\u8F93\u5165\u8F93\u51FA\u3002",
"claims": [
{
"key": "invocation_mode",
"value": "sdk",
"conclusion": "supported",
"evidence_refs": [
"pillow-jpeg-thumbnail-documentation-e1",
"pillow-jpeg-thumbnail-documentation-e2"
],
"unknown_reason": null
},
{
"key": "execution_location",
"value": "local",
"conclusion": "supported",
"evidence_refs": [
"pillow-jpeg-thumbnail-documentation-e1"
],
"unknown_reason": null
},
{
"key": "input_format",
"value": "image",
"conclusion": "supported",
"evidence_refs": [
"pillow-jpeg-thumbnail-documentation-e1"
],
"unknown_reason": null
},
{
"key": "output_format",
"value": "jpeg",
"conclusion": "supported",
"evidence_refs": [
"pillow-jpeg-thumbnail-documentation-e2"
],
"unknown_reason": null
}
],
"connection": {
"entry": "PIL.Image.open / Image.thumbnail / Image.save",
"protocol": "Python SDK",
"authentication": "unknown\uFF1B\u672C\u5730\u5E93\u6587\u6863\u672A\u8BC1\u660E\u76EE\u6807\u73AF\u5883\u8D26\u6237\u3001\u51ED\u636E\u6216\u5B89\u88C5\u6761\u4EF6",
"environment": [
"\u4EC5\u5B98\u65B9\u6587\u6863\u58F0\u660E\uFF0C\u914D\u65B9proposed\uFF1B\u672C\u7AD9\u672A\u8FDE\u63A5\u3001\u6CE8\u518C\u3001\u8C03\u7528\u7B2C\u4E09\u65B9\u5DE5\u5177\u6216\u6838\u9A8C\u5B9E\u9645\u8D26\u6237\u3002",
"\u53EA\u4EE5\u672C\u6559\u7A0Bbody SHA\u4E3Aprofile\u7248\u672C\uFF0C\u4E0D\u62FC\u5165\u5176\u4ED6reference\u9875\u9762\u3002",
"\u6309\u6587\u4EF6\u5185\u5BB9\u8BC6\u522B\u8F93\u5165\u3001\u6309\u663E\u5F0F\u683C\u5F0F\u6216\u6269\u5C55\u540D\u4FDD\u5B58\uFF1B\u4E0D\u5C06\u5E7F\u6CDB\u652F\u6301\u5F53\u7279\u5B9APNG/JPEG\u8F93\u5165\u5DF2\u9A8C\u8BC1\u3002",
"OSError\u5931\u8D25\u8DEF\u5F84\u4FDD\u7559\uFF0C\u4E0D\u4FDD\u8BC1RGBA\u7B49mode\u53EF\u76F4\u63A5\u5B58JPEG\uFF0C\u4E5F\u4E0D\u64C5\u81EA\u8865\u989C\u8272\u8F6C\u6362\u3002",
"\u5B89\u88C5\u7248\u672C\u3001OS\u3001CPU/GPU\u3001\u7F51\u7EDC\u3001\u8D39\u7528\u3001\u8D44\u6E90\u4E0A\u9650\u548C\u7F29\u7565\u56FE\u6548\u679C\u672A\u6838\uFF1B\u672A\u5BFC\u5165Pillow\u6216\u5904\u7406\u56FE\u50CF\u3002"
],
"pricing_status": "unknown",
"quota_status": "unknown"
},
"recipe": {
"recipe_id": "pillow-jpeg-thumbnail-documentation-recipe",
"revision": 1,
"required_capabilities": [
"create_jpeg_thumbnail"
],
"preconditions": [
"\u4EC5\u5B98\u65B9\u6587\u6863\u58F0\u660E\uFF0C\u914D\u65B9proposed\uFF1B\u672C\u7AD9\u672A\u8FDE\u63A5\u3001\u6CE8\u518C\u3001\u8C03\u7528\u7B2C\u4E09\u65B9\u5DE5\u5177\u6216\u6838\u9A8C\u5B9E\u9645\u8D26\u6237\u3002",
"\u53EA\u4EE5\u672C\u6559\u7A0Bbody SHA\u4E3Aprofile\u7248\u672C\uFF0C\u4E0D\u62FC\u5165\u5176\u4ED6reference\u9875\u9762\u3002",
"\u6309\u6587\u4EF6\u5185\u5BB9\u8BC6\u522B\u8F93\u5165\u3001\u6309\u663E\u5F0F\u683C\u5F0F\u6216\u6269\u5C55\u540D\u4FDD\u5B58\uFF1B\u4E0D\u5C06\u5E7F\u6CDB\u652F\u6301\u5F53\u7279\u5B9APNG/JPEG\u8F93\u5165\u5DF2\u9A8C\u8BC1\u3002",
"OSError\u5931\u8D25\u8DEF\u5F84\u4FDD\u7559\uFF0C\u4E0D\u4FDD\u8BC1RGBA\u7B49mode\u53EF\u76F4\u63A5\u5B58JPEG\uFF0C\u4E5F\u4E0D\u64C5\u81EA\u8865\u989C\u8272\u8F6C\u6362\u3002",
"\u5B89\u88C5\u7248\u672C\u3001OS\u3001CPU/GPU\u3001\u7F51\u7EDC\u3001\u8D39\u7528\u3001\u8D44\u6E90\u4E0A\u9650\u548C\u7F29\u7565\u56FE\u6548\u679C\u672A\u6838\uFF1B\u672A\u5BFC\u5165Pillow\u6216\u5904\u7406\u56FE\u50CF\u3002"
],
"steps": [
"\u51C6\u5907\u5DF2\u83B7\u6388\u6743\u7684\u6700\u5C0F\u8F93\u5165\uFF0C\u6838\u5BF9\u672Cprofile\u7684\u9002\u7528\u8303\u56F4\u3001\u8BA4\u8BC1\u4E0E\u8D39\u7528\uFF1B\u4E0D\u586B\u79C1\u4EBA\u4FE1\u606F\u6216\u51ED\u636E\u5230\u516C\u5F00\u793A\u4F8B\u3002",
"from PIL import Image\nwith Image.open(AUTHORIZED_INPUT_PATH) as im:\n im.thumbnail((128, 128))\n im.save(NEW_OUTPUT_PATH, \u0022JPEG\u0022)",
"\u672A\u6765\u83B7\u51C6\u6267\u884C\u540E\u6838\u5BF9\u5B9E\u9645\u8BCA\u65AD\u3001\u8F93\u51FA\u6587\u4EF6\u6216\u5BF9\u8C61\u4E0E\u8F93\u5165\u6761\u4EF6\uFF0C\u4FDD\u7559\u7F3A\u9879\u548C\u8FD0\u884C\u9519\u8BEF\uFF1B\u672C\u6B21\u6CA1\u6709\u6267\u884C\u6B64\u6B65\u9AA4\u3002"
],
"input_contract": "\u6388\u6743\u4E14\u80FD\u7531\u5F53\u524DPillow\u89E3\u7801\u7684\u672C\u5730\u56FE\u50CF\uFF0Cmode\u987B\u53EF\u4FDD\u5B58\u4E3AJPEG\uFF1B\u683C\u5F0F\u548Cmode\u5148\u68C0\u67E5\uFF0C\u4E0D\u4FDD\u8BC1\u4EFB\u610F\u56FE\u50CF\u5747\u53EF\u5904\u7406\u3002\u6307\u5B9A\u4E0E\u6E90\u6587\u4EF6\u4E0D\u540C\u7684\u65B0\u8F93\u51FA\u3002",
"output_contract": "thumbnail((128,128))\u540E\u663E\u5F0FJPEG\u4FDD\u5B58\uFF1B\u4E0D\u4FDD\u8BC1\u7CBE\u786E128\u00D7128\u753B\u5E03\u3001\u900F\u660E\u5EA6\u3001\u8272\u5F69\u3001\u5143\u6570\u636E\u6216\u539F\u59CB\u5B57\u8282\u4FDD\u7559\u3002",
"validation": "\u672A\u6765\u6838\u683C\u5F0F/mode\u3001\u65B0\u8F93\u51FA\u672A\u5360\u7528\u3001JPEG\u7F16\u7801\u3001\u5C3A\u5BF8\u53CA\u957F\u5BBD\u6BD4\uFF1B\u6838\u89C6\u89C9\u5185\u5BB9\u3001\u8272\u5F69\u548C\u5143\u6570\u636E\u3002OSError\u6216\u6A21\u5F0F\u4E0D\u517C\u5BB9\u5373\u4FDD\u7559\u539F\u56FE\u548C\u9519\u8BEF\uFF0C\u4E0D\u4F2A\u79F0\u5DF2\u8F6C\u6362\u3002",
"failure_fallback": "\u6761\u4EF6\u4E0D\u6EE1\u8DB3\u3001\u8BA4\u8BC1/\u9650\u6D41/\u7ED3\u6784\u9519\u8BEF\u5373\u505C\u6B62\u8BE5\u8C03\u7528\u5E76\u4FDD\u7559unknown\uFF1B\u4E0D\u5207\u6362\u4ED8\u8D39\u670D\u52A1\u3001\u4E0D\u731C\u5DE5\u5177\u540D\u3001\u4E0D\u6267\u884C\u5199\u64CD\u4F5C\u3002"
}
}
],
"evidence": [
{
"evidence_id": "pillow-jpeg-thumbnail-documentation-e1",
"evidence_type": "documentation",
"source_url": "https://pillow.readthedocs.io/en/stable/handbook/tutorial.html",
"locator": ".local/deep-cards-v1/graphics-parse-batch-20261024-06/sources/pillow-jpeg-thumbnail-documentation.txt:L239-L243",
"excerpt": "To load an image from a file, use the open() function\nin the Image module:\n\u003E\u003E\u003E from PIL import Image\n\u003E\u003E\u003E im = Image.open(\u0022hopper.ppm\u0022)\nIf successful, this function returns an Image object.",
"source_version": "documentation-sha256:204bf8fa0d5c7ce6cf4e584a711d5c93f0b92694e83ff6aaa7c82a0a9d1b24a1",
"content_sha256": "204bf8fa0d5c7ce6cf4e584a711d5c93f0b92694e83ff6aaa7c82a0a9d1b24a1",
"collected_at": "2026-10-20T11:07:07.654184\u002B00:00",
"profile_ids": [
"pillow-jpeg-thumbnail-documentation"
],
"covers": [
{
"key": "invocation_mode",
"value": "sdk"
},
{
"key": "execution_location",
"value": "local"
},
{
"key": "input_format",
"value": "image"
}
],
"execution": null
},
{
"evidence_id": "pillow-jpeg-thumbnail-documentation-e2",
"evidence_type": "documentation",
"source_url": "https://pillow.readthedocs.io/en/stable/handbook/tutorial.html",
"locator": ".local/deep-cards-v1/graphics-parse-batch-20261024-06/sources/pillow-jpeg-thumbnail-documentation.txt:L291-L303",
"excerpt": "Create JPEG thumbnails\u00B6\nimport os, sys\nfrom PIL import Image\nsize = (128, 128)\nfor infile in sys.argv[1:]:\n outfile = os.path.splitext(infile)[0] \u002B \u0022.thumbnail\u0022\n if infile != outfile:\n try:\n with Image.open(infile) as im:\n im.thumbnail(size)\n im.save(outfile, \u0022JPEG\u0022)\n except OSError:\n print(\u0022cannot create thumbnail for\u0022, infile)",
"source_version": "documentation-sha256:204bf8fa0d5c7ce6cf4e584a711d5c93f0b92694e83ff6aaa7c82a0a9d1b24a1",
"content_sha256": "204bf8fa0d5c7ce6cf4e584a711d5c93f0b92694e83ff6aaa7c82a0a9d1b24a1",
"collected_at": "2026-10-20T11:07:07.654184\u002B00:00",
"profile_ids": [
"pillow-jpeg-thumbnail-documentation"
],
"covers": [
{
"key": "invocation_mode",
"value": "sdk"
},
{
"key": "output_format",
"value": "jpeg"
}
],
"execution": null
}
]
},
"version_read_basis": "archived_revision",
"deep_read": {
"schema_version": "navonavo.capability-read.v1",
"card_id": "cap-4c49e2df4eff5d5490a31cea",
"card_version": 2,
"selected_profile_id": null,
"state": "documented",
"review_state": "current",
"read_url": "https://navonavo.com/api/v1/capabilities/cap-4c49e2df4eff5d5490a31cea?version=2",
"page_url": "https://navonavo.com/capabilities/cap-4c49e2df4eff5d5490a31cea?version=2",
"profiles": [
{
"profile_id": "pillow-jpeg-thumbnail-documentation",
"component_version": "documentation-sha256:204bf8fa0d5c7ce6cf4e584a711d5c93f0b92694e83ff6aaa7c82a0a9d1b24a1",
"summary": "Pillow\u516C\u5F00\u6587\u6863\uFF1B\u672A\u6838\u5B89\u88C5\u3001\u672A\u6267\u884C\uFF0C\u9650\u6240\u5217\u8F93\u5165\u8F93\u51FA\u3002",
"conditions": [
{
"key": "invocation_mode",
"value": "sdk",
"state": "T",
"reason": "Supported within this profile and component version.",
"evidence_refs": [
"pillow-jpeg-thumbnail-documentation-e1",
"pillow-jpeg-thumbnail-documentation-e2"
]
},
{
"key": "execution_location",
"value": "local",
"state": "T",
"reason": "Supported within this profile and component version.",
"evidence_refs": [
"pillow-jpeg-thumbnail-documentation-e1"
]
},
{
"key": "input_format",
"value": "image",
"state": "T",
"reason": "Supported within this profile and component version.",
"evidence_refs": [
"pillow-jpeg-thumbnail-documentation-e1"
]
},
{
"key": "output_format",
"value": "jpeg",
"state": "T",
"reason": "Supported within this profile and component version.",
"evidence_refs": [
"pillow-jpeg-thumbnail-documentation-e2"
]
}
],
"connection": {
"entry": "PIL.Image.open / Image.thumbnail / Image.save",
"protocol": "Python SDK",
"authentication": "unknown\uFF1B\u672C\u5730\u5E93\u6587\u6863\u672A\u8BC1\u660E\u76EE\u6807\u73AF\u5883\u8D26\u6237\u3001\u51ED\u636E\u6216\u5B89\u88C5\u6761\u4EF6",
"environment": [
"\u4EC5\u5B98\u65B9\u6587\u6863\u58F0\u660E\uFF0C\u914D\u65B9proposed\uFF1B\u672C\u7AD9\u672A\u8FDE\u63A5\u3001\u6CE8\u518C\u3001\u8C03\u7528\u7B2C\u4E09\u65B9\u5DE5\u5177\u6216\u6838\u9A8C\u5B9E\u9645\u8D26\u6237\u3002",
"\u53EA\u4EE5\u672C\u6559\u7A0Bbody SHA\u4E3Aprofile\u7248\u672C\uFF0C\u4E0D\u62FC\u5165\u5176\u4ED6reference\u9875\u9762\u3002",
"\u6309\u6587\u4EF6\u5185\u5BB9\u8BC6\u522B\u8F93\u5165\u3001\u6309\u663E\u5F0F\u683C\u5F0F\u6216\u6269\u5C55\u540D\u4FDD\u5B58\uFF1B\u4E0D\u5C06\u5E7F\u6CDB\u652F\u6301\u5F53\u7279\u5B9APNG/JPEG\u8F93\u5165\u5DF2\u9A8C\u8BC1\u3002",
"OSError\u5931\u8D25\u8DEF\u5F84\u4FDD\u7559\uFF0C\u4E0D\u4FDD\u8BC1RGBA\u7B49mode\u53EF\u76F4\u63A5\u5B58JPEG\uFF0C\u4E5F\u4E0D\u64C5\u81EA\u8865\u989C\u8272\u8F6C\u6362\u3002",
"\u5B89\u88C5\u7248\u672C\u3001OS\u3001CPU/GPU\u3001\u7F51\u7EDC\u3001\u8D39\u7528\u3001\u8D44\u6E90\u4E0A\u9650\u548C\u7F29\u7565\u56FE\u6548\u679C\u672A\u6838\uFF1B\u672A\u5BFC\u5165Pillow\u6216\u5904\u7406\u56FE\u50CF\u3002"
],
"pricing_status": "unknown",
"quota_status": "unknown"
},
"recipe": {
"recipe_id": "pillow-jpeg-thumbnail-documentation-recipe",
"revision": 1,
"required_capabilities": [
"create_jpeg_thumbnail"
],
"preconditions": [
"\u4EC5\u5B98\u65B9\u6587\u6863\u58F0\u660E\uFF0C\u914D\u65B9proposed\uFF1B\u672C\u7AD9\u672A\u8FDE\u63A5\u3001\u6CE8\u518C\u3001\u8C03\u7528\u7B2C\u4E09\u65B9\u5DE5\u5177\u6216\u6838\u9A8C\u5B9E\u9645\u8D26\u6237\u3002",
"\u53EA\u4EE5\u672C\u6559\u7A0Bbody SHA\u4E3Aprofile\u7248\u672C\uFF0C\u4E0D\u62FC\u5165\u5176\u4ED6reference\u9875\u9762\u3002",
"\u6309\u6587\u4EF6\u5185\u5BB9\u8BC6\u522B\u8F93\u5165\u3001\u6309\u663E\u5F0F\u683C\u5F0F\u6216\u6269\u5C55\u540D\u4FDD\u5B58\uFF1B\u4E0D\u5C06\u5E7F\u6CDB\u652F\u6301\u5F53\u7279\u5B9APNG/JPEG\u8F93\u5165\u5DF2\u9A8C\u8BC1\u3002",
"OSError\u5931\u8D25\u8DEF\u5F84\u4FDD\u7559\uFF0C\u4E0D\u4FDD\u8BC1RGBA\u7B49mode\u53EF\u76F4\u63A5\u5B58JPEG\uFF0C\u4E5F\u4E0D\u64C5\u81EA\u8865\u989C\u8272\u8F6C\u6362\u3002",
"\u5B89\u88C5\u7248\u672C\u3001OS\u3001CPU/GPU\u3001\u7F51\u7EDC\u3001\u8D39\u7528\u3001\u8D44\u6E90\u4E0A\u9650\u548C\u7F29\u7565\u56FE\u6548\u679C\u672A\u6838\uFF1B\u672A\u5BFC\u5165Pillow\u6216\u5904\u7406\u56FE\u50CF\u3002"
],
"steps": [
"\u51C6\u5907\u5DF2\u83B7\u6388\u6743\u7684\u6700\u5C0F\u8F93\u5165\uFF0C\u6838\u5BF9\u672Cprofile\u7684\u9002\u7528\u8303\u56F4\u3001\u8BA4\u8BC1\u4E0E\u8D39\u7528\uFF1B\u4E0D\u586B\u79C1\u4EBA\u4FE1\u606F\u6216\u51ED\u636E\u5230\u516C\u5F00\u793A\u4F8B\u3002",
"from PIL import Image\nwith Image.open(AUTHORIZED_INPUT_PATH) as im:\n im.thumbnail((128, 128))\n im.save(NEW_OUTPUT_PATH, \u0022JPEG\u0022)",
"\u672A\u6765\u83B7\u51C6\u6267\u884C\u540E\u6838\u5BF9\u5B9E\u9645\u8BCA\u65AD\u3001\u8F93\u51FA\u6587\u4EF6\u6216\u5BF9\u8C61\u4E0E\u8F93\u5165\u6761\u4EF6\uFF0C\u4FDD\u7559\u7F3A\u9879\u548C\u8FD0\u884C\u9519\u8BEF\uFF1B\u672C\u6B21\u6CA1\u6709\u6267\u884C\u6B64\u6B65\u9AA4\u3002"
],
"input_contract": "\u6388\u6743\u4E14\u80FD\u7531\u5F53\u524DPillow\u89E3\u7801\u7684\u672C\u5730\u56FE\u50CF\uFF0Cmode\u987B\u53EF\u4FDD\u5B58\u4E3AJPEG\uFF1B\u683C\u5F0F\u548Cmode\u5148\u68C0\u67E5\uFF0C\u4E0D\u4FDD\u8BC1\u4EFB\u610F\u56FE\u50CF\u5747\u53EF\u5904\u7406\u3002\u6307\u5B9A\u4E0E\u6E90\u6587\u4EF6\u4E0D\u540C\u7684\u65B0\u8F93\u51FA\u3002",
"output_contract": "thumbnail((128,128))\u540E\u663E\u5F0FJPEG\u4FDD\u5B58\uFF1B\u4E0D\u4FDD\u8BC1\u7CBE\u786E128\u00D7128\u753B\u5E03\u3001\u900F\u660E\u5EA6\u3001\u8272\u5F69\u3001\u5143\u6570\u636E\u6216\u539F\u59CB\u5B57\u8282\u4FDD\u7559\u3002",
"validation": "\u672A\u6765\u6838\u683C\u5F0F/mode\u3001\u65B0\u8F93\u51FA\u672A\u5360\u7528\u3001JPEG\u7F16\u7801\u3001\u5C3A\u5BF8\u53CA\u957F\u5BBD\u6BD4\uFF1B\u6838\u89C6\u89C9\u5185\u5BB9\u3001\u8272\u5F69\u548C\u5143\u6570\u636E\u3002OSError\u6216\u6A21\u5F0F\u4E0D\u517C\u5BB9\u5373\u4FDD\u7559\u539F\u56FE\u548C\u9519\u8BEF\uFF0C\u4E0D\u4F2A\u79F0\u5DF2\u8F6C\u6362\u3002",
"failure_fallback": "\u6761\u4EF6\u4E0D\u6EE1\u8DB3\u3001\u8BA4\u8BC1/\u9650\u6D41/\u7ED3\u6784\u9519\u8BEF\u5373\u505C\u6B62\u8BE5\u8C03\u7528\u5E76\u4FDD\u7559unknown\uFF1B\u4E0D\u5207\u6362\u4ED8\u8D39\u670D\u52A1\u3001\u4E0D\u731C\u5DE5\u5177\u540D\u3001\u4E0D\u6267\u884C\u5199\u64CD\u4F5C\u3002"
},
"evidence": [
{
"evidence_id": "pillow-jpeg-thumbnail-documentation-e1",
"evidence_type": "documentation",
"source_url": "https://pillow.readthedocs.io/en/stable/handbook/tutorial.html",
"locator": ".local/deep-cards-v1/graphics-parse-batch-20261024-06/sources/pillow-jpeg-thumbnail-documentation.txt:L239-L243",
"excerpt": "To load an image from a file, use the open() function\nin the Image module:\n\u003E\u003E\u003E from PIL import Image\n\u003E\u003E\u003E im = Image.open(\u0022hopper.ppm\u0022)\nIf successful, this function returns an Image object.",
"source_version": "documentation-sha256:204bf8fa0d5c7ce6cf4e584a711d5c93f0b92694e83ff6aaa7c82a0a9d1b24a1",
"content_sha256": "204bf8fa0d5c7ce6cf4e584a711d5c93f0b92694e83ff6aaa7c82a0a9d1b24a1",
"collected_at": "2026-10-20T11:07:07.654184\u002B00:00",
"profile_ids": [
"pillow-jpeg-thumbnail-documentation"
],
"covers": [
{
"key": "invocation_mode",
"value": "sdk"
},
{
"key": "execution_location",
"value": "local"
},
{
"key": "input_format",
"value": "image"
}
],
"execution": null
},
{
"evidence_id": "pillow-jpeg-thumbnail-documentation-e2",
"evidence_type": "documentation",
"source_url": "https://pillow.readthedocs.io/en/stable/handbook/tutorial.html",
"locator": ".local/deep-cards-v1/graphics-parse-batch-20261024-06/sources/pillow-jpeg-thumbnail-documentation.txt:L291-L303",
"excerpt": "Create JPEG thumbnails\u00B6\nimport os, sys\nfrom PIL import Image\nsize = (128, 128)\nfor infile in sys.argv[1:]:\n outfile = os.path.splitext(infile)[0] \u002B \u0022.thumbnail\u0022\n if infile != outfile:\n try:\n with Image.open(infile) as im:\n im.thumbnail(size)\n im.save(outfile, \u0022JPEG\u0022)\n except OSError:\n print(\u0022cannot create thumbnail for\u0022, infile)",
"source_version": "documentation-sha256:204bf8fa0d5c7ce6cf4e584a711d5c93f0b92694e83ff6aaa7c82a0a9d1b24a1",
"content_sha256": "204bf8fa0d5c7ce6cf4e584a711d5c93f0b92694e83ff6aaa7c82a0a9d1b24a1",
"collected_at": "2026-10-20T11:07:07.654184\u002B00:00",
"profile_ids": [
"pillow-jpeg-thumbnail-documentation"
],
"covers": [
{
"key": "invocation_mode",
"value": "sdk"
},
{
"key": "output_format",
"value": "jpeg"
}
],
"execution": null
}
]
}
],
"warnings": [
"\u8D44\u6599\u4E0E\u6765\u6E90\u58F0\u660E\u4E0D\u7B49\u4E8E\u672C\u7AD9\u5B9E\u6D4B\uFF1B\u672A\u5217\u51FA\u7684\u6761\u4EF6\u4ECD\u672A\u77E5\u3002",
"\u7ED3\u6784\u5316\u914D\u65B9\u53EA\u6309\u516C\u5F00\u58F0\u660E\u68C0\u67E5\u7EA6\u675F\u4E0E\u63A5\u53E3\uFF0C\u4E0D\u6267\u884C\u4EFB\u52A1\u6216\u6388\u4E88\u6743\u9650\uFF1B\u7F3A\u5931\u8BB0\u5F55\u4FDD\u6301\u672A\u77E5\uFF0C\u63A5\u53E3\u517C\u5BB9\u4E0D\u8BC1\u660E\u5B9E\u9645\u6210\u529F\u3002"
]
}
}