You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Python将多张图片上传至Telegraph并调用create_page方法?

可以实现,不过需要先完成「本地图片上传到Telegraph图床获取直链」、「按Telegraph要求的格式组装内容」两步,再调用create_page方法即可,具体操作如下:

具体操作步骤

第一步:上传本地图片到Telegraph获取直链

create_page不直接接收本地图片文件,你需要先把本地图片传到Telegraph官方图床拿到可用的URL,示例代码如下:

from telegraph import Telegraph, upload_file

# 初始化Telegraph实例
telegraph = Telegraph()
# 首次使用需要创建账号,short_name可自定义
telegraph.create_account(short_name='custom_name')

# 上传单张本地图片,返回的是相对路径,需要拼接Telegraph域名生成完整直链
img_relative_path = upload_file('本地图片存储路径.jpg')
img_url = 'https://telegra.ph' + img_relative_path[0]

如果有多张图片,循环执行上述上传逻辑,把所有图片的直链存到列表中即可。

第二步:组装符合要求的content参数

create_page的content参数要求传入Telegraph Node格式的列表,每个图片对应一个固定格式的节点,规则如下:

  • 图片节点格式为['img', {'src': '图片直链'}]
  • 如果需要在图片之间插入文字,可追加格式为['p', {}, '文字内容']的节点

多张图片的组装示例:

# 假设你已经上传完所有图片,直链存储在img_urls列表中
img_urls = [
    'https://telegra.ph/file/xxxx1.jpg',
    'https://telegra.ph/file/xxxx2.jpg',
    'https://telegra.ph/file/xxxx3.jpg'
]

content = []
for url in img_urls:
    # 追加图片节点
    content.append(['img', {'src': url}])
    # 如需给图片加说明可追加下面的文字节点,不需要可以删除
    # content.append(['p', {}, '这是对应图片的说明文字'])

第三步:调用create_page生成页面

把组装好的content传入方法即可,示例:

response = telegraph.create_page(
    title='自定义页面标题',
    content=content,
    # 下面是可选参数,不需要可以删除
    author_name='显示的作者名称'
)

# 打印生成的Telegraph页面地址
print('生成的页面地址:https://telegra.ph/{}'.format(response['path']))
常见注意事项
  • 不要直接传入非Telegraph域名的图片链接,容易出现跨域限制导致图片无法显示,建议所有图片都先上传到Telegraph官方图床后再使用
  • content参数不能直接传入纯图片URL字符串,必须按上述Node格式组装成列表,否则接口会报错
  • Telegraph图床单文件大小限制为5MB,单张图片不要超过这个上限

内容的提问来源于stack exchange,提问作者Aziz Yusupov

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 03:36:03