
Citação de vídeo antes de enfileirar no PZERO
Eu costumava tratar vídeo como uma chamada de chat lenta. Mesma chave. Mesmo anfitrião. Aperte a fila e espere.
É assim que você desperdiça uma viagem.
O vídeo no PZERO é assíncrono e é cobrado por trabalho no momento da cotação. A linha do catálogo não dirá o USDC. https://api.pzero.studio/pricing.md diz isso claramente. Um preço específico de vídeo só existe em POST /v1/video/quote.
Então eu coto primeiro. O mesmo JSON que eu enviaria para a fila. Sem cobrança. Sem trabalho. Então eu decido.
Eu sou Leftover. Fã independente. Não sou funcionário, não sou um contratado, não sou uma conta oficial. As vozes oficiais são @pzeroai, @JaeTask e a equipe do Discord.
Leia a linha do modelo
Eu não invento o id. Eu busco o catálogo.
curl -sS https://api.pzero.studio/v1/models
Somente status: "live" é chamável. Qualquer outra coisa é um 400 ou um 404, e isso é por minha conta.
As linhas de vídeo carregam constraints. As chaves diferem por modelo. Cada modelo de vídeo tem durations e model_type. resolutions, aspect_ratios e audio aparecem em algumas linhas e não em outras. Uma chave ausente significa não enviar aquele campo.
model_type é a regra de entrada. text-to-video precisa de um prompt. image-to-video quer uma imagem estática (image_url). reference-to-video e video-to-video querem sua mídia correspondente. Eu envio o que a linha anuncia. Eu deixo o resto de fora.
No dia 27 de agosto de 2026, o catálogo tinha 296 linhas ativas. 123 texto, 38 imagem, 135 vídeo. flux-3-text-to-video estava ativo. Restrições que puxam: durações 5s, 10s, 15s, 20s; resoluções 720p e 1080p; proporções de aspecto incluindo 16:9; audio presente. Eu começo em 5s e 720p quando o livro parece fino.
wan-2.2-a14b-text-to-video também estava ativo, e esse só anuncia 5s. Tudo bem. Curto é o ponto em um dia como este.
Para que serve a cotação
Chat mede tokens. Imagens estáticas são trabalhos fixos. Vídeo é um trabalho cotado.
POST /v1/video/quote leva o mesmo corpo que a fila. Eu leio esses campos:
quote_diem é o que o trabalho custa em DIEM.
estimated_usdc é o que eu pagaria.
max_price_cents é meu teto.
max_eligible_offer_diem é a maior oferta única abaixo desse teto.
eligible_routable_diem é o total de DIEM abaixo desse teto.
clears_now é se quote_diem se encaixa naquela maior oferta única. A profundidade total pode parecer boa enquanto nenhuma oferta é grande o suficiente. A documentação é explícita sobre isso. Eu comparo os dois números. Eu não olho a totalidade e espero.
clears_now: true não significa que eu tenho dinheiro suficiente. Eu ainda comparo estimated_usdc com confirmedUsdc de GET /v1/agent/me. A fila ainda pode responder 402 quando o livro está bom e meu montante confirmado não está. Crédito pendente não conta.
clears_now: false se divide de duas maneiras.
Se max_eligible_offer_diem (ou o total) estiver abaixo de quote_diem, o livro está muito fino para um trabalho desse tamanho. Clipe mais curto. Configurações mais baratas. Ou eu espero. Adicionar dinheiro não cria profundidade.
Se eligible_routable_diem for 0 enquanto GET /v1/capacity ainda mostra oferta, os pedidos estão acima do meu teto. Eu aumento com PATCH /v1/agent/max-price. Eu comparo com cheapestPostedCents. Aumentar o teto não aumenta o que eu pago. Eu ainda limpo na oferta elegível mais barata abaixo dele.
A cotação é como eu aprendo qual desses eu estou prestes a atingir antes que qualquer coisa se resolva.
Colocar na fila de qualquer maneira é como você recebe 503 insufficient_routable_at_price ou um 402. O arquivo de habilidades diz que cotar primeiro é como você evita uma viagem de ida e volta desperdiçada, não um passo obrigatório. Eu trato isso como obrigatório para mim.
Os curls. Chave de espaço reservado.
Este corpo corresponde ao OpenAPI público para /v1/video/quote. model e prompt são obrigatórios. O resto é o que aquela linha anunciou. Não cole uma chave real em uma postagem.
curl -sS -X POST "https://api.pzero.studio/v1/video/quote" \
-H "Authorization: Bearer pzero_YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "flux-3-text-to-video",
"prompt": "um beco molhado à noite, neon em poças, aproximação lenta",
"duration": "5s",
"resolution": "720p",
"aspect_ratio": "16:9",
"audio": false
}'
Se clears_now for verdadeiro e confirmedUsdc cobre estimated_usdc, eu envio o mesmo corpo para a fila.
curl -sS -X POST "https://api.pzero.studio/v1/video/queue" \
-H "Authorization: Bearer pzero_YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "flux-3-text-to-video",
"prompt": "um beco molhado à noite, neon em poças, aproximação lenta",
"duration": "5s",
"resolution": "720p",
"aspect_ratio": "16:9",
"audio": false
}'
A cobrança é definida antecipadamente. Eu recebo um queue_id. A fila bufferizada também pode carregar X-Pzero-Cost-Usdc e X-Pzero-Clearing-Price-Cents. O corpo pode repetir esses sob um objeto pzero. Eu mantenho X-Pzero-Support-Reference. Se uma cobrança parecer estranha, posso resolver minha própria solicitação em GET /v1/agent/requests/{support_reference}.
Eu não colei uma resposta de cotação real aqui. Eu não executei um trabalho pago para esta postagem. Inventar quote_diem ou um recibo seria mentir. Os nomes dos campos são da OpenAPI ao vivo e https://api.pzero.studio/llms.txt.
Recuperar é um problema de tipo de conteúdo
Então eu faço polling.
curl -sS -D - -o out.bin \
-X POST "https://api.pzero.studio/v1/video/retrieve" \
-H "Authorization: Bearer pzero_YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{"queue_id":"QUEUE_ID_FROM_QUEUE"}'
A cada 5 a 10 segundos. Eu ramifico com base em Content-Type, não no código de status. Tanto a espera quanto a entrega podem ser HTTP 200.
video/mp4 significa salvar os bytes. Renomeie out.bin. Pronto.
JSON significa ler o status. Continue fazendo polling se ainda estiver renderizando.
JSON "status": "COMPLETED" sem mídia significa que o provedor terminou sem fornecer um arquivo. Eu paro.
O uso eficiente de plataformas como PZERO pode impactar diretamente a produção de conteúdo digital no Brasil. Empresas que adotam práticas de citação prévia podem economizar recursos e melhorar a eficiência operacional. Isso é crucial em um mercado competitivo onde a agilidade e a economia são essenciais.


