展开菜单
首页 精品内容 本月促销 装机必备 Windows PDF教程 macOS软件 IOS软件 Android AI 专题
全部分类

当前位置:

首页 > 编程开发 > 如何在Python中使用API?

如何在Python中使用API?

APIAPI:简单来说就是一组协议、一个工具或者一组规则,定义不同应用程序之间的通信方法,把具体实现的过程隐藏起来,只暴露必须调用的部分给开发者使用。上面的定义比较官方,这里简单举个例子来说明一下,比如在现在外面的麦当劳等快餐店都采取手机线上下单,前台拿餐的过程。而在这个过程,作为消费者通常在手机上选好对应的餐品然后点击下单付款,然后等待前台叫号拿餐即可。而这个过程具体怎么实现的我们并不知道,整个过程有对应的app或者小程序通信到厨房数据,然后厨师制作出餐。而这个APP和小程序就充当对应的API功能。举一

本文目录

    如何在Python中使用API?

    API

    API:简单来说就是一组协议、一个工具或者一组规则,定义不同应用程序之间的通信方法,把具体实现的过程隐藏起来,只暴露必须调用的部分给开发者使用。

    上面的定义比较官方,这里简单举个例子来说明一下,比如在现在外面的麦当劳等快餐店都采取手机线上下单,前台拿餐的过程。而在这个过程,作为消费者通常在手机上选好对应的餐品然后点击下单付款,然后等待前台叫号拿餐即可。而这个过程具体怎么实现的我们并不知道,整个过程有对应的app或者小程序通信到厨房数据,然后厨师制作出餐。而这个APP和小程序就充当对应的API功能。

    举一个简单的例子,一个社交平台它每天收到各种语言的评论信息,而作为对应的分析人员面对复杂的语言数据处理,是一个大难题,有人可能说开发一个模型来实现翻译整合功能,这个方法虽然听起来可行但是成本代价高,其次为了解决一个问题,而又去开发一个比较困难的问题。这个与原本的目标偏离越来越远,这个时候就可以借助国内比较成熟的翻译平台API,直接处理现有的数据。这样相对而言成本代价小,更便捷也更能快速实现现有的目标。而API的作用在这里就毋庸置疑了。

    数据接口

    数据接口: 简单来说就是一组封装的数据集口令,就是按照对应的规则发送相应的参数,然后返回对应的相关数据信息。API的调用和数据接口的这两个在日常调用时很类似的,相对而言API的范围更宽广,实现的功能也比较多,而数据接口日常充当的就是一个取数工具比较多。

    就比如说大型电商公司公司一般用统一的SKU来对商品进行管理,而比如这家公司是作为一个品牌商,它会在不同平台上面进行售卖,而在这些平台上面映射的商品标识ID就不同于公司的SKU。因为公司的SKU不仅基于商品而且还考虑各个地方仓库以及产品的各个型号,而这个映射相对而言就比较复杂。
    而在处理不同平台的数据人员一般也不能直接使用公司的数据库来对商品进行分析,因为颗粒度太细,分析起来比较复杂困难,这个时候就可以根据对应功能的要求让开发在现有系统是开发一个单独的数据接口提供相应的公司,避免直接请求数据库过程复杂等相应信息。但数据接口相对实时的数据库存在一定的延迟。

    API的调用和数据接口的调用

    API和数据接口通过前面的举例论述,大致理解起来也比较简单,而具体怎么实现API的调用和数据接口的调用这里简单介绍一下。
    简单来说API的调用和接口的调用都是类似一个HTTP请求,而调用最主要就是根据相应的规则将请求方式、请求头、URL、以及请求体封装好然后发送请求,就可以实现相应的调用。

    但数据接口和API两个的调用相比较而言来,一般数据接口比较简单,很多情况下数据接口是在公司内网数据访问所以请求信息比较简单,而API大多是第三方企业开发对外的服务属于一种商业服务,相对而言为了保证请求的安全,考虑的更为全面,加入了AK、SK、签名、时间戳等信息比较复杂。
    而追本溯源这两个调用都是类似HTTP请求,具体调用大致差不多,主要就是API调用中包含的请求参数的信息更多。而具体怎么实现下面将简单的介绍一下。

    调用的基础-请求方法

    一般而言,常见的HTTP请求调用方式有很多,这方面的资源比较多,可以网上自己查阅,这里就简单说说常见的两种请求方法。

    GET 请求

    GET请求简单来说就是从服务器上获取资源,可以载入到浏览器的缓存中。

    POST 请求

    POST请求一般而言以表单形式向服务器发送请求,请求参数包含在请求体当中可能导致资源的创建和改变。POST请求的信息不能缓存在浏览器中。
    这两个请求方法说起来很简单,但最重要的一点就是了解这两种请求的区别,从而为接口的设计和API的使用更加熟悉。

    GET和POST请求的区别

    1.GET请求请求长度最多1024kb,POST对请求数据没有限制。这一点原因是很多时候GET请求把对应的信息放在URL中,而URL的长度有限,导致GET请求的长度也受到一定的限制。而POST请求相应的参数信息放在请求体body中所以一般不受长度限制。
    2.POST请求比GET更安全一些,因为GET请求中URL包含了相应的信息,页面会被浏览器缓存,其他人可以看到相应的信息。
    3.GET产生一个TCP数据包,POST产生两个TCP数据包。
    GET请求的时候将header、data一起发送出去,然后服务器响应返回200。而POST则是先发送header,等待服务器响应100,然后发送data,最后服务器响应返回200.但在这里注意,POST请求分为两次,但是请求体body是紧随在header之后发送的,所以这之间时间可以微乎不计。
    4.GET请求只支持URL编码,而POST相对而言有多种编码方式。
    5.GET请求参数是通过URL传递的,多个参数以&连接,POST请求放在request body中。
    6.GET请求只支持ASCII字符,而POST没有限制。
    一般而言浏览器输入网址可以直接访问的一般是GET请求。

    Python实现GET请求和POST请求

    上面大篇幅的介绍了一些数据接口、API相关知识以及请求方法,使用起来比较简单,下面可以大致熟悉一下相应的请求方式。一般直接使用Python的request库就可以。

    GET请求
    import request
    # GET请求发送的参数一定要是字典的形式,可以发送多个参数。
    # 发送格式:{'key1':value1', 'key2':'value2', 'key3', 'value3'}
    # 样例不能运行
    url ='http://www.xxxxx.com'
    params = {'user':'lixue','password':111112333}
    requests.get(url,data = parms)
    POST请求

    POST请求一般有三种提交形式:application/x-www-form-urlencoded、multipart/form-data、application/json.
    具体查看是三种的哪一种请求方式:谷歌浏览器检查 → Network →选择加载文件 → Headers → Reuqest Headers → Content-Type
    具体编码方式为下面三种,可以了解具体的请求实现,一般公司内部的数据接口设置了局域网所以有的可以不需要加header。

    POST请求的三种提交形式

    1.最常见的post提交数据以form表单为主:application/x-www-form-urlencoded

    import request
    data={'k1':'v1','k2':'v2'}
    headers= {'user-agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.69 Safari/537.36'}
    requests.post(url,headers = headers,data=data)

    2.以json格式提交数据:application/json

    data = {'user':'lixue','password':12233}
    data_json = json.dumps(params)
    requests.post(url,headers = headers,data = data_json)

    3.一般用来传文件(爬虫很少用到):multipart/form-data

    files = {'files':open('c://xxx.txt','rb')}
    requests.post(url = url,headers = headers,files = files)
    一个简单API请求的实例

    通过上面简单的介绍,对于具体请求大致了解,这里搜集了一个简单的API聚合中心,提供了很多挺好用的功能。下面以这个简单API的作一个简单的示范API地址。
    这个小实例采取的是天气API接口获取近15天的天气。在使用这个API之前记得获取相应的apiKey和查看具体的使用文档。这个API网站一般对相应API提供一定的免费次数,可以充当学习使用,而且支持GET和POST请求。刚好可以适合练手。

    GET请求
    params = {
        "apiKey":'换成你的apikey',
        "area":'武汉市',
    }
    url = 'https://api.apishop.net/common/weather/get15DaysWeatherByArea'
    response = requests.get(url,params)
    print(response.text)
    POST请求

    这里的POST请求也就是对应上面的最常见的post提交数据以form表单为主:application/x-www-form-urlencoded

    url = 'https://api.apishop.net/common/weather/get15DaysWeatherByArea'
    params = {
        "apiKey":'换成你的apikey',
        "area":'武汉市武昌区',
    }
    response = requests.post(url,params)
    print(response.text)

    在调用这种API接口一般都需要进行一个状态码等返回信息测试,检查请求是否正常,可以按照下面的给出参考。

    params = {
        "apiKey":'换成你的apikey,
        "area":'武汉市',
    }
    url = 'https://api.apishop.net/common/weather/get15DaysWeatherByArea'
    response = requests.post(url,params)
    print(response.text)
    if response.status_code != 200:
        raise ConnectionError(f'{url} status code is {response.status_code}.')
    response = json.loads(response.content)
    if 'desc' not in response.keys():
        raise ValueError(f'{url} miss key msg.')
    if response['desc'] != '请求成功':
        print(11)
    数据提取

    其实API的调用很简单,但其中最核心的其实是返回信息中数据的抽取,一般而言返回的信息都是json形式,需要从中用字典键值对方式提取数据,下面这块根据请求的数据返回相应的信息并提取出来,获取信息后面将会展示。

    import requestsimport pandas as pd 
    import numpy as npimport jsondef get_url(area):
        url = 'https://api.apishop.net/common/weather/get15DaysWeatherByArea'
        params = {
            "apiKey":'换成你的apikey',
            "area":area,
        }
        response = requests.get(url,params)
        if response.status_code != 200:
            raise ConnectionError(f'{url} status code is {response.status_code}.')
        response = json.loads(response.content)
        if 'desc' not in response.keys():
            raise ValueError(f'{url} miss key msg.')
        if response['desc'] != '请求成功':
            print(11)
        return responsedef  extract_data(web_data):
        data= web_data['result']['dayList']
        weather_data = pd.DataFrame(columns = ['city','daytime','day_weather','day_air_temperature','day_wind_direction','day_wind_power',                                           'night_weather','night_air_temperature','night_wind_direction','night_wind_power'])
        for i in range(len(data)):
            city = data[i]["area"]
            daytime = data[i]["daytime"]
            daytime = daytime[:4]+'-'+daytime[4:6]+'-'+daytime[-2:]
            day_weather = data[i]["day_weather"]
            day_air_temperature = data[i]['day_air_temperature']
            day_wind_direction = data[i]["day_wind_direction"]
            day_wind_power = data[i]['day_wind_power']
            night_weather = data[i]['night_weather']
            night_air_temperature = data[i]["night_air_temperature"]
            night_wind_direction = data[i]['night_wind_direction']
            night_wind_power = data[i]["night_wind_power"]
            c = {"city": city,"daytime": daytime,"day_weather":day_weather,"day_air_temperature":day_air_temperature,
                 "day_wind_direction":day_wind_direction,"day_wind_power":day_wind_power,"night_weather":night_weather,
                 "night_air_temperature":night_air_temperature,"night_wind_direction":night_wind_direction,
                 "night_wind_power":night_wind_power}
            weather_data = weather_data.append(c,ignore_index = True)
        weather_data.to_excel(r"C:\Users\zhangfeng\Desktop\最近十五天天气.xlsx",index = None)
        return weather_dataif __name__ == '__main__':
        print("请输入对应的城市")
        web_data = get_url(input())
        weather_data = extract_data(web_data)

    部分结果如下图:
    如何在Python中使用API?

    数据接口实例

    在日常学习中数据接口的使用可能相对较少,数据接口的应用场景大多数情况下是应用在公司内部调取数据的情况下比较多,所以一般很少见到,这里展示工作中遇到的两个数据接口的使用,由于工作考虑,展示的代码属于样例,并不能调用。可以参考一下调用实现以及规范。

    POST请求调用数据接口
    # 销售状态查询def id_status(id_dir):
        id_data = pd.read_excel(id_dir,sheet_name="Sheet1") 
        id_data.columns = ['shop', 'Campaign Name','Ad Group Name','Item Id']  # 方便后期处理更改列名
        id_data["Item Id"] = id_data["Item Id"].astype(str)
        id_list = list(id_data['Item Id'])
        print(len(id_list))
        id_list = ','.join(id_list)
        if isinstance(id_list, int):
            id_list = str(id_list)
        id1 = id_list.strip().replace(',', ',').replace(' ', '')
        request_url = "http://xxx.com"
        # 通过item_id查询id状态
        params = {
            "item_id":id1,
        }
        data_json = json.dumps(params) # 属于POST第二种请求方式
        response = requests.post(request_url, data = data_json)
        print(response.text)
        if response.status_code != 200:
            raise ConnectionError(f'{request_url} status code is {response.status_code}.')
        response = json.loads(response.content)
        if 'message' not in response.keys():
            raise ValueError(f'{request_url} miss key msg.')
        if response['message'] != 'ok':
            print(11)
        data= response['result']
        ad_data = pd.DataFrame(columns = ['Item Id','saleStatusName'])
        for j in range(len(data)):
            item_id =data[j]["item_id"]
            saleStatusName = data[j]['saleStatusName']
            c = {"Item Id": item_id,
             "saleStatusName": saleStatusName,
             }
            ad_data = ad_data.append(c,ignore_index = True)
        total_data = pd.merge(ad_data,id_data,on ='Item Id', how ='left')
        df_column =  ['shop', 'Campaign Name','Ad Group Name','Item Id','saleStatusName']
        total_data = total_data.reindex(columns=df_column)
        return total_data
    GET请求调用数据接口
    ### 库存数据查询def Smart_investment_treasure(investment_dir):
        product_data = pd.read_excel(investment_dir,sheet_name="product")
        if len(product_data)>0:
            product_data['商品ID']=product_data['商品ID'].astype(str)
            product_list=list(product_data['商品ID'])
            product_id = ','.join(product_list)
        else:
            product_id='没有数据' 
        return product_id    
    def stock_query(investment_dir):
            product_data = pd.read_excel(investment_dir,sheet_name="product")
        if len(product_data)>0:
            product_data['商品ID']=product_data['商品ID'].astype(str)
            product_list=list(product_data['商品ID'])
            product_id = ','.join(product_list)
        else:
            product_id='没有数据' 
        if isinstance(product_id, int):
            product_id = str(id)
        product_id = product_id.strip().replace(',', ',').replace(' ', '')
        request_url = "http://xxx.com"
        # 通过ali_sku查询erpsku
        params = {
            "product_id":product_id,
        }
        
        response = requests.get(request_url, params) #属于GET请求
        if response.status_code != 200:
            raise ConnectionError(f'{request_url} status code is {response.status_code}.')
        response = json.loads(response.content)
        if 'msg' not in response.keys():
            raise ValueError(f'{request_url} miss key msg.')
        if response['msg'] != 'success':
            print(11)
        data= response['data']['data']
        # requestProductId = id.split(',')
        id_state=[]
        overseas_stock=[]
        china_stock=[]
        id_list=[]
        for j in range(len(data)):
            inventory_data= data[j]['list']
            overseas_inventory=0
            ep_sku_list=[]
            sea_test=0
            china_inventory=0
            test="paused"
            id_test=""
            id_test=data[j]['product_id']
            for i in range(len(inventory_data)):
                if inventory_data[i]["simple_code"] in ["FR","DE","PL","CZ","RU"] and inventory_data[i]["erp_sku"] not in ep_sku_list:
                    overseas_inventory+=inventory_data[i]["ipm_sku_stock"]
                    ep_sku_list.append(inventory_data[i]["erp_sku"])
                    sea_test=1
                elif inventory_data[i]["simple_code"] == 'CN':
                    china_inventory+=int(inventory_data[i]["ipm_sku_stock"])
            if overseas_inventory>30:
                test="open"
            elif overseas_inventory==0 and china_inventory>100:
                test="open"
            id_list.append(id_test)
            overseas_stock.append(overseas_inventory)
            china_stock.append(china_inventory)           
            id_state.append(test)
        c={"id":id_list,
           "id_state":id_state,
           "海外仓库存":overseas_stock,
           "国内大仓":china_stock       }
        ad_data=pd.DataFrame(c)
        return ad_data

    几种常见API调用实例

    百度AI相关API

    百度API是市面上面比较成熟的API服务,在大二期间由于需要使用一些文本打标签和图像标注工作了解了百度API,避免了重复造轮子,当时百度API的使用比较复杂,参考文档很多不规范,之前也写过类似的百度API调用极其不稳定,但最近查阅了百度API参考文档,发现目前的调用非常简单。
    通过安装百度开发的API第三方包,直接利用Python调包传参即可使用非常简单。这里展示一个具体使用,相应安装第三方库官方文档查阅。

    '''
    第三方包名称:baidu-aip 
    百度API 
    """ 你的 APPID AK SK """
    APP_ID = '你的 App ID'
    API_KEY = '你的 Api Key'
    SECRET_KEY = '你的 Secret Key'
    参考文档:https://ai.baidu.com/ai-doc/NLP/tk6z52b9z
    '''
    from aip import AipNlp
    APP_ID = 'xxxxxx'
    API_KEY = '换成你的apikey'
    SECRET_KEY = '换成你的SECRET_KEY'
    client = AipNlp(APP_ID, API_KEY, SECRET_KEY)
    text = "我还没饭吃"
    # 调用文本纠错 
    client.ecnet(text)

    如何在Python中使用API?

    百度地图API

    这个API当时为了设计一个推荐体系引入经纬度换算地址,这样为数据计算带来极大的方便,而且对于一般人来说文本地址相比经纬度信息更加直观,然后结合Python一个第三方包实现两个地址之间经纬度计算得出相对的距离。

    # https://lbsyun.baidu.com/
    # 计算校验SN(百度API文档说明需要此步骤)
    import pandas as pd
    import numpy as np
    import warnings
    import requests
    import urllib
    import hashlib
    import json
    from geopy.distance import geodesic
    location = input("输入所在的位置\n")  # "广州市天河区"
    ak = "ak1111" # 参照自己的应用
    sk = "sk111111" # 参照自己的应用
    url = "http://api.map.baidu.com"
    query = "/geocoding/v3/?address={0}&output=json&ak={1}&callback=showLocation".format(location, ak)
    encodedStr = urllib.parse.quote(query, safe="/:=&?#+!$,;'@()*[]")
    sn = hashlib.md5(urllib.parse.quote_plus(encodedStr + sk).encode()).hexdigest()
    # 使用requests获取返回的json
    response = requests.get("{0}{1}&sn={2}".format(url, query, sn))
    data1=response.text.replace("showLocation&&showLocation(","").replace(")","")
    data = json.loads(data1)
    print(data)
    lat = data["result"]["location"]["lat"]
    lon = data["result"]["location"]["lng"]
    print("纬度: ", lat, " 经度: ", lon)
    distance=geodesic((lat,lon), (39.98028,116.30495))
    print("距离{0}这个位置大概{1}".format(location, distance))

    如何在Python中使用API?

    有道API

    在网上查阅了很多API,前面介绍的几种API,他们携带的请求参数信息相对比较简单,调用实现和基础请求没啥区别,这里找了一个相对而言比较多的请求参数的API,相对而言这种API数据付费API,它的安全性以及具体的实现都相对复杂,但是更适合商用。下面可以简单看看。

    import requests
    import time
    import hashlib
    import uuid
    youdao_url = 'https://openapi.youdao.com/api'   # 有道api地址
    translate_text = "how are you!"
    input_text = ""
    # 当文本长度小于等于20时,取文本
    if(len(translate_text) <= 20):
        input_text = translate_text    
    # 当文本长度大于20时,进行特殊处理
    elif(len(translate_text) > 20):
        input_text = translate_text[:10] + str(len(translate_text)) + translate_text[-10:]
    
    uu_id = uuid.uuid1()
    now_time = int(time.time())
    app_id = '1111111'
    app_key = '11111111111'
    sign = hashlib.sha256((app_id + input_text + str(uu_id) + str(now_time) + app_key).encode('utf-8')).hexdigest()   # sign生成
    data = {
        'q':translate_text,   # 翻译文本
        'from':"en",   # 源语言
        'to':"zh-CHS",   # 翻译语言
        'appKey':app_id,   # 应用id
        'salt':uu_id,   # 随机生产的uuid码
        'sign':sign,   # 签名
        'signType':"v3",   # 签名类型,固定值
        'curtime':now_time,   # 秒级时间戳
    }
    r = requests.get(youdao_url, params = data).json()   # 获取返回的json()内容
    print("翻译后的结果:" + r["translation"][0])   # 获取翻译内容

    翻译后的结果:你好!
    这个API调用中引用了几个真正商用中的一些为了安全性等设置的验证信息,比如uuid、sign、timestamp,这几个在API调用中也是老生常谈的几个概念,是比较全面的。下面简单介绍一下。

    uuid

    uuid码:UUID是一个128比特的数值,这个数值可以通过一定的算法计算出来。为了提高效率,常用的UUID可缩短至16位。UUID用来识别属性类型,在所有空间和时间上被视为唯一的标识。一般来说,可以保证这个值是真正唯一的任何地方产生的任意一个UUID都不会有相同的值。使用UUID的一个好处是可以为新的服务创建新的标识符。是一种独特的唯一标识符,python 第三方库uuid 提供对应的uuid生成方式,有以下的几种 uuid1(),uuid3(),uuid4(),uuid5()上面采用的是uuid1()生成,还可以使用uuid4()生成。

    sign

    sign:一般为了防止被恶意抓包,通过数字签名等保证API接口的安全性。为了防止发送的信息被串改,发送方通过将一些字段要素按一定的规则排序后,在转化成密钥,通过加密机制发送,当接收方接受到请求后需要验证该信息是否被篡改过,也需要将对应的字段按照同样的规则生成验签sign,然后在于后台接收到的进行比对,可以发现信息是否被串改过。在上面的例子利用hashlib.sha256()来进行随机产生一段密钥,最后使用.hexdigest()返回最终的密钥。
    curtime:引入一个时间戳参数,保证接口仅在一分钟内有效,需要和客户端时间保持一致。避免重复访问。

    本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系bd@zhengruan.com
    作者最新文章
    编程开发 Python API
    相关文章 更多
    精品专题 更多
    装机必备

    正软商城装机必备专区,精选办公、浏览器、安全防护、影音播放、压缩解压、设计创作和系统工具等电脑常用正版软件,帮助用户快速完成新电脑软件配置。

    Windows

    正软商城Windows软件专区,汇集适用于Windows电脑的办公、设计、安全防护、影音播放、开发工具和系统优化软件,提供软件介绍、系统要求、正版授权及购买下载服务。

    PDF教程

    正软商城PDF教程频道提供PDF编辑、转换、合并、拆分、压缩及格式处理方法,同时介绍常用PDF软件和工具的使用技巧。

    macOS软件

    正软商城macOS软件专区,精选适用于Mac电脑的办公、设计、影音、效率、开发和系统工具,提供软件功能介绍、macOS兼容版本、正版授权及购买下载服务。

    IOS软件

    正软商城iOS软件专区,精选适用于iPhone和iPad的办公、学习、影音、设计、效率及AI应用,提供功能介绍、适用设备、系统要求和正版获取方式等信息。

    AI

    正软商城AI软件专区,汇集AI写作、AI绘画、AI视频、AI办公、AI编程、AI翻译、智能客服和数据分析等人工智能工具,提供功能介绍、适用平台、收费方式及正版购买信息。

    Mac软件 更多
    Aperty macOS版
    Aperty macOS版

    Aperty 是 Skylum 推出的 AI 人像修图软件,支持自然肤质修饰、瑕疵处理、面部与身体调整、预设及批量同步。

    火山引擎 网页版
    火山引擎 网页版

    火山引擎是字节跳动旗下企业级云与AI服务平台。聚焦大模型核心能力,依托字节自研豆包多模态大模型,凭借火山方舟一站式平台,提供模型精调、推理部署、智能应用搭建等全链路服务,结合高性能AI算力,助力各行业快速落地大模型数字化与智能化应用。

    立刻MV 网页版
    立刻MV 网页版

    立刻MV 面向音乐人、内容创作者和品牌团队,帮助用户低成本完成歌曲 MV、歌词视频、AI 分镜、图生视频与最终合成。

    蛙蛙写作 网页版
    蛙蛙写作 网页版

    蛙蛙写作 AI 创作工具,覆盖小说、剧本、文案,一键生成文稿,打通文字转视频全流程,高效解决创作难题。

    讯飞智作 网页版
    讯飞智作 网页版

    讯飞智作是一款基于语音合成技术、虚拟人驱动技术与数字人形象声音构建能力的 AI 数字人音视频创作平台。

    超级简历WonderCV 网页版
    超级简历WonderCV 网页版

    超级简历WonderCV是面向应届生和AI小白的智能求职平台,覆盖简历、面试与职业规划。

    音述AI 网页版
    音述AI 网页版

    音述AI,是一个以“用声音述说故事”为核心的 AI 音乐创作与声音分享社区。

    AionClaw macOS版
    AionClaw macOS版

    AionClaw 是可在桌面端运行的任务型 AI 助手,通过数字专家与技能市场组合办公、创作、数据和开发能力。

    Loomy macOS版
    Loomy macOS版

    Loomy 是科大讯飞推出的桌面 AI 助手,可通过对话、任务与工作目录协助处理办公、内容创作和资料整理。

    AirBuddy 3 macOS版
    AirBuddy 3 macOS版

    AirBuddy 3 是面向 macOS 的蓝牙外设增强工具,可集中查看 AirPods、Beats 与苹果设备电量,提供快速连接、播放控制、电量提醒、桌面小组件和多台 Mac 外设接力等功能。

    AirServer macOS版
    AirServer macOS版

    AirServer macOS版可把 Mac 转换为无线投屏接收端,通过 AirPlay 或 Google Cast 接收手机、平板和电脑画面,并支持多设备同时连接、高清镜像及会话录制,适合家庭娱乐、课堂教学、会议演示和应用展示。

    AnyDesk macOS版
    AnyDesk macOS版

    AnyDesk macOS版是一款适用于远程办公、设备维护和客户支持的远程桌面工具,可连接并操作异地计算机,支持文件传输、无人值守访问、会话权限控制及跨平台协作。

    WINDOWS 更多
    讯飞绘文 网页版
    讯飞绘文 网页版

    讯飞绘文网页版是科大讯飞推出的AI图文创作与内容运营工具,覆盖热点选题、文章生成、稿件校对、智能配图、排版发布和数据复盘等环节,适合自媒体创作者及内容团队在线使用。

    Maya(Autodesk Maya) Windows版
    Maya(Autodesk Maya) Windows版

    Autodesk Maya 是面向影视、电视、动画和游戏行业的专业三维制作软件,集多边形与 NURBS 建模、角色绑定、关键帧和动作捕捉动画、Bifrost 特效模拟、材质开发及 Arnold 渲染于一体,

    Aperty Windows版
    Aperty Windows版

    Aperty 是 Skylum 推出的 AI 人像修图软件,支持自然肤质修饰、瑕疵处理、面部与身体调整、预设及批量同步。

    火山引擎 网页版
    火山引擎 网页版

    火山引擎是字节跳动旗下企业级云与AI服务平台。聚焦大模型核心能力,依托字节自研豆包多模态大模型,凭借火山方舟一站式平台,提供模型精调、推理部署、智能应用搭建等全链路服务,结合高性能AI算力,助力各行业快速落地大模型数字化与智能化应用。

    立刻MV 网页版
    立刻MV 网页版

    立刻MV 面向音乐人、内容创作者和品牌团队,帮助用户低成本完成歌曲 MV、歌词视频、AI 分镜、图生视频与最终合成。

    蛙蛙写作 网页版
    蛙蛙写作 网页版

    蛙蛙写作 AI 创作工具,覆盖小说、剧本、文案,一键生成文稿,打通文字转视频全流程,高效解决创作难题。

    讯飞智作 网页版
    讯飞智作 网页版

    讯飞智作是一款基于语音合成技术、虚拟人驱动技术与数字人形象声音构建能力的 AI 数字人音视频创作平台。

    超级简历WonderCV 网页版
    超级简历WonderCV 网页版

    超级简历WonderCV是面向应届生和AI小白的智能求职平台,覆盖简历、面试与职业规划。

    音述AI 网页版
    音述AI 网页版

    音述AI,是一个以“用声音述说故事”为核心的 AI 音乐创作与声音分享社区。

    AionClaw Windows版
    AionClaw Windows版

    AionClaw 是可在桌面端运行的任务型 AI 助手,通过数字专家与技能市场组合办公、创作、数据和开发能力。

    Loomy Windows版
    Loomy Windows版

    Loomy 是科大讯飞推出的桌面 AI 助手,可通过对话、任务与工作目录协助处理办公、内容创作和资料整理。

    AirServer Windows版
    AirServer Windows版

    AirServer Windows版可把电脑变成AirPlay、Google Cast和Miracast无线投屏接收端,适合会议演示、课堂教学及家庭大屏分享。发送设备通常无需另装客户端,并可同时接收和智能排列多个镜像会话。