Pika视频生成API集成指南

1 阅读5分钟

本文将介绍如何集成Pika视频生成API,利用该API通过自定义参数生成官方Pika视频。无论是图文转视频,还是视频转视频,都可以通过简单的API调用实现。

申请流程

要使用Pika视频生成API,首先需要在 Pika视频生成API 页面申请服务。在该页面,点击“获取”按钮即可申请。

如果你没有登录或注册,系统会自动跳转到登录页面,完成登录或注册后会返回到当前页面。

首次申请时,你将获得免费的API调用配额。

基本用法

了解API的基本使用方法,涉及传入以下参数:promptactionimage_url(参考图像链接)、model等,生成对应的视频结果。首先,你需要设置action字段的值为generate,然后选择使用的模型。目前,文本到视频(text-to-video)仅支持模型1.5,具体配置如下:

请求头包含以下字段:

  • accept:指定返回结果格式,填写application/json表示返回JSON格式。
  • authorization:API调用所需的密钥,可以在申请后直接获取。

请求体包括以下字段:

  • model:视频生成所用模型,支持2.01.5,文本到视频仅支持1.5,视频到视频仅支持2.0
  • action:表示此次视频生成任务的操作类型,当前仅支持generate
  • effect:选择生成视频时使用的效果,效果列表见文末模板说明。
  • image_url:上传的参考图像链接或Base64编码的图像。
  • video_url:在视频到视频模式下使用的参考视频链接。
  • aspect_ratio:视频的宽高比,图像模式下无需传递;视频模式下需要传入该参数。
  • prompt:文本提示,生成视频的基础内容。
  • negative_prompt:用于排除的提示语,避免不想要的内容。
  • callback_url:接收回调结果的URL。

提交请求后,右侧会生成相应的代码,方便开发者调用。

点击“尝试”按钮进行测试,返回的JSON结果如下:

{
  "success": true,
  "task_id": "1bc50b89-ce4e-4046-8297-0a2f39ed89ea",
  "trace_id": "b7dd6242-9367-4b49-b0af-f7748ab14447",
  "data": [
    {
      "id": "39a8723a-de78-4e7b-a2bd-59116c3d5d61",
      "state": "complete",
      "prompt": "moving",
      "model": "1.5",
      "quality": "720p",
      "video_url": "https://cdn.pika.art/v1/39a8723a-de78-4e7b-a2bd-59116c3d5d61/moving_seed1223321842.mp4",
      "image_url": "https://cdn.pika.art/v1/39a8723a-de78-4e7b-a2bd-59116c3d5d61/poster.jpg",
      "duration": 5
    }
  ]
}

返回的结果包含多个字段:

  • success:任务是否成功。
  • task_id:视频生成任务ID。
  • trace_id:生成视频的跟踪ID。
  • data:视频生成任务的结果列表。
    • id:视频ID。
    • image_url:视频封面图链接。
    • video_url:生成的视频链接。
    • duration:视频时长。
    • state:任务状态。

通过访问返回的video_url,即可查看生成的Pika视频。

你还可以直接复制生成的集成代码,例如CURL命令如下:

curl -X POST 'https://api.acedata.cloud/pika/videos' \
-H 'accept: application/json' \
-H 'authorization: Bearer {token}' \
-H 'content-type: application/json' \
-d '{
  "action": "generate",
  "effect": "Ta-da",
  "prompt": "moving",
  "model": "1.5"
}'

视频到视频任务

如果你希望进行视频到视频的转换,必须传入video_url作为参考视频链接,此时model仅支持2.0。可以指定以下内容:

  • effect:选择用于视频到视频任务的效果,支持的效果有“Pink Hair”、“Its Computer”等。
  • model:用于生成视频的模型,视频到视频任务只支持2.0
  • video_url:参考视频的链接。

填写后,代码会自动生成如下:

import requests

url = "https://api.acedata.cloud/pika/videos"

headers = {
    "accept": "application/json",
    "authorization": "Bearer {token}",
    "content-type": "application/json"
}

payload = {
    "action": "generate",
    "effect": "Pink Hair",
    "prompt": "moving",
    "model": "2.0",
    "video_url": "https://cdn.acedata.cloud/0slqxa.mp4"
}

response = requests.post(url, json=payload, headers=headers)
print(response.text)

运行后,你将立刻获得类似以下的结果:

{
  "success": true,
  "task_id": "a852042b-987b-4378-8699-7c2d33b4f36d",
  "trace_id": "49944c40-e948-4640-a1b3-732379883203",
  "data": [
    {
      "id": "d4472f11-bbce-4512-8054-cab1c04e3a8b",
      "state": "complete",
      "prompt": "Pink Hair",
      "model": "Pro",
      "quality": "1080p",
      "video_url": "https://cdn.pika.art/v1/d4472f11-bbce-4512-8054-cab1c04e3a8b/Pink_Hair_seed776225645.mp4",
      "image_url": "https://cdn.pika.art/v1/d4472f11-bbce-4512-8054-cab1c04e3a8b/poster.jpg",
      "duration": 5.04
    }
  ]
}

异步回调

由于视频生成时间较长(约1-2分钟),若API长时间未响应,HTTP请求将保持连接,导致系统资源消耗。因此,Pika视频生成API支持异步回调。

工作流程如下:客户端发起请求时,可指定callback_url字段。在生成任务完成后,结果将通过POST JSON的形式返回给客户端的回调地址。

示例:使用公共Webhook网站 Webhook.site 来接收回调。

复制Webhook URL,如 https://webhook.site/3d32690d-6780-4187-a65c-870061e8c8ab,并设置callback_url字段。提交请求后,系统将返回任务ID,稍后通过Webhook接收生成的结果。

回调结果如下所示:

{
    "success": true,
    "task_id": "c372e7bc-1877-4b6d-9732-e1b9e16c06c0",
    "trace_id": "781cc036-926b-44d2-83ea-4045bf8e85d4",
    "data": [
        {
            "id": "458d50a4-43d1-4339-927a-c2f7d43fa570",
            "video_url": "https://cdn.pika.art/v1/458d50a4-43d1-4339-927a-c2f7d43fa570/moving_seed3878215573.mp4",
            "image_url": "https://cdn.pika.art/v1/458d50a4-43d1-4339-927a-c2f7d43fa570/thumbnail.jpg",
            "duration": 5,
            "state": "succeeded"
        }
    ]
}

常见错误处理

API调用时,如果发生错误,会返回相应的错误码和错误信息。例如:

  • 400 token_mismatched:请求错误,可能是参数缺失或无效。
  • 401 invalid_token:未授权,API密钥无效或缺失。
  • 429 too_many_requests:请求过多,已超过请求限制。
  • 500 api_error:服务器错误。

错误响应示例:

{
  "success": false,
  "error": {
    "code": "api_error",
    "message": "fetch failed"
  },
  "trace_id": "2cf86e86-22a4-46e1-ac2f-032c0f2a4e89"
}

总结

通过本文的介绍,你已经学会如何通过Pika视频生成API生成视频内容。无论是图文转视频还是视频转视频,都可以通过简单的API调用完成,极大地提升了开发者的工作效率。如果你在集成过程中有任何问题,欢迎联系技术支持团队。

技术标签:Pika视频生成、API集成、异步回调、视频生成、开发实践